13,005
回編集
75行目: | 75行目: | ||
== PHPのインストール (ソースコードからインストールする場合) == | == PHPのインストール (ソースコードからインストールする場合) == | ||
==== インストール ==== | |||
複数のPHPのバージョンをインストールする場合、ソースコードからインストールする方が融通が利く。<br> | 複数のPHPのバージョンをインストールする場合、ソースコードからインストールする方が融通が利く。<br> | ||
<br> | <br> | ||
130行目: | 131行目: | ||
<br> | <br> | ||
PHPの実行に必要なライブラリをインストールする。<br> | PHPの実行に必要なライブラリをインストールする。<br> | ||
# SUSE | |||
sudo zypper install libc-client2007e_suse libonig4 libpq5 | sudo zypper install libc-client2007e_suse libonig4 libpq5 | ||
<br> | <br> | ||
~/. | ~/.profileファイル等に、環境変数<code>PATH</code>を追記する。<br> | ||
vi ~/.profile | vi ~/.profile | ||
<br> | <br> | ||
141行目: | 143行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
==== Apache2を使用する場合 ==== | |||
Apache2を使用する場合、Apache2の設定ファイルであるhttpd.confファイルを編集して、phpファイルを実行できるように設定する。<br> | Apache2を使用する場合、Apache2の設定ファイルであるhttpd.confファイルを編集して、phpファイルを実行できるように設定する。<br> | ||
vi /<Apacheの設定ファイルがあるディレクトリ>/conf/httpd.conf | vi /<Apacheの設定ファイルがあるディレクトリ>/conf/httpd.conf | ||
159行目: | 162行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
==== PHPの設定 ==== | |||
次に、php.iniファイルを配置する。<br> | 次に、php.iniファイルを配置する。<br> | ||
php.iniファイルの標準パスは、/<PHPのインストールディレクトリ>/lib64ディレクトリである。 | php.iniファイルの標準パスは、/<PHPのインストールディレクトリ>/lib64ディレクトリである。 | ||
167行目: | 171行目: | ||
cp /<PHPのソースコードがあるディレクトリ>/php.ini-development /<PHPのインストールディレクトリ>/lib64 | cp /<PHPのソースコードがあるディレクトリ>/php.ini-development /<PHPのインストールディレクトリ>/lib64 | ||
<br> | <br> | ||
PHP- | ==== PHP-FPMの全体の設定 ==== | ||
PHP-FPMを使用する場合、ソケットファイルが配置されるディレクトリを作成する。<br> | |||
mkdir -p /<PHPのインストールディレクトリ>/var/run/php-fpm | |||
<br> | |||
これは、<code>configure</code>スクリプトの実行時に、<code>--enable-fpm</code>オプションを指定した場合、PHP-FPMライブラリがインストールされる。<br> | これは、<code>configure</code>スクリプトの実行時に、<code>--enable-fpm</code>オプションを指定した場合、PHP-FPMライブラリがインストールされる。<br> | ||
まず、php-fpm.confファイルを作成する。<br> | まず、php-fpm.confファイルを作成する。<br> | ||
187行目: | 194行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
Webアプリケーションを使用する場合、PHP- | ==== PHP-FPMのプール設定 ==== | ||
PHP- | Webアプリケーションを使用する場合、PHP-FPMのプール設定ファイルであるwww.confファイルを作成する。<br> | ||
PHP-FPMを実行するには、使用するユーザアカウントを設定する必要がある。<br> | |||
<br> | |||
適切なアカウントを使用しない場合は、パーミッションエラーが発生する可能性がある。<br> | |||
<br> | |||
また、使用するアカウントは、OSやWebサーバによって異なる。<br> | |||
<br> | <br> | ||
例えば、NginXの場合、デフォルトの設定では<u>nginx</u>という名前のアカウントを使用する。 (ソースコードからインストールしている場合、オプションを付加して変更することができる)<br> | |||
Apache2の場合、SUSEでは<u>wwwrun</u>、Ubuntu / Debianでは<u>www-data</u>、RHELでは<u>nobody</u>を使用する。<br> | Apache2の場合、SUSEでは<u>wwwrun</u>、Ubuntu / Debianでは<u>www-data</u>、RHELでは<u>nobody</u>を使用する。<br> | ||
<br> | <br> | ||
以下の設定例は、NginXを使用したサーバの設定である。<br> | |||
cd /<PHPのインストールディレクトリ>/etc/php-fpm.d | cd /<PHPのインストールディレクトリ>/etc/php-fpm.d | ||
cp www.conf.default www.conf | cp www.conf.default www.conf | ||
215行目: | 226行目: | ||
; nginx.confファイルにおいても、同様の設定を行う必要がある (NginXの設定は、インストール - NginXのページを参照すること) | ; nginx.confファイルにおいても、同様の設定を行う必要がある (NginXの設定は、インストール - NginXのページを参照すること) | ||
listen = <TCPまたはUnixドメインソケット> | listen = <TCPまたはUnixドメインソケット> | ||
;例1. | ;例1. TCPを使用する場合 : 127.0.0.1:9000 | ||
;例2. Unixドメインソケットを使用する場合 : /var/run/php-fpm/php-fpm.sock | ;例2. Unixドメインソケットを使用する場合 : /var/run/php-fpm/php-fpm.sock | ||
224行目: | 235行目: | ||
; PHP-FPM実行時のエラーログ | ; PHP-FPM実行時のエラーログ | ||
php_admin_value[error_log] = /var/log/php-fpm/www.log | php_admin_value[error_log] = <PHP-FPMのプール設定ファイルのパス 例: /var/log/php-fpm/www.log> | ||
php_admin_flag[log_errors] = on | php_admin_flag[log_errors] = on | ||
php_admin_value[memory_limit] = 32M | php_admin_value[memory_limit] = 32M | ||
232行目: | 243行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
必要ならば、PHP-FPMのアクセスファイルやログファイルを配置するディレクトリパスを変更または作成する。<br> | |||
なお、<u>デフォルトの設定では、ログディレクトリのパスはPHPのインストールディレクトリ下にあるvar/log/php-fpm.logである。</u><br> | |||
mkdir /var/log/php-fpm | sudo mkdir /var/log/php-fpm | ||
chown <上記で設定したユーザ名>:<上記で設定したグループ名> /var/log/php-fpm | sudo chown <上記で設定したユーザ名>:<上記で設定したグループ名> /var/log/php-fpm | ||
mkdir /var/run/php-fpm | sudo mkdir /var/run/php-fpm | ||
chown <上記で設定したユーザ名>:<上記で設定したグループ名> /var/run/php-fpm | sudo chown -R <上記で設定したユーザ名>:<上記で設定したグループ名> /var/run/php-fpm | ||
<br> | <br> | ||
PHP | ==== PHP-FPMのSystemdサービスユニットの作成 ==== | ||
PHP-FPMを使用する場合は、/etc/systemcd/systemディレクトリにSystemdサービスユニットを作成する。<br> | |||
sudo vi /etc/systemcd/system/php-fpm.service | sudo vi /etc/systemcd/system/php-fpm.service | ||
<br> | <br> | ||
255行目: | 267行目: | ||
[Service] | [Service] | ||
Type=simple | Type=simple | ||
ExecStart=/<PHPのインストールディレクトリ>/sbin/php-fpm --nodaemonize --fpm-config /<PHPのインストールディレクトリ>/etc/php-fpm.conf | ExecStart=/<PHPのインストールディレクトリ>/sbin/php-fpm --nodaemonize --fpm-config /<PHPのインストールディレクトリ>/etc/php-fpm.conf |