Archlinuxは日本語ドキュメントが充実しているので、以下のリンクを参照したほうがより正確なのですが、私が都度都度探すのが面倒なのでここに記述しています。
ArchWikiのApache HTTP Serverのページ (PHPのインストールについても書かれています)
Apacheのインストール
apacheパッケージをインストールします。
$ sudo pacman -S apache
apacheの設定ファイルに最低限の設定を行います。
$ sudo vi /etc/httpd/conf/httpd.conf
[デフォルト] ServerAdmin you@example.com [変更後] ServerAdmin <ユーザーアカウント>@localhost [デフォルト] Include conf/extra/httpd-userdir.conf [変更後] #Include conf/extra/httpd-userdir.conf
設定ファイルの構文チェックを行います。
$ sudo apachectl configtest Syntax OK
サービスを起動して動作確認します。
$ sudo systemctl start httpd.service
PHPのインストール
phpパッケージとphp-apacheパッケージをインストールします。
$ sudo pacman -S php php-apache
PHP本体の環境設定を行います。タイムゾーンの設定はほぼ必須だと思います。メモリ関連の設定はそれぞれの事情に合わせて設定します。
$ sudo vi /etc/php/php.ini [変更前] ; Define the default timezone used by the date functions ; http://php.net/date.timezone ;date.timezone = [変更後] ; Define the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Tokyo
; Maximum amount of memory a script may consume ; http://php.net/memory-limit memory_limit = 128M
; Maximum size of POST data that PHP will accept. ; Its value may be 0 to disable the limit. It is ignored if POST data reading ; is disabled through enable_post_data_reading. ; http://php.net/post-max-size post_max_size = 8M
; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 2M
Apacheの設定ファイルを編集してPHPを使えるように設定します。
$ sudo vi /etc/httpd/conf/httpd.conf
[変更前] LoadModule mpm_event_module modules/mod_mpm_event.so #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so [変更後] #LoadModule mpm_event_module modules/mod_mpm_event.so LoadModule mpm_prefork_module modules/mod_mpm_prefork.so [変更前] LoadModule dir_module modules/mod_dir.so #LoadModule imagemap_module modules/mod_imagemap.so [変更後] LoadModule dir_module modules/mod_dir.so LoadModule php7_module modules/libphp7.so AddHandler php7-script php #LoadModule imagemap_module modules/mod_imagemap.so [変更前] SSLRandomSeed connect builtin <⁄IfModule> [変更後] SSLRandomSeed connect builtin <⁄IfModule> Include conf/extra/php7_module.conf
apachectlで構文チェック後、Apacheを再起動します。
$ sudo apachectl configtest Syntax OK $ sudo systemctl restart httpd.service
PHPの動作確認のため、ApacheのDocumentRootディレクトリにテストスクリプトが書かれたファイルを作成します。
$ echo '<?php phpinfo(); ?>' > test.php $ sudo mv test.php /srv/http/. $ sudo chown http:http /srv/http/test.php
ブラウザでtest.phpを開いてPHPに関する情報が表示されることを確認します。
コメント