Contents
1.Apache2のインストールとバーチャルホスト設定
1.1 Apache2インストール
①httpdをインストール
1 2 3 4 5 6 |
# pacman -S apache バージョン確認 # httpd -v Server version: Apache/2.4.59 (Unix) Server built: Apr 10 2024 00:40:47 |
1.2 Apache の設定
①httpd.conf ファイルを編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_bak # vim /etc/httpd/conf/httpd.conf ●223行目 : 管理者アドレス指定 ServerAdmin [Email Address] ●234行目あたりServerName の追加 「#ServerName www.example.com:80」の下に「ServerName ドメイン名」を追加 ●271行目 : 変更 (Indexes は削除) Options FollowSymLinks ●278行目 : 変更 AllowOverride All ●291行目 : ディレクトリ名のみでアクセスできるファイル名 「index.php index.cgi 」を追加する ●最終行に追記 ServerTokens Prod |
②ファイアウォール を有効にしている場合は HTTP サービスの許可が必要。HTTP は [80/TCP] を使用します
1 2 |
# ufw allow http # ufw reload |
③Apache の自動起動設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# systemctl start httpd # systemctl enable httpd # systemctl status httpd ● httpd.service - Apache Web Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled) Active: active (running) since Wed 2024-05-08 08:58:45 JST; 13s ago Main PID: 1782 (httpd) Tasks: 82 (limit: 4630) Memory: 6.6M (peak: 7.4M) CPU: 27ms CGroup: /system.slice/httpd.service tq1782 /usr/bin/httpd -k start -DFOREGROUND tq1784 /usr/bin/httpd -k start -DFOREGROUND tq1785 /usr/bin/httpd -k start -DFOREGROUND mq1786 /usr/bin/httpd -k start -DFOREGROUND May 08 08:58:45 Lepard systemd[1]: Started Apache Web Server. |
④動作確認
Test Pageとして新規にindex.htmlファイルを作成し、apacheの動作確認
1 2 3 4 5 6 7 8 9 |
HTML テストページを作成 # vim /srv/http/index.html <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Apache Test Page </div> </body> </html> |
http://[サーバーIPアドレス] にアクセスすると下記のようにTest Page が表示されればOK
1.3 バーチャルホストの設定
バーチャルホストで運用するドメイン名 [FQDN] を、ドキュメントルート[/srv/[FQDN]] ディレクトリに割り当てて設定します
1 2 |
# mkdir /srv/[FQDN] # mkdir /etc/httpd/conf/vhosts |
バーチャルホスト設定ファイル作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# vim /etc/httpd/conf/vhosts/[FQDN] #バーチャルホストのドメインの設定 <VirtualHost *:80> ServerAdmin <Email Address> ←管理者メールアドレス DocumentRoot "/srv/[FQDN]" ServerName [FQDN] ErrorLog "/var/log/httpd/[FQDN]-error_log" CustomLog "/var/log/httpd/[FQDN]-access_log" common <Directory "/srv/[FQDN]"> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> |
ドキュメントディレクトリーのパーミッション設定
1 |
# chmod o+x /srv/[FQDN] |
httpd.conf
の最後に、次の仮想ホスト構成ファイルを含める
1 2 3 4 |
# vim /etc/httpd/conf/httpd.conf 最終行に追加 Include conf/vhosts/[FQDN] |
Apacheの再起動
1 |
# systemctl restart httpd |
2. CGIスクリプトの利用確認
①CGIの利用可確認
1 2 3 |
# grep -n "^ *ScriptAlias" /etc/httpd/conf/httpd.conf 373: ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/" 上記が表示され、「/srv/http/cgi-bin/」配下で利用可能 |
➁/etc/httpd/conf/httpd.conf ファイル編集
1 2 3 4 5 6 7 8 9 10 |
# vim /etc/httpd/conf/httpd.conf 175行目コメント解除 LoadModule cgid_module modules/mod_cgid.so 178行目コメント解除 LoadModule cgi_module modules/mod_cgi.so 391行目変更 Options None → Options ExecCGI |
1 |
# systemctl restart httpd |
➂テストスクリプトを作成し、作動確認
1 2 3 4 5 6 7 |
# mkdir /srv/http/cgi-bin/ # vim /srv/http/cgi-bin/index.cgi #!/usr/bin/python3 print("Content-type: text/html\n") print("CGI Script Test Page") |
1 2 3 |
# chmod 755 /srv/http/cgi-bin/index.cgi # curl localhost/cgi-bin/index.cgi CGI Script Test Page |
3. PHPのインストールと設定
3.1.PHP8インストール
①インストール
1 |
# pacman -S php php-apache php-fpm |
②バージョン確認
1 2 3 4 |
# php -v PHP 8.3.6 (cli) (built: Apr 12 2024 12:24:08) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.6, Copyright (c) Zend Technologies |
PHP本体の環境設定
1 2 3 4 5 6 7 8 9 10 |
# vim /etc/php/php.ini 713行目変更 post_max_size = 300M 865行目変更 upload_max_filesize = 200M 975行目コメント解除して追記 date.timezone = Asia/Tokyo |
php-fpm の設定
1 2 |
# systemctl enable php-fpm Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service. |
1 |
# systemctl start php-fpm |
➂Apacheの設定ファイルを編集してPHPを使えるように設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# vim /etc/httpd/conf/httpd.conf 66行目コメントアウト #LoadModule mpm_event_module modules/mod_mpm_event.so 67行目コメント解除 LoadModule mpm_prefork_module modules/mod_mpm_prefork.so 185-186行目に追加 LoadModule php_module modules/libphp.so AddHandler php-script php 最終行に追加 Include conf/extra/php_module.conf |
③Apache の再起動
PHP インストール後は、Apache を再起動すればデフォルトで PHP-FPM (FPM : FastCGI Process Manager) が呼び出され、httpd の起動と連動して php-fpm サービスも起動されます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# systemctl restart httpd # systemctl status php-fpm ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled) Active: active (running) since Wed 2024-05-08 09:25:59 JST; 2min 30s ago Main PID: 2255 (php-fpm) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 4630) Memory: 21.8M (peak: 22.0M) CPU: 53ms CGroup: /system.slice/php-fpm.service tq2255 "php-fpm: master process (/etc/php/php-fpm.conf)" tq2256 "php-fpm: pool www" mq2257 "php-fpm: pool www" May 08 09:25:59 Lepard systemd[1]: Starting The PHP FastCGI Process Manager... May 08 09:25:59 Lepard php-fpm[2255]: [NOTICE] fpm is running, pid 2255 May 08 09:25:59 Lepard php-fpm[2255]: [NOTICE] ready to handle connections May 08 09:25:59 Lepard php-fpm[2255]: [NOTICE] systemd monitor interval set to 10000ms May 08 09:25:59 Lepard systemd[1]: Started The PHP FastCGI Process Manager. |
④PHP の動作確認
下記のファイルを作成
1 2 |
# vim /srv/[FQDN]/test.php <?php phpinfo(); ?> |
ブラウザでhttp://[ドメイン]>/test.phpにアクセスすると下記のような画面が表示されればOK