■Apache+PHP(インストールと初期設定)
■Apache
●インストール
# yum install -y httpd mod_ssl
●現在の状況の確認
# /etc/init.d/httpd status
※停止中 httpd は停止しています
※起動中 httpd (pid 1535) を実行中...
●サービスの開始
# /etc/init.d/httpd
start
●ポートの確認
# netstat -atn
tcp
0 0
:::80
:::*
LISTEN
※80番ポートを使用しているので使用中(LISTEN)なら起動しているという事になる
●ファイヤーウォールを空けます
# vi /etc/sysconfig/iptables
以下の文を追加(80番ポートを空けます)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j
ACCEPT
●ファイヤーウォールの変更を適用します。
# /etc/init.d/iptables restart
●機械の起動時にサービスを自動起動する。
# chkconfig httpd on
●初期設定
ドキュメントルート
/var/www/html/
※この中がルートの場所になります。
●コンテンツ作成用ユーザーの作成
# useradd -d /var/www/html -u 400 -M webadmin
ここではユーザーwebadminを作成します。
●ユーザー webadmin のパスワードを変更。
# passwd webadmin
※ホームディレクトリをドキュメントルートにしますが、標準の/home
でないとselinuxで都合が悪いのでUIDを400で作成します。
●作成用ユーザーにフォルダの所有者になってもらう
# chown -R webadmin /var/www/html
●アップロードをsshで行うのでログインできるように設定を変更します。
# vi /etc/ssh/sshd_config
※以下の文を追加します。
AllowUsers admin postgres webadmin
●変更を有効にします。
# service sshd reload
■PHP
●インストール
・本体
# yum install -y php
・PostgreSQLを使用する為のパッケージをインストールします。
# yum install -y php-pgsql
・マルチバイト文字列関数用のモジュールを追加します。
#
yum install -y php-mbstring
●初期設定
○SELinuxの設定
・設定確認
# getsebool -a | grep httpd
・設定変更(この設定は結構時間がかかります。)
# setsebool -P httpd_can_network_connect_db
on
この設定でデータベースにアクセス出来るようになります。
○PostgreSQLを使えるようにする為の設定
・pgsql.soの場所を確認します。
# find / -name
pgsql.so
↓出力結果
/usr/lib/php/modules/pgsql.so
・php.iniにモジュールpgsql.soを設定する
# vi /etc/php.ini
インストール時元は;extension_dir = "./"となっており;はコメント化
なので設定していません。以下2行を追加します。
extension_dir="/usr/lib/php/modules"
extension=pgsql.so
※もしパスの場所が違う(元から設定されていた場合)ならphp.iniで設定してあるパスへpgsql.soを移動する
○エラーを表示するようにする
# vi /etc/php.ini
display_errors = On
※これでエラーが表示されるようになりますが、テスト環境であれば良いのですが
実行環境でエラーが表示されると都合が悪いのでOffにしておいた方が良いです。
テスト環境の場合はエラー表示をしておいた方が作りやすいです。
○インストール後はapachの再起動が必要です。
#/etc/init.d/httpd
stop
#/etc/init.d/httpd start
トップへ戻る