Sorry,this site is Japanese only!
 jseek.org is study memo

Apache2

言わずと知れたWebサーバソフトウェア。その昔はApacheといえば、このWebサーバソフトウェアのことを
指していましたが、現在はApacheといえば「Apache Software Foundation」を指すこともすくなくなってきたので
Apache httpdと分類したほうがよさそうです。

ということで、ここではApache httpdのインストールについて記述します。
今回対象としているのは httpd-2.0.55です。

インストール(基本設定編)

基本設定とは、単純にWebサーバとして動作し、SSLなど一切サポートしない状態を指します。
そして、ベースディレクトリは「/usr/local/apache2」とし、設定ファイル群は、
「/usr/local/etc/apache2」以下に配置するものとします。
またソースファイルは、「/usr/local/src」においてあるものとします。
(作業を行う一般ユーザのユーザ名は「user」、グループ名は「group」としています。)


 $ su -
 # cd /usr/local/src
 # tar jxvf httpd-2.0.55.tar.bz2
 # chown -R user:group httpd-2.0.55
 # exit
 $ cd /usr/local/src/httpd-2.0.55
 $ ./configure --sysconfdir=/usr/local/etc/apache2
   --enable-so --enable-ssl
 $ make
 $ su
 # make install
 # exit


httpd-2.0.xxは「--prefix」オプションを指定しない場合、インストールベースが
「/usr/local/apache2」になっていますので、特にベースディレクトリをしていません。
「--syscondir」オプションは設定ファイルを置くディレクトリを指定するオプションです。
「--enale-so 」オプションは、DynamicSharedObjectを取り込むという宣言です。
「--enable-ssl」オプションはSSLモジュールを組み込むためのオプションです。この
オプションには本来はOpenSSLのベースディレクトリを指示してやる必要があります。
ですが、VineLinuxにはOpenSSLのRPMが導入されており、これと競合するため
ソースでインストールしたOpenSSLは利用できません。したがってシステムディレクトリの
ものを使いますので指定は必要ありません。
その他オプションを知りたい方はconfigureスクリプトに「--help」オプションを渡してみてください。

ただ、1点注意すべきは標準パッケージのopensslには
ヘッダなどが用意されていません。ですので上記作業を行う前にこれを取得する必要があります。
これを得るためには以下のようにしてください。


 # apt-get install openssl-devel

さて、この状態で動くかというと、皆さんのご察しの通り、設定を行っていませんので動きません。
ということで設定を行って生きたいと思います。

ここで、通常なら、apache httpdの基本設定ファイルであるhttpd.confを
ガリガリといじっていくところですが、後々、設定変更などで変更行を探すことが
手間取ることを考え、httpd.confへはほとんど記述せず、別ファイルからの設定を
取り込む形をとります。

まず、httpd.confに加えるべき変更のみを以下に示します。
まずはhttpd.confの268行目


 Group # -1

というところを次のように変更します。


 Group nobody

OSによっては何の権限もないグループは「nogroup」となるものもありますが、Linuxでは
一般的に「nobody」がこれにあたりますので、ここでは「nobody」を指定しています。

次に変更すべき点は277行目の


 ServerAdmin you@example.com

というところをご自身のメールアドレスに変更します。


 ServerAdmin root@jseek.org

httpd.confに記述する内容は次で最後なのですが、設定ファイルは1032行目で終了ですので
1033行目に以下の追記を行ってください。


 Include /usr/local/etc/apache2/myorig.conf

これは「/usr/local/etc/apache2/myorig.conf」の内容を取り込み、httpd.confに
反映させるということを示しています。つまり、myorig.confに自分の必要とする設定を
どんどん記述していくことになります。

そして、基本設定として必要なものを「/usr/local/etc/apache2/myorig.conf」として
用意していきます。

今回、Webの公開だけができればいいのでmyorig.confには次のような記述を行います。
ここで、ご自身で立てられるWebサーバのFQDN(Full Query Domain Name ?)が
「www.jseek.org」、IPアドレスが「192.168.1.1」だとすると


 ServerName www.jseek.org

もしくは


 ServerName 192.168.1.1 

以上で基本の設定は終了です。一般的にFQDNで記載するほうが好ましいようですが
用途や環境によっては以下の設定が必要となることもあります。

それでは、実際にwebサーバを起動させてみたいと思います。
起動を行うには、一般的に「/usr/local/apache2/bin」以下にあるapachectlというプログラムを
使います。起動はrootで実施してください。
(その他の起動方法として、同じディレクトリにあるhttpdを直接起動する方法もありますが、
ここでは触れません。)


 # /usr/local/apache2/bin/apachectl start 

もし、皆さんの設定がうまく言っているならば、コマンドラインへはなんら結果があらわれず、
ブラウザからこのホストのFQDNもしくはIPアドレスでアクセスすると、apacheの基本画面
みることができるということになります。

さて、ここで補足事項なのですがウェブサーバプログラムを起動したからには
もちろん終了するすべも用意されています。これを行ってくれるプログラムもapachectlになります。
先ほどと同様に実施をするのですが、今度は引数として以下のように「stop」を与えます。


 # /usr/local/apache2/bin/apachectl stop 

その他のapachtctlのオプションを知りたい場合は単に


 # /usr/local/apache2/bin/apachectl

とだけ実施するとオプションのリストが表示されます。