Nginx インストール · 2 min read · Jan 24, 2026

Fedora 17 における PHP5 (および PHP-FPM) と MySQL サポートを持つ Nginx のインストール

Fedora 17 における PHP5 (および PHP-FPM) と MySQL サポートを持つ Nginx のインストール

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

Nginx(発音は「エンジン エックス」)は、無料でオープンソースの高性能 HTTP サーバーです。Nginx は、その安定性、豊富な機能セット、シンプルな設定、低リソース消費で知られています。このチュートリアルでは、PHP5 サポート(PHP-FPM 経由)と MySQL サポートを持つ Fedora 17 サーバーに Nginx をインストールする方法を示します。

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

1 前提条件

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

2 MySQL 5 のインストール

まず、次のようにして MySQL 5 をインストールします:

yum install mysql mysql-server

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

systemctl enable mysqld.service  
systemctl start mysqld.service

次に、ネットワークが有効になっているか確認します。次のコマンドを実行します:

netstat -tap | grep mysql

次のような出力が表示されるはずです:

[root@server1 ~]# netstat -tap | grep mysql  
tcp        0      0 *:mysql                     *:*                         LISTEN      1116/mysqld  
[root@server1 ~]#

もし表示されない場合は、/etc/my.cnf を編集し、skip-networking オプションをコメントアウトします:

vi /etc/my.cnf

| [...] #skip-networking [...] |

そして MySQL サーバーを再起動します:

systemctl restart mysqld.service

次のコマンドを実行して、root ユーザーのパスワードを設定します(そうしないと誰でもあなたの MySQL データベースにアクセスできてしまいます!):

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation

NOTE: このスクリプトのすべての部分を実行することは、すべての MySQL サーバーにおいて推奨されます! 各ステップを注意深くお読みください!

MySQL にログインしてセキュリティを確保するためには、root ユーザーの現在のパスワードが必要です。MySQL をインストールしたばかりで、まだ root パスワードを設定していない場合、パスワードは空白になりますので、ここではただ Enter を押してください。

現在の root のパスワードを入力してください(なしの場合は Enter を押してください): <– 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 Nginx のインストール

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

yum install nginx

次に、nginx のシステム起動リンクを作成し、起動します:

systemctl enable nginx.service  
systemctl start nginx.service

ブラウザにウェブサーバーの IP アドレスまたはホスト名を入力します(例: http://192.168.0.100)、nginx のウェルカムページが表示されるはずです:

4 PHP5 のインストール

PHP5 を nginx で動作させるために PHP-FPM を使用します(PHP-FPM(FastCGI プロセスマネージャ)は、あらゆる規模のサイト、特に忙しいサイトに役立つ追加機能を持つ代替 PHP FastCGI 実装です)。公式の Fedora 17 リポジトリには php-fpm パッケージがあるため、php-fpm を php-cli といくつかの PHP5 モジュール(MySQL を PHP スクリプトから使用する場合に必要な php-mysql など)と一緒にインストールできます:

yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy

APC は、PHP 中間コードをキャッシュおよび最適化するための無料でオープンな PHP オペコードキャッシャーです。これは、eAccelerator や Xcache などの他の PHP オペコードキャッシャーと似ています。PHP ページの速度を向上させるために、これらのいずれかをインストールすることを強くお勧めします。

APC は次のようにインストールできます:

yum install php-pecl-apc

次のようなエラーを避けるために:

[13-Nov-2011 22:13:16] PHP Warning: phpinfo(): システムのタイムゾーン設定に依存するのは安全ではありません。date.timezone 設定または date_default_timezone_set() 関数を使用する必要があります。これらの方法のいずれかを使用してもこの警告が表示される場合、タイムゾーン識別子を誤って入力している可能性があります。/usr/share/nginx/html/info.php の 2 行目で 'CET/1.0/no DST' のために 'Europe/Berlin' を選択しました。

… /var/log/php-fpm/www-error.log で PHP スクリプトをブラウザで呼び出すときに、/etc/php.ini を開いて date.timezone を設定する必要があります:

vi /etc/php.ini

| [...] [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 サーバーを実行するデーモンプロセスです。

Share: X/Twitter LinkedIn

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

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