「インストール - PHP」の版間の差分

ナビゲーションに移動 検索に移動
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ファイル等に環境変数の設定を追記する。<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-FPMの設定を行う。<br>
==== 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-FPMのwww.confファイルを作成する。
==== PHP-FPMのプール設定 ====
PHP-FPMを実行するには、使用するユーザアカウントを設定する必要がある。適切なアカウントを使用しないと、パーミッションエラーが発生する可能性がある。<br>
Webアプリケーションを使用する場合、PHP-FPMのプール設定ファイルであるwww.confファイルを作成する。<br>
PHP-FPMを実行するには、使用するユーザアカウントを設定する必要がある。<br>
<br>
適切なアカウントを使用しない場合は、パーミッションエラーが発生する可能性がある。<br>
<br>
また、使用するアカウントは、OSやWebサーバによって異なる。<br>
<br>
<br>
使用するアカウントは、OSやWebサーバによって異なる。<br>
例えば、NginXの場合、デフォルトの設定では<u>nginx</u>という名前のアカウントを使用する。 (ソースコードからインストールしている場合、オプションを付加して変更することができる)<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>
以下の設定例は、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. TCPを使用する場合�: 127.0.0.1:9000
           ;例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>
アクセスファイルやログのパスを作成する。<br>
必要ならば、PHP-FPMのアクセスファイルやログファイルを配置するディレクトリパスを変更または作成する。<br>
初期設定のパスは、PHPのインストールディレクトリとなる。<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 FPMを使用する場合、/etc/systemcd/systemディレクトリにSystemdサービスユニットを作成する。<br>
==== 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=notify
  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

案内メニュー