![]() |
LINUX |
httpd/phpのインストール
*WEBサーバを構築します
*httpd-2.2.16をソースからインストールし、設定します
*php-5.3.3をソースからインストールし、設定します
*charsetはhttpd、php共にUTF-8で運営します
*suexecオプションを有効にしています
*運営・管理は各自の考えを元にお願いします
*make はメンテナンスマシンで行っています
*PHP 5.2.x から PHP 5.3.x への移行を参照してください
**以降はコメントです
*新規インストールした openssl を使います
*ソースの取得、削除は省略します
*エディタ、ファイラーの操作は省略します
*ソースを展開したら説明文 (英文) を読みましょう
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :httpd-2.2.16.tar.bz2 | (http://httpd.apache.org/) |
| :php-5.3.3.tar.bz2 | (http://www.php.net/) |
| :re2c-0.13.5-1.src.rpm | (http://sourceforge.net/projects/re2c/) |
参照ファイル:パッケージの追加
:最初の設定 (Xen)
:opensslのインストール
インストール環境| :OS | CentOS 5.5 |
| :selinux | disabled or permissive |
| :インストール先 | httpd /usr/local/apache2 /home/www |
| : | php /usr/local/lib /usr/local/include |
| :作業 | /usr/src |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
*メンテナンスは一般ユーザから行います
仮設定| :User | apache |
| :Group | apache |
| :DocumentRoot | /home/www/htdocs |
| :管理ユーザ | sola |
httpd-2.2.16
httpdユーザ (apache) を登録します*uid/gid情報を参照
*/home/wwwディレクトリを作ります
# useradd -M -u 48 -d /home/www -s /sbin/nologin apache
# mkdir -p /home/www/myhome/{cgi-bin,linux,hobby,archi}
# chown -R apache:apache /home/www
ソースの展開・インストール*configureオプションで指定がない場合、preforkモードでインストールされます
*OSの指定がない場合、config.layoutの<Layout Apache>を読み込みます
*オプションの設定を間違えないようにスクリプトを作り、configureを実行します
*既存のファイルがある場合、DSO関連ファイルがコンパイルされない場合があります
*既存のコンフィグファイルは上書きされない場合があります
*完全コンパイルする場合は、バックアップして再構築します
*必要なファイルをバックアップからコピーします
# service httpd stop
# mv /etc/httpd /etc/httpd2215
# mv /usr/local/apache2 /usr/local/apache2215
# cd /usr/src
# tar jxvf httpd-2.2.16.tar.bz2
# chown -R root:root httpd-2.2.16
# cd httpd-2.2.16
# vi config.layout
*config.layoutを一部修正します (下記)
*コンフィグシェルスクリプトの実行
*同じディレクトリで実行します
*httpd22cfg.sh (詳細別記)
# source httpd22cfg.sh # make # make install
*起動ファイルなどのコピー
# cp build/rpm/httpd.init /etc/init.d/httpd
# cp build/rpm/httpd.logrotate /etc/logrotate.d/httpd
# cd /usr/src
# tar jcvf httpd-2.2.16-100727.tar.bz2 httpd-2.2.16/
:config.layout
*OSの再インストールに備えてdatadirを/home/wwwに移します
*installbuilddirをprefix指定のディレクトリに移します
<Layout Apache>
prefix: /usr/local/apache2
exec_prefix: ${prefix}
bindir: ${exec_prefix}/bin
sbindir: ${exec_prefix}/bin
libdir: ${exec_prefix}/lib
libexecdir: ${exec_prefix}/modules
mandir: ${prefix}/man
sysconfdir: /etc/httpd/conf
datadir: /home/www
installbuilddir: ${prefix}/build
errordir: ${datadir}/error
iconsdir: ${datadir}/icons
htdocsdir: ${datadir}/htdocs
manualdir: ${datadir}/manual
cgidir: ${datadir}/cgi-bin
includedir: ${prefix}/include
localstatedir: /var
runtimedir: ${localstatedir}/run
logfiledir: ${localstatedir}/log/httpd
proxycachedir: ${localstatedir}/cache/httpd
</Layout>
シンボリックリンクの作成*静的リンクされたrewriteモデュールでlogの絶対パス指定ができない
*ServerRootの設定を基準にするようなのでシンボリックリンクをつくります
*RewriteLog "logs/rewrite_log" のように設定します
# cd /usr/local/apache2 # ln -s /var/log/httpd logs
php-5.3.3
re2cのインストール*phpのconfigureで警告がでるので念の為入れておく
# cd /usr/src # mkdir re2c # rpm -ivh re2c-0.13.5-1.src.rpm # cd redhat/SPECS
# vi re2c.spec
*specファイルの修正
release: 1.C55
# rpmbuild -bb --clean --rmsource re2c.spec # mv re2c.spec /usr/src/re2c # cd /usr/src/redhat/RPMS/i386
*作成されたパッケージ
re2c-0.13.5-1.C55.i386.rpm
# rm *debuginfo* # mv *.rpm /usr/src/re2c
*インストール
# cd /usr/src/re2c # rpm -Uvh re2c-0.13.5-1.C55.i386.rpm
ソースの展開・インストール*オプションの設定を間違えないようにスクリプトを作り、configureを実行します
*上書きインストールの場合、httpd.confに再度書き込まれるので修正します
# cd /usr/src
# tar jxvf php-5.3.3.tar.bz2
# chown -R root:root php-5.3.3
# cd php-5.3.3
# make distclean
*コンフィグシェルスクリプトの実行
*同じディレクトリで実行します
*php5cfg.sh (詳細別記)
# source php5cfg.sh
# make # make test # make install
*ファイルをコピーします
# cp php.ini-production /etc/php.ini
*ディレクトリ・ログファイルの作成
# mkdir /etc/php.d
# touch /var/log/httpd/php_log
# chown apache:apache /var/log/httpd/php_log
# cd /usr/src
# tar jcvf php-5.3.3-100723.tar.bz2 php-5.3.3/
configファイルの設定
httpd.conf:/étc/httpd/conf/httpd.conf
:/étc/httpd/conf/extra/httpd-mpm.conf
:/étc/httpd/conf/extra/httpd-default.conf
:/étc/httpd/conf/extra/httpd-info.conf
:/étc/httpd/conf/extra/httpd-personal.conf
php.ini
/home/wwwのユーザ・グループ・アクセス権を変更# chown -R apache:apache /home/www # find /home/www -type f | xargs chmod g-w,o-rwx # find /home/www -type d | xargs chmod g-rw,o-rw
httpd起動スクリプトの修正:/étc/rc.d/init.d/httpd (詳細別記)
selinuxヘの対応 (selinuxが有効の場合)*新規インストールファイルのselinuxラベルを修正
# restorecon -Rv /etc # restorecon -Rv /usr/local # restorecon -FRv /home/www # restorecon -Rv /var
自動起動登録をonにし、httpdを起動します# chkconfig --add httpd
*startする前にhttpd.confのチェックしておきます
# service httpd configtest # service httpd start
iptablesの設定Netfilter (iptables) で制御している場合、ポートを開けてください
*外へのポートは公開するときに開けます
apacheの起動確認*2ndマシンからサーバにアクセスします
URL http://192.168.0.21:80
phpの起動確認*test.phpを作りドキュメントルートに置いて実行します
<?php phpinfo(); ?>
![]() |
Copyright(c) 528p.com All Rights Reserved. |

