SSブログ

たぶん難しくないApache2・インストール編 [Linux(Apache)]

 OpenVPN編がまだ終わっていないけども、調べ物に手間取っているので(笑)、次のお題「Apache2」に入っちゃおうかな。(笑)

 パソコンがアフォみたいに安くなったり、インターネット接続も光とかでぶっとくなっちゃったり、ダイナミックDNSサービスが使いやすくなったりで、「自宅にWebサーバを立てる」ということに対する敷居もずいぶんと低くなった今日この頃。
 ISPのホームページサービスとか、レンタルサーバを使って自分のWebサイトを作って公開している人とか、仲間内で気軽に使える空間を持っている人もそれなりにいると思うのだが、いろいろ制限があったりするので「自由に使えるサーバが欲しいなあ」と考える人もぼちぼちいるのではないかと思う。

 個人的には、セキュリティ的な観点から、十分な知識もないままにWebサーバを外部(インターネット)に公開することはオススメしないが、それでも「ど~しても」やりたいという人もいると思うので、ここでもいくつかのノウハウを紹介したいと思う。

 まあ、イントラネットとかで部門やチームの情報発信に…という程度の利用もあるかもしれないしね。



 さて。何はなくともサーバを用意する。このblogでもCentOSのセットアップについては紹介済みなので、サーバの用意についての紹介はそちらを参照してもらいたい。
 Webサーバにする手前、ntpくらいはインストールしておこう。sambaはいらない。
 また、ページのデータをサーバにコピーするため、ftpを使う人も多いと思うので、ftpdを入れておく。最小のセットアップではftpdは入ってこないので、vsftpdをさくっとインストールしておこうか。(お好みでproftpdとかでもいいと思うけど…)
[root@kagami ~]# yum search ftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: www.ftp.ne.jp
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
===================================== Matched: ftpd ======================================
vsftpd.i386 : vsftpd - 非常に安全な Ftp デーモン

 ということなので、yum install vsftpdを実行。デーモンを自動起動するため、chkconfig vsftpd onを実行し、さらに初回は手動で起動することになるので、service vsftpd startと実行しておこう。
 psコマンドでデーモンプロセスの起動を確認できればOK。
[root@kagami ~]# yum install vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 (途中省略)
Installed:
  vsftpd.i386 0:2.0.5-16.el5

Complete!
[root@kagami ~]# chkconfig vsftpd on
[root@kagami ~]# service vsftpd start
vsftpd 用の vsftpd を起動中:                               [  OK  ]
[root@kagami ~]# ps -ef | fgrep ftpd
root      1519     1  0 11:55 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      1522  1377  0 11:56 pts/0    00:00:00 fgrep ftpd


 次に、Webサーバをインストールする。世の中にはいくつか存在するが、ここでは「Apache2」を使用する。yumでインストールできるのだが、うっかりyum search apacheとか実行しようものなら、いろんなものがドバーっと表示されてびっくりするので注意されたし。(笑)
 実は、yum search httpdで見たほうがわかりやすかったりする。(笑)
[root@kagami ~]# yum search httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: ftp.iij.ad.jp
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
===================================== Matched: httpd =====================================
mod_ssl.i386 : Apache HTTP Server 用 SSL/TLS モジュール
system-config-httpd.noarch : Apache 設定ツール
centos-ds.i386 : CentOS Directory, Administration, and Console Suite
httpd.i386 : Apache HTTP Server
httpd-devel.i386 : Apache HTTP サーバー用の開発ツール。
httpd-manual.i386 : Apache HTTP サーバーのドキュメント。
mod_dav_svn.i386 : Subversion サーバー用の Apache サーバーモジュール。

 というわけで、「Apache HTTP Server」が必要なので、「httpd.i386」(あるいは「httpd.x86_64」とか)をインストールする。これ以外にも「mod_」で始まる追加モジュールがあるのだが、ひとまずここでは使用しないので、「httpd」だけをインストールするだけでよい。
 yum install httpdを実行しよう。
