UbuntuでApacheを設定する
Ubuntu 20.04にApache Webサーバーをインストールする方法
php
php
code:php
sudo apt install php php-fpm
sudo apt install apache2
php -i | grep php.ini
php5 に変更する手順
ppa:ondrej/phpを追加する
code:php5
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php5.6 php5.6-mysql php5.6-mbstring
sudo apt-get install -y php-gettext php-mbstring php-xdebug libapache2-mod-php5.6 php5.6-xml
code:swich php
sudo a2dismod php7
sudo a2enmod php5.6
--------------
-------------------------------
Apache2
phpの設定ファイルはここにあった
/etc/php/7.2/apache2/php.ini
php各モジュールのファイルはここにある
/etc/php/7.2/mods-available/
バーチャルホスト→sites-available/で設定。
a2enmod, a2dismod
モジュールを有効化,無効化
a2ensite
siteを有効化,無効化
code:a2ensite
sudo a2ensite example.com.conf
sudo a2dissite 000-default.conf
rewrite moduleを使用する場合
code:mod.sh
sudo a2enmod rewrite
VirtualHost
ベーシック認証
code:conf
<VirtualHost *:80>
ServerName sample.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/sample.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/sample.com>
DirectoryIndex index.html index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory "/var/www/sample.com">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
</virtualhost>
digitalocean blog
reverse proxy
Load Balancing
code:apache_proxy.sh
sudo a2enmod rewrite
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
proxy
code:proxy.conf
<VirtualHost *:80>
ServerName example.com
ProxyPreserveHost On
<IfModule proxy_module>
ProxyPreserveHost On
</IfModule>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
ProxyPreserveHost makes Apache pass the original Host header to the backend server. This is useful, as it makes the backend server aware of the address used to access the application.
ProxyPass is the main proxy configuration directive. In this case, it specifies that everything under the root URL (/) should be mapped to the backend server at the given address. For example, if Apache gets a request for /example, it will connect to http://your_backend_server/example and return the response to the original client. ProxyPassReverse should have the same configuration as ProxyPass. It tells Apache to modify the response headers from backend server. This makes sure that if the backend server returns a location redirect header, the client’s browser will be redirected to the proxy address and not the backend server address, which would not work as intended.
FollowSymLinks
symlinkを辿れるようにする
code:documentroot
<Directory /var/www/html>
DirectoryIndex index.html index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
code:basic.conf
ネット空間の場合
<Location "/">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Location>
Directoryの場合
<Directory "/var/www/html">
<Directory>
Wordpress インストール
Wordpressインストールに必要なモジュール
code:sh
sudo apt update
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-mysql
sudo apt install php-mysqli
Symfony設定
SetHandler proxy:unix:/var/run/php/php8.3-fpm.sock|fcgi://dummy
fcgi://dummyは形式的なものらしい。
ps -ylC php-fpm8.3 --sort:rss
php-fpmのプロセス確認
------
以下は、必要になった時やれば良いと思う
mod_evasive
過剰なリクエスト対策
----
sudo apache2 -t
構文チェック
apachectl configtest
設定のシンタックスチェック
実際の環境に基づいたテストが可能みたい
apache2 -t より、こっち
PHPMyAdminの設定