Webサーバは、WWW(World Wide Web)サーバとも言い、世界中に情報を発信するための、サーバです。
ここでは、Apacheを使ってWebサーバを構築するための方法について説明します。
apacheは、代表的(しかもフリー)なWWWサーバであり、広く利用されています。
unix# cd /usr/local/src/ unix# zcat ../pub/apache_1.3.6.tar.gz | tar -xvf - unix# cd apache_1.3.6 unix# ./configure unix# make unix# ps aux | grep httpd unix# kill httpdのプロセスID unix# make install unix# cd /usr/local/apache/conf unix# vi httpd.conf unix# cd /usr/local/apache/ unix# mv htdocs htm unix# mv cgi-bin cgi unix# ln -s /usr/local/apache/bin/httpd /usr/local/sbin/. unix# ln -s /usr/local/apache/bin/apachectl /usr/local/sbin/. unix# apachectl start unix# cd /etc/rc.d unix# vi rc.local |
apache 1.3.6 は、起動・終了などの制御をするためのコマンドが提供されています。
名前 apachectl option 機能 Apacheの起動、終了などの制御をします。 オプション start - Apacheを起動する stop - Apacheを終了(シャットダウン)する restart - Apacheを再起動する fullstatus - Apacheのすべての状況を表示する status - Apacheの状況を表示する configtest - Apacheの設定ファイルのチェックをする help - Apacheのヘルプメッセージを表示する |
apache 1.3.3 のディレクトリ構成は以下のようになります。
/usr/local/apache/bin/ 実行プログラム格納用 /usr/local/apache/man/ マニュアル格納用 /usr/local/apache/conf/ コンフィグファイル格納用 /usr/local/apache/cgi/ CGI格納用(cgi-bin) /usr/local/apache/htm/ HTML格納用(htdocs) /usr/local/apache/icons/ システムアイコン格納用 /usr/local/apache/log/ アクセスログ格納用 |
httpd.conf | WWWサーバの設定ファイル |
---|---|
ServerType standalone | httpdの起動方法(デーモンとして起動) |
Port 80 | httpdの使用するポート番号 |
User wmaster | httpdを起動するユーザ名 |
Group env | httpdを起動するグループ名 |
ServerAdmin info@ash.jp | httpdの管理者のメールアドレス |
ServerRoot "/usr/local/apache/" | apacheのインストールディレクトリ |
ServerName ash.jp | WWWサーバ名 |
<Directory "/usr/local/apache/htm"> Options Indexes FollowSymLinks AllowOverride None </Directory> |
HTML格納ディレクトリのアクセス権 ディレクトリ一覧は可, シンボリックリンクを許可 .htaccessの使用不可 |
<Directory "/usr/local/apache/cgi"> Options FollowSymLinks ExecCGI AllowOverride None </Directory> |
CGI格納ディレクトリのアクセス権 ディレクトリ一覧は不可, シンボリックリンクを許可, CGI実行可 .htaccessの使用不可 |
DocumentRoot "/usr/local/apache/htm" | HTML, CGI格納ディレクトリ |
DirectoryIndex index.html index.htm index.cgi | デフォルトインデックスファイル |
UserDir public_html | 各ユーザのHTML格納ディレクトリ |
Alias /icons/ "/usr/local/apache/icons/" | システムアイコンのURLの別名 |
ScriptAlias /cgi/ "/usr/local/apache/cgi/" | CGIのURLの別名 |
AddType application/x-httpd-cgi .cgi | CGIのタイプを追加 |
AddHandler cgi-script .cgi | CGIを許可 |
AddType text/x-server-parsed-html .shtml | SSIのタイプを追加 |
AddType text/html .shtml | SSIのタイプを追加 |
AddHandler server-parsed .shtml | SSIを許可 |
/etc/rc.d/rc.local | 起動ファイル |
# www server start /usr/local/sbin/apachectl start | Linux起動時にhttpdを起動 |
unix# tail -100 /usr/local/apache/log/access.log #アクセスログの表示 unix# tail -100 /usr/local/apache/log/error.log #エラーログの表示 |
unix# ps aux | grep httpd |
Apacheでは、apxsコマンドを使って、インストールディレクトリ情報を問い合わせることができます。
TurboLinuxでapxsコマンドがない場合は、Apache develパッケージをインストールする必要があります。
形式: apxs -q 問合せディレクトリ名 使用例: unix# echo `apxs -q PREFIX` /usr/local unix# echo `apxs -q SBINDIR` /usr/local/sbin unix# echo `apxs -q SYSCONFDIR` /usr/local/etc/apache unix# echo `apxs -q LIBEXECDIR` /usr/local/libexec/apache unix# echo `apxs -q INCLUDEDIR` /usr/local/include/apache |
Apacheの組み込みモジュールは、httpd の -l オプションを使って、問い合わせることができます。
unix# /usr/local/sbin/httpd -l |
DSO機能が有効かどうかは、mod_soが組み込まれてるかどうかでわかります。
unix# /usr/local/sbin/httpd -l mod_so.c |
もし、組み込まれていない場合は、以下のオプションを使って、Apacheをメイクする必要があります。
unix# ./configure --prefix=/usr/local --enable-rule=SHARED_CORE --enable-module=so |