CentOS5で新サーバ構築/(2)WWWサーバの立上げ の変更点


#navi(CentOS5で新サーバ構築)

*WWWサーバの立上げ [#z5045a8f]

WWWサーバ構築に必要な主要アプリとしては、この2つである。
-- HTTP:Apache
-- DB:MySQL

まず、HTTPサーバとしてパッケージインストールを行う。

#contents

**httpdのインストール [#he814f03]
- 必要なアプリはひとつずつインストールしていくのが、今回のサーバ構築の基本方針である。
- パッケージ名は注意が必要。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サーバの起動 [#ddada454]
- とりあえず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ファイルの設定 [#u477bc6b]
- 実は、現サーバからhtml等のコンテンツを移してトップページを表示させると、いきなり文字化けする。(実は、この後新サーバでは「文字コードトラブル」の嵐が吹き荒れるのだが、これはほんの序の口)

  &ref(top_char_error.jpg,,50%,top_error);
   &ref(top_char_error.jpg,,50%,top_error);

- 現サーバの文字コードは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

**コンテンツファイルの戻し [#f37367e3]
- 話は少し前後するが、現サーバからコンテンツを移行する。方法としては、
-- NFS機能を利用:新サーバに現サーバをmountして、ファイルを直接コピーする
-- 圧縮ファイル化:現サーバのファイルをtar.gz保存、新サーバで解凍展開する &br;
 (サーバ間は、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/
 (以下略)

**追加パッケージのインストール [#h5b83608]
- 掲示板はCGIだが、phpも動いているので、連携のためいくつかのphpパッケージが必要。&br;
①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サーバーの本格起動 [#a5e31199]
①起動
 [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

**ファイアウオールの停止 [#md3182f8]
- 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

#navi(CentOS5で新サーバ構築)
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   リンク元