サーバー設定 · 1 min read · Jan 07, 2026

Fedora 17でApache2とPHP5-FPMを使用する

Fedora 17でApache2とPHP5-FPMを使用する

バージョン 1.0
著者: Falko Timme
Twitterでフォローしてください

このチュートリアルでは、PHP5(PHP-FPMを通じて)とMySQLサポートを使用して、Fedora 17サーバーにApache2ウェブサーバーをインストールする方法を示します。PHP-FPM(FastCGIプロセスマネージャー)は、特に忙しいサイトに便利な追加機能を持つ代替PHP FastCGI実装です。

これがあなたにとって機能するという保証はありません!

1 前提条件

このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換える必要があります。

2 追加リポジトリの有効化

後でmod_fastcgiをインストールする必要があり、これはRPMforgeリポジトリにあります。RPMforgeは次のように有効にできます:

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

3 MySQL 5のインストール

MySQLをインストールするには、次のようにします:

yum install mysql mysql-server

次に、MySQLのシステム起動リンクを作成し(システムが起動するたびにMySQLが自動的に起動するように)、MySQLサーバーを起動します:

systemctl enable mysqld.service
systemctl start mysqld.service

MySQLのrootアカウントのパスワードを設定します:

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation

注意:このスクリプトのすべての部分を実行することは、すべての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 ~]#

4 Apache2のインストール

Apache2はFedoraパッケージとして利用可能であるため、次のようにインストールできます:

yum install httpd

次に、システムを設定して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/ディレクトリに保存されています。

5 PHP5のインストール

PHP5をApache2で動作させるために、PHP-FPMとApacheのmod_fastcgiモジュールをインストールします:

yum install mod_fastcgi php-fpm

次に、/etc/php.iniを開きます:

vi /etc/php.ini

PHPスクリプトをブラウザで呼び出すときに、次のようなエラーを避けるために:

[08-Aug-2011 18:07:08] PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /usr/share/nginx/html/info.php on line 2

… /var/log/php-fpm/www-error.logに設定する必要があります:

| [...] [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.service

PHP-FPMは、ポート9000でFastCGIサーバーを実行するデーモンプロセス(initスクリプトは/etc/init.d/php-fpm)です。

次にApacheを再起動します:

systemctl restart httpd.service
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。