サーバー設定 · 1 min read · Jan 01, 2026
OpenSUSE 12.1でApache2とPHP5-FPMを使用する - ページ2
6 Apacheの設定
ApacheをPHP-FPMと連携させるためには、以下の設定が必要です:
| |
( FastCgiExternalServerディレクティブについて詳しく知りたい場合は、http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiExternalServerを参照してください。)
これをグローバルApache設定(すべてのvhostに対して有効)に入れることもできますし、PHP-FPMを使用する各vhostに配置することもできます。私はすべてのvhostでPHP-FPMを使用したいので、/etc/apache2/conf.d/mod_fastcgi.confを開きます…
vi /etc/apache2/conf.d/mod_fastcgi.conf… そして、次のセクションを最後に追加します:
| [...] |
/usr/lib/cgi-bin/ディレクトリが存在する必要があるので、次のように作成します:
mkdir /usr/lib/cgi-bin/その後、Apacheを再起動します:
systemctl restart apache2.service次に、デフォルトのApache vhostのドキュメントルート/srv/www/htdocsに次のPHPファイルを作成します:
vi /srv/www/htdocs/info.php| |
今、ブラウザでそのファイルを呼び出します(例:http://192.168.0.100/info.php):

ご覧の通り、PHP5は動作しており、FPM/FastCGIを介して動作しています。サーバーAPI行に示されています。さらに下にスクロールすると、すでにPHP5で有効になっているすべてのモジュールが表示されます。MySQLはそこにリストされていないため、PHP5にはまだMySQLサポートがありません。
7 PHP5でのMySQLサポートの取得
PHPでMySQLサポートを取得するには、php5-mysqlパッケージをインストールします。アプリケーションに必要になるかもしれない他のPHP5モジュールもいくつかインストールすることをお勧めします:
yast2 -i php5-mysql php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm次に、PHP-FPMをリロードします:
systemctl reload php-fpm.serviceブラウザでhttp://192.168.0.100/info.phpを再読み込みし、モジュールセクションまでスクロールします。そこにはMySQLモジュールを含む多くの新しいモジュールが見つかるはずです:

8 phpMyAdmin
phpMyAdminは、MySQLデータベースを管理するためのWebインターフェースです。
phpMyAdminは次のようにインストールできます:
yast2 -i phpMyAdmin後でISPConfigを通じて作成されたすべてのウェブサイトから/phpmyadmin(例:http://www.example.com/phpmyadmin)および/phpMyAdmin(例:http://www.example.com/phpMyAdmin)を使用してphpMyAdminにアクセスできるようにするために、/etc/apache2/conf.d/phpMyAdmin.confを開きます…
vi /etc/apache2/conf.d/phpMyAdmin.conf… そして、最初に次の2つのエイリアスを追加します:
| Alias /phpMyAdmin /srv/www/htdocs/phpMyAdmin Alias /phpmyadmin /srv/www/htdocs/phpMyAdmin [...] |
Apacheを再起動し、PHP-FPMをリロードします:
systemctl restart apache2.service
systemctl reload php-fpm.serviceその後、http://192.168.0.100/phpMyAdmin/でphpMyAdminにアクセスできます:

9 PHP-FPMをUnixソケットで使用する
デフォルトでは、PHP-FPMは127.0.0.1のポート9000でリッスンしています。TCPオーバーヘッドを回避するために、PHP-FPMをUnixソケットを使用するように設定することも可能です。これを行うには、/etc/php5/fpm/php-fpm.confを開きます…
vi /etc/php5/fpm/php-fpm.conf… そして、listen行を次のように変更します:
| [...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...] |
また、ソケットの所有者、グループ、および権限を次のように設定します:
| [...] ; Unixソケットを使用する場合の権限を設定します。Linuxでは、Webサーバーからの接続を許可するために、読み取り/書き込み権限を設定する必要があります。多くのBSD派生システムでは、権限に関係なく接続が許可されます。 ; デフォルト値:ユーザーとグループは実行中のユーザーに設定されます ; モードは0666に設定されます listen.owner = nobody listen.group = nobody listen.mode = 0666 [...] |
その後、PHP-FPMをリロードします:
systemctl reload php-fpm.service次に、Apacheの設定とすべてのvhostを確認し、行FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header AuthorizationをFastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorizationに変更します。例えば、次のようにします:
vi /etc/apache2/conf.d/mod_fastcgi.conf| [...] |
最後に、Apacheをリロードします:
systemctl reload apache2.service10 リンク
- Apache: http://httpd.apache.org/
- Apacheモジュールmod_fastcgi: http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- OpenSUSE: http://www.opensuse.org/
- phpMyAdmin: http://www.phpmyadmin.net/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。