サーバー設定 · 1 min read · Dec 30, 2025
CentOS 6.3でApache2とPHP5-FPMを使用する
CentOS 6.3でApache2とPHP5-FPMを使用する
バージョン 1.0
著者: Falko Timme
Twitterでフォローしてください
このチュートリアルでは、PHP5(PHP-FPMを通じて)とMySQLサポートを持つCentOS 6.3サーバーに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.txtcd /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.rpmphp-fpmは公式のCentOSリポジトリにはありませんが、EPELリポジトリに依存するRemi RPMリポジトリから入手できます。両方のリポジトリを次のように有効にできます:
rpm --import https://fedoraproject.org/static/0608B895.txt
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpmrpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpmyum install yum-priorities/etc/yum.repos.d/epel.repoを編集します…
vi /etc/yum.repos.d/epel.repo… そして[epel]セクションにpriority=10という行を追加します:
| [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |
次に、/etc/yum.repos.d/remi.repoの[remi]セクションでも同様のことを行い、enabledを1に変更します:
vi /etc/yum.repos.d/remi.repo| [remi] name=Les RPM de remi pour Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi failovermethod=priority [remi-test] name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi |
3 MySQL 5のインストール
MySQLをインストールするには、次のようにします:
yum install mysql mysql-server次に、MySQLのシステム起動リンクを作成し(システムが起動するたびにMySQLが自動的に起動するように)、MySQLサーバーを起動します:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld startMySQLの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はCentOSパッケージとして利用可能ですので、次のようにインストールできます:
yum install httpd次に、システムを設定してApacheを起動時に開始するようにします…
chkconfig --levels 235 httpd on… そしてApacheを起動します:
/etc/init.d/httpd start次に、ブラウザをhttp://192.168.0.100に向けると、Apache2のプレースホルダーページが表示されるはずです:

ApacheのデフォルトのドキュメントルートはCentOSでは/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次のようなエラーを避けるために:
[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でPHPスクリプトをブラウザで呼び出すときに、/etc/php.iniでdate.timezoneを設定する必要があります:
| [...] [Date] ; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone = "Europe/Berlin" [...] |
システムの正しいタイムゾーンを確認するには、次のコマンドを実行します:
cat /etc/sysconfig/clock[root@server1 nginx]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
[root@server1 nginx]#次に、php-fpmのシステム起動リンクを作成し、起動します:
chkconfig --levels 235 php-fpm on
/etc/init.d/php-fpm startPHP-FPMは、ポート9000でFastCGIサーバーを実行するデーモンプロセスです(initスクリプトは/etc/init.d/php-fpm)。
次に、Apacheを再起動します:
/etc/init.d/httpd restart新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。