サーバー設定 · 1 min read · Dec 27, 2025
Fedora 18でApache 2.4(+ mod_proxy_fcgiモジュール)とPHP5-FPMを使用する
Fedora 18でApache 2.4(+ mod_proxy_fcgiモジュール)とPHP5-FPMを使用する
バージョン 1.0
著者: Falko Timme
Twitterでフォローしてください
このチュートリアルでは、PHP5(PHP-FPMを通じて)およびMySQLサポートを持つApache 2.4ウェブサーバーをFedora 18サーバーにインストールする方法を示します。PHP-FPM(FastCGIプロセスマネージャー)は、特に忙しいサイトに役立つ追加機能を持つ代替PHP FastCGI実装です。Apache 2.4では、これを機能させるためにApacheのmod_proxy_fcgiモジュールが必要です。
これがあなたにとって機能するという保証はありません!
1 前提条件
このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換えてください。
2 MySQL 5のインストール
MySQLをインストールするには、次のようにします:
yum install mysql mysql-server次に、MySQLのシステム起動リンクを作成し(システムが起動するたびにMySQLが自動的に起動するように)、MySQLサーバーを起動します:
systemctl enable mysqld.service
systemctl start mysqld.serviceMySQLのrootアカウントのパスワードを設定します:
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
NOTE: このスクリプトのすべての部分を実行することは、すべてのMySQLサーバーにおいて推奨されます! 各ステップを注意深く読んでください!
MySQLにログインして安全にするためには、rootユーザーの現在のパスワードが必要です。 MySQLをインストールしたばかりで、まだrootパスワードを設定していない場合、パスワードは空白になりますので、ここでは単にEnterを押してください。
現在のrootのパスワードを入力してください(なしの場合はEnter):
OK、パスワードが正常に使用されました、次に進みます…
rootパスワードを設定することで、適切な認証なしに誰もMySQLのrootユーザーにログインできないようにします。
rootパスワードを設定しますか? [Y/n] <– ENTER
新しいパスワード: <– yourrootsqlpassword
新しいパスワードを再入力してください: <– yourrootsqlpassword
パスワードが正常に更新されました!
特権テーブルを再読み込みしています..
… 成功!
デフォルトでは、MySQLインストールには匿名ユーザーがあり、誰でもユーザーアカウントを作成することなくMySQLにログインできます。 これはテスト用にのみ意図されており、インストールを少しスムーズにするためのものです。 本番環境に移行する前に、これらを削除する必要があります。
匿名ユーザーを削除しますか? [Y/n] <– ENTER
… 成功!
通常、rootは「localhost」からのみ接続を許可されるべきです。 これにより、誰かがネットワークからrootパスワードを推測できないようにします。
リモートでのrootログインを禁止しますか? [Y/n] <– ENTER
… 成功!
デフォルトでは、MySQLには「test」という名前のデータベースがあり、誰でもアクセスできます。 これはテスト用にのみ意図されており、本番環境に移行する前に削除する必要があります。
テストデータベースとそのアクセスを削除しますか? [Y/n] <– ENTER
- テストデータベースを削除しています…
… 成功! - テストデータベースの特権を削除しています…
… 成功!
特権テーブルを再読み込みすることで、これまでに行ったすべての変更が即座に反映されることを保証します。
特権テーブルを今すぐ再読み込みしますか? [Y/n] <– ENTER
… 成功!
クリーンアップ中…
すべて完了! 上記のすべてのステップを完了した場合、あなたのMySQLインストールは今や安全であるはずです。
MySQLをご利用いただきありがとうございます!
[root@server1 ~]#
3 Apache2のインストール
Apache2はFedoraパッケージとして利用可能であるため、次のようにインストールできます:
yum install httpdこれはApacheバージョン2.4で、PHP-FPMのためにApache 2.2で使用されていたmod_fastcgiモジュールとは互換性がありません(Fedora 17でのApache2とPHP5-FPMの使用を参照)。したがって、mod_proxy_fcgiモジュールを使用します。
次に、システムを設定してApacheをブート時に起動するようにします…
systemctl enable httpd.service… そしてApacheを起動します:
systemctl start httpd.service次に、ブラウザをhttp://192.168.0.100に向けると、Apache2のプレースホルダーページが表示されるはずです:

ApacheのデフォルトのドキュメントルートはFedoraでは/var/www/htmlであり、設定ファイルは/etc/httpd/conf/httpd.confです。追加の設定は/etc/httpd/conf.d/ディレクトリに保存されます。
4 PHP5のインストール
PHP5をApache2で動作させるために、PHP-FPMとApacheのmod_proxy_fcgiモジュールを使用します。mod_proxy_fcgiモジュールはすでにインストールされ、有効になっているはずです:
ls -l /usr/lib64/httpd/modules/mod_proxy*[root@server1 modules]# ls -l /usr/lib64/httpd/modules/mod_proxy*
-rwxr-xr-x 1 root root 52128 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_ajp.so
-rwxr-xr-x 1 root root 39984 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_balancer.so
-rwxr-xr-x 1 root root 19400 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_connect.so
-rwxr-xr-x 1 root root 11192 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_express.so
-rwxr-xr-x 1 root root 19368 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_fcgi.so
-rwxr-xr-x 1 root root 11152 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_fdpass.so
-rwxr-xr-x 1 root root 44184 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_ftp.so
-rwxr-xr-x 1 root root 39968 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_http.so
-rwxr-xr-x 1 root root 19464 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_scgi.so
-rwxr-xr-x 1 root root 98016 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy.so
[root@server1 modules]#cat /etc/httpd/conf.modules.d/00-proxy.conf| [...] # このファイルはすべてのプロキシモジュールを設定します: LoadModule proxy_module modules/mod_proxy.so LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_express_module modules/mod_proxy_express.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_scgi_module modules/mod_proxy_scgi.so [...] |
PHP-FPMを次のようにインストールできます:
yum install php-fpm次に、/etc/php.iniを開きます:
vi /etc/php.ini次のようなエラーを避けるために:
[08-Aug-2011 18:07:08] PHP Warning: phpinfo(): システムのタイムゾーン設定に依存するのは安全ではありません。 date.timezone設定またはdate_default_timezone_set()関数を使用する必要があります。 これらの方法のいずれかを使用してもこの警告が表示される場合、タイムゾーン識別子を誤って入力している可能性があります。 /usr/share/nginx/html/info.phpの2行目で「Europe/Berlin」を「CEST/2.0/DST」として選択しました。… /var/log/php-fpm/www-error.logでPHPスクリプトをブラウザで呼び出すときに、/etc/php.iniでdate.timezoneを設定する必要があります:
| [...] [Date] ; 日付関数で使用されるデフォルトのタイムゾーンを定義します ; http://php.net/date.timezone date.timezone = "Europe/Berlin" [...] |
システムの正しいタイムゾーンを確認するには、次のコマンドを実行します:
cat /etc/sysconfig/clock[root@server1 ~]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
[root@server1 ~]#次に、php-fpmのシステム起動リンクを作成し、起動します:
systemctl enable php-fpm.service
systemctl start php-fpm.servicePHP-FPMは、ポート9000でFastCGIサーバーを実行するデーモンプログラムです。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。