たぶん難しくないApache2・インストール編 [Linux(Apache)]
OpenVPN編がまだ終わっていないけども、調べ物に手間取っているので(笑)、次のお題「Apache2」に入っちゃおうかな。(笑)
パソコンがアフォみたいに安くなったり、インターネット接続も光とかでぶっとくなっちゃったり、ダイナミックDNSサービスが使いやすくなったりで、「自宅にWebサーバを立てる」ということに対する敷居もずいぶんと低くなった今日この頃。
ISPのホームページサービスとか、レンタルサーバを使って自分のWebサイトを作って公開している人とか、仲間内で気軽に使える空間を持っている人もそれなりにいると思うのだが、いろいろ制限があったりするので「自由に使えるサーバが欲しいなあ」と考える人もぼちぼちいるのではないかと思う。
個人的には、セキュリティ的な観点から、十分な知識もないままにWebサーバを外部(インターネット)に公開することはオススメしないが、それでも「ど~しても」やりたいという人もいると思うので、ここでもいくつかのノウハウを紹介したいと思う。
まあ、イントラネットとかで部門やチームの情報発信に…という程度の利用もあるかもしれないしね。
さて。何はなくともサーバを用意する。このblogでもCentOSのセットアップについては紹介済みなので、サーバの用意についての紹介はそちらを参照してもらいたい。
Webサーバにする手前、ntpくらいはインストールしておこう。sambaはいらない。
また、ページのデータをサーバにコピーするため、ftpを使う人も多いと思うので、ftpdを入れておく。最小のセットアップではftpdは入ってこないので、vsftpdをさくっとインストールしておこうか。(お好みでproftpdとかでもいいと思うけど…)
ということなので、yum install vsftpdを実行。デーモンを自動起動するため、chkconfig vsftpd onを実行し、さらに初回は手動で起動することになるので、service vsftpd startと実行しておこう。
psコマンドでデーモンプロセスの起動を確認できればOK。
次に、Webサーバをインストールする。世の中にはいくつか存在するが、ここでは「Apache2」を使用する。yumでインストールできるのだが、うっかりyum search apacheとか実行しようものなら、いろんなものがドバーっと表示されてびっくりするので注意されたし。(笑)
実は、yum search httpdで見たほうがわかりやすかったりする。(笑)
というわけで、「Apache HTTP Server」が必要なので、「httpd.i386」(あるいは「httpd.x86_64」とか)をインストールする。これ以外にも「mod_」で始まる追加モジュールがあるのだが、ひとまずここでは使用しないので、「httpd」だけをインストールするだけでよい。
yum install httpdを実行しよう。
インストールが済んだら、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個もあるわけではないが、ぱっと身でどれが必要でどれが不要なのかさっぱりわからん!と思ってしまうかもしれない。(笑)
ちなみに、「ど~しても書かなきゃいけない内容」ってのは、実はこんだけしかないのである。(笑)
最低、これだけ記述すればhttpdは起動して何らかのhtmlファイルが見えたりするのである。
ただ、これだけでは、あまりにも不便だったり、セキュリティ的にどうなの!?みたいなことがあるので、適宜必要な設定を追加してそれなりに使えるように調ky…ゲフンゲフン…設定してやる必要があるのである。(笑)
次のアーティクルでは、このhttpd.confについてもうちょっと掘り下げて説明したいと思う。
パソコンがアフォみたいに安くなったり、インターネット接続も光とかでぶっとくなっちゃったり、ダイナミック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についてもうちょっと掘り下げて説明したいと思う。
コメント 0