CentOS5で新サーバ構築/(2)WWWサーバの立上げ のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- CentOS5で新サーバ構築/(2)WWWサーバの立上げ へ行く。
- 1 (2008-06-30 (月) 16:12:20)
- 2 (2008-07-02 (水) 12:27:37)
WWWサーバの立上げ †
WWWサーバ構築に必要な主要アプリとしては、この2つである。
- HTTP:Apache
- DB:MySQL
まず、HTTPサーバとしてパッケージインストールを行う。
httpdのインストール †
- 必要なアプリはひとつずつインストールしていくのが、今回のサーバ構築の基本方針である。
- パッケージ名は注意が必要。HTTPサーバは当然のごとく「Apache」である。ところが、Linuxのパッケージ名は、「Apache」ではなく、「httpd」だった。(こうした情報は、どこに書いてあるのかな? 解説記事がないと迷うことになるのだが。)
- まずパッケージがインストールされているかどうか確認する。
[root@kuraric5 ~]# rpm -qa httpd
- 何も結果表示されないということは、インストールされていないということ(当たり前だが)で、yumでインストールをはじめる。
[root@kuraric5 ~]# yum -y install httpd Loading "installonlyn" plugin 【中略】 ================================================ Package Arch Version Repository Size ================================================ Installing: httpd i386 2.2.3-7.el5.centos updates 1.1 M Transaction Summary ================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.1 M Downloading Packages: (1/1): httpd-2.2.3-7.el5. 100% |=========================| 1.1 MB 00:48 Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: httpd ######################### [1/1] Installed: httpd.i386 0:2.2.3-7.el5.centos Complete!
WWWサーバの起動 †
- とりあえずhttpdを起動する。警告がでるが、これは設定が不十分のためで、TEST Page表示は問題なし。
[root@kuraric5 conf]# /etc/rc.d/init.d/httpd start httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [ OK ]
・常時起動にしておく[root@kuraric5 conf]# chkconfig httpd on
confファイルの設定 †
- 実は、現サーバからhtml等のコンテンツを移してトップページを表示させると、いきなり文字化けする。(実は、この後新サーバでは「文字コードトラブル」の嵐が吹き荒れるのだが、これはほんの序の口)
- 現サーバの文字コードはEUC-Jである。また、各htmlファイルの先頭には、以下のような文字コードセットの記載がある。
<META http-equiv=Content-Type content="text/html; charset=euc-j">
- パソコンのブラウザは、この文字指定を元にエンコードしている。ところが、新サーバのhttpdの設定ファイル(/etc/httpd/conf/httpd.conf)には、文字指定を「UTF-8」に変更するようになっており、強制的に文字コードセットを書き換えている。
<META http-equiv=Content-Type content="text/html; charset=utf-8">
- 指定だけUTF-8に変えても、ファイル本体の文字コード自体はEUCのままだから、当然文字化けするという仕掛けである。ブラウザの文字コード設定(「表示」→「文字エンコード」)を、強制的にEUCに指定すればちゃんと表示できるから間違いない。
- したがって、httpdは余分なことをしないように、文字指定を削除(コメント化)する
[root@kuraric5 conf]# vi /etc/httpd/conf/httpd.conf 【該当部分行頭に#をつける】 #--2007/7/27 OFF ------------------------------------------------ #AddDefaultCharset UTF-8
- confを書き換えたら、ちゃんと、httpdの再起動して変更内容を有効にしておく必要がある。
[root@kuraric5 conf]# /etc/rc.d/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
コンテンツファイルの戻し †
- 話は少し前後するが、現サーバからコンテンツを移行する。方法としては、
- NFS機能を利用:新サーバに現サーバをmountして、ファイルを直接コピーする
- 圧縮ファイル化:現サーバのファイルをtar.gz保存、新サーバで解凍展開する
(サーバ間は、WinSCPなど利用してクライアントPC経由とするのが簡単)
- 今回は、後者の方法をとる。あらかじめ/var/www配下を丸ごとパックして、そのファイルをもどす場合の手順である。
【現サーバ側】 [root@kurarin]# cd /var [root@kuraric5 var]# tar cvf www_cent5.tar www/ 【新サーバ側】 [root@kuraric5]# cd /var [root@kuraric5 var]# cp -arp /home/eizo/www_cent5.tar . [root@kuraric5 var]# rm -rf www/ [root@kuraric5 var]# tar xvf www_cent5.tar www/ www/usage/ (以下略)
追加パッケージのインストール †
- 掲示板はCGIだが、phpも動いているので、連携のためいくつかのphpパッケージが必要。
①php、php-mbstringインストール[root@kuraric5 www]# yum -y install php php-mbstring Loading "installonlyn" plugin 【中略】 ================================================ Package Arch Version Repository Size ================================================ Installing: php i386 5.1.6-12.el5 updates 1.2 M php-mbstring i386 5.1.6-12.el5 updates 967 k Installing for dependencies: php-cli i386 5.1.6-12.el5 updates 2.2 M php-common i386 5.1.6-12.el5 updates 139 k Transaction Summary ================================================= Install 4 Package(s) Update 0 Package(s) Remove 0 Package(s) 【中略】 Installed: php.i386 0:5.1.6-12.el5 php-mbstring.i386 0:5.1.6-12.el5 Dependency Installed: php-cli.i386 0:5.1.6-12.el5 php-common.i386 0:5.1.6-12.el5 Complete!
②perl関係の調整
- Perlコマンドへ/usr/local/bin/perlでもアクセスできるようにする。つまり、/usr/local/bin/perlから/usr/bin/perlへリンクをはり、Perlのパスを確認する。
[root@kuraric5 www]# ln -s /usr/bin/perl /usr/local/bin/perl [root@kuraric5 www]# whereis perl perl: /usr/bin/perl /usr/local/bin/perl /usr/share/man/man1/perl.1.gz
- 以上で準備完了、コンテンツは現サーバからそのまま丸ごとコピーだ!
[root@kuraric5 www]# ls -l 合計 24 drwxr-xr-x 5 root root 4096 8月 5 19:52 cgi-bin drwxr-xr-x 3 root root 4096 8月 5 06:17 error drwxr-xr-x 16 root root 4096 8月 5 19:52 html drwxr-xr-x 3 root root 4096 8月 10 15:37 icons drwxr-xr-x 14 root root 4096 8月 5 06:18 manual drwxr-xr-x 2 67 root 4096 8月 5 05:32 usage
Webサーバーの本格起動 †
①起動
[root@kuraric5 www]# /etc/rc.d/init.d/httpd start httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [ OK ]
②常時起動に設定変更
[root@kuraric5 www]# chkconfig httpd on [root@kuraric5 www]# chkconfig --list httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ファイアウオールの停止 †
- HPにアクセスしてみたが、トップページが表示できない? サーバ宛のpingはOK、これは焦った(^^;) 設定上の致命的ミスかと思った。
[root@kuraric5 html]# ping 192.168.1.250 PING 192.168.1.250 (192.168.1.250) 56(84) bytes of data. 64 bytes from 192.168.1.250: icmp_seq=1 ttl=64 time=0.154 ms 64 bytes from 192.168.1.250: icmp_seq=2 ttl=64 time=0.070 ms
- なんと、Firewallが動作していた!! ルータ自体がFirewallになので、サーバ自体での機能は不要と考えている。ところが、インストール時の調整が甘かったせいか有効になってしまったようだ。
- iptablesの動作確認すると、確かに有効になってる!! あわてて、OFFにする。これで、無事にトップページが表示できた。
[root@kuraric5 html]# chkconfig --list iptables iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@kuraric5 html]# chkconfig iptables off [root@kuraric5 html]# chkconfig --list iptables iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off