[root@kagami ~]# yum install httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: ftp.jaist.ac.jp
 * base: ftp.jaist.ac.jp
 * extras: ftp.jaist.ac.jp
 * updates: ftp.jaist.ac.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.i386 0:2.2.3-31.el5.centos.2 set to be updated
--> Processing Dependency: libapr-1.so.0 for package: httpd
--> Processing Dependency: libaprutil-1.so.0 for package: httpd
--> Running transaction check
---> Package apr.i386 0:1.2.7-11.el5_3.1 set to be updated
---> Package apr-util.i386 0:1.2.7-7.el5_3.2 set to be updated
--> Processing Dependency: libpq.so.4 for package: apr-util
--> Running transaction check
---> Package postgresql-libs.i386 0:8.1.18-2.el5_4.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
 Package                 Arch         Version                       Repository       Size
==========================================================================================
Installing:
 httpd                   i386         2.2.3-31.el5.centos.2         updates         1.2 M
Installing for dependencies:
 apr                     i386         1.2.7-11.el5_3.1              base            123 k
 apr-util                i386         1.2.7-7.el5_3.2               base             76 k
 postgresql-libs         i386         8.1.18-2.el5_4.1              updates         196 k

Transaction Summary
==========================================================================================
Install      4 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 1.6 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): apr-util-1.2.7-7.el5_3.2.i386.rpm                           |  76 kB     00:00
(2/4): apr-1.2.7-11.el5_3.1.i386.rpm                               | 123 kB     00:00
(3/4): postgresql-libs-8.1.18-2.el5_4.1.i386.rpm                   | 196 kB     00:00
(4/4): httpd-2.2.3-31.el5.centos.2.i386.rpm                        | 1.2 MB     00:00
------------------------------------------------------------------------------------------
Total                                                     2.8 MB/s | 1.6 MB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : apr                                                                1/4
  Installing     : postgresql-libs                                                    2/4
  Installing     : apr-util                                                           3/4
  Installing     : httpd                                                              4/4

Installed:
  httpd.i386 0:2.2.3-31.el5.centos.2

Dependency Installed:
  apr.i386 0:1.2.7-11.el5_3.1                     apr-util.i386 0:1.2.7-7.el5_3.2
  postgresql-libs.i386 0:8.1.18-2.el5_4.1

Complete!


 インストールが済んだら、chkconfigしてserviceして…と行きたいところだが、初期設定をする必要があるので、まだここでは起動の準備は行わない。

 yumでインストールした場合の初期設定についは、/etc/httpd/conf/httpd.conf、あるいは/etc/httpd/conf.d/*.confを使用する。一般的に、「/etc/httpd/conf」はApache本体の設定を、「/etc/httpd/conf.d」は追加モジュールの設定を記述するのがセオリーになっている。(気にしない人もいる)

 軽く、/etc/httpd/conf/httpd.confの中身を覗いてみておいて欲しいが、1000行近い巨大なファイルでうんざりする。(笑)ご丁寧にコメントが記述されているので設定項目が1000個もあるわけではないが、ぱっと身でどれが必要でどれが不要なのかさっぱりわからん!と思ってしまうかもしれない。(笑)

 ちなみに、「ど~しても書かなきゃいけない内容」ってのは、実はこんだけしかないのである。(笑)
[root@kagami conf]# cat httpd.conf
ServerRoot      "/etc/httpd"
PidFile         run/httpd.pid
Listen          80
User            apache
Group           apache

ServerName      kagami.hiiragi.com:80
DocumentRoot    "/var/www/html"

 最低、これだけ記述すればhttpdは起動して何らかのhtmlファイルが見えたりするのである。
 ただ、これだけでは、あまりにも不便だったり、セキュリティ的にどうなの!?みたいなことがあるので、適宜必要な設定を追加してそれなりに使えるように調ky…ゲフンゲフン…設定してやる必要があるのである。(笑)

 次のアーティクルでは、このhttpd.confについてもうちょっと掘り下げて説明したいと思う。
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。