Apache とは
無料ですので、当然ながらサポートはありません。
しかし、有償ソフトウェアに比較して無償ソフトウェアの方が、ネット上の情報量ははるかに多くありますので、
仮に問題が発生しても、解決に困ることは無いでしょう。
また、Apacheは現在でもWEBサーバとして
55%以上のシェアを誇っており、実に多くの運用実績が、
その信頼性の高さを物語っていると言えるでしょう。
安定性が高く、動作も軽快で、さらに機能が豊富という点では、有償ソフトウェアに勝るとも劣りません。
Apache2.2 のインストール(apache-2.2.14_5)
一般的に、portsからのインストールと単独のインストールではデフォルトディレクトリ構成が全く異なります。
Apache2.2も例外ではなく、portsからApache2.2をインストールした場合、
構成ファイルは /usr/local/etc/apache22/httpd.conf、ドキュメントルートは /usr/local/www/apache22/data
となります。
一方、単独でインストールした場合、
構成ファイルは /usr/local/apache2/conf/httpd.conf、ドキュメントルートは /usr/local/apache2/htdocs/
となります。
ここでは、他モジュールとの整合性を保つため、portsからインストールします。
portsのインストール準備まで完了していると、以下の通りインストールは至って簡単です。
表1 Apache2.2 のインストール
# cd /usr/ports/www/apache22
# make ← Makefile にしたがってコンパイルします。
各Windowの選択肢はデフォルトのまま。
MySQLにチェックを入れるとMySQLクライアントがインストールされるのでデフォルト通りチェックを入れません。
ここで、makeで重大なエラーが発生してないことを確認して下さい。
# make install clean ← インストール & 不要モジュールの消去
/usr/local/etc/apache22/httpd.conf の設定
httpd.confは Apache の動作を設定するための構成ファイルです。
viエディタで以下の通り設定します。
PHPを使用可能にする
PHPを使用可能にするためには、
まず、AddType ディレクティブにより、ファイルの拡張子 .php をメタ情報にマッピングします。
次に、ディレクトリ名でアクセスされた場合にアクセスするデフォルトのファイル名 index.php を DirectoryIndex に追加します。
表2 httpd.conf の設定:PHPを使用可能にする
・・・
AddType application/x-httpd-php .php ← 無ければ追加する
・・・
DirectoryIndex index.html index.php index.htm ← index.php を追加する
・・・
ユーザ・グループの設定
WEBサイトにアクセスする際のユーザとグループを設定・変更します。
表3 httpd.conf の設定:ユーザとグループの設定
・・・
User neolux ← 必要があれば"User www"を変更する
Group neolux ← 必要があれば"Group www"を変更する
・・・
管理者メールアドレス・サーバー名・ドキュメントルートの設定
サーバに問題が発生した場合に送信するメールアドレス、サーバ名:ポート番号(設定しないとスタート時にエラーメッセージが出ることがある)、
およびドキュメントルート(ドキュメント配置場所のルートディレクトリ)を設定します。
表4 httpd.conf の設定:管理者メールアドレス・サーバー名・ドキュメントルートの設定
・・・
ServerAdmin admin@neoluxinc.com ← 初期設定"ServerAdmin you@example.com"を変更する
・・・
ServerName neolux001.neoluxinc.com:80 ← 初期設定"#ServerName www.example.com:80"の"#"を取り、サーバ名:ポート番号を変更する
・・・
DocumentRoot "/usr/home/neolux/www" ← 初期設定"DocumentRoot "/usr/local/www/apache22/data""を必要に応じ変更する
・・・
ドキュメントディレクトリのアクセス許可、.htaccess の上書き許可およびCGIの許可
Apacheではディレクトリ単位でアクセス許可やCGI等の実行許可の設定が可能です。
ここでは、ドキュメントルートディレクトリ以下のサブディレクトリには同じ設定を適用するため、
ドキュメントルートディレクトリ"/usr/home/neolux/www"に、表5の通り設定します。
表5 httpd.conf の設定:ドキュメントディレクトリのアクセス許可、.htaccess の上書き許可およびCGIの許可
・・・
<Directory /usr/home/neolux/www>
Options ExecCGI FollowSymLinks Includes MultiViews ← CGI実行、シンボリックリンク、SSI(Server Side Includes)、MultiViewを可能に設定
AllowOverride All ← .htaccess中のディレクティブのOverride(上書き)を許可:即ちディレクトリごとに.htaccessの設置が有効
Order allow,deny
Allow from all
</Directory>
・・・
また、AddHandler ディレクティブにより、拡張子 .cgi のファイルを CGI スクリプトにマッピングする必要があります。
表6 httpd.conf の設定:拡張子 .cgi のファイルを CGI スクリプトにマッピング
・・・
AddHandler cgi-script .cgi ← 行頭の"#"を外す
・・・
バーチャルホストの設定
バーチャルホストには、「IPベースのバーチャルホスト」と「名前ベースのバーチャルホスト」があります。
ここでは、1つのIPアドレスで複数のドメインを運用できる「名前ベースのバーチャルホスト」の設定を行います。
設定は、表7の通り簡単です。
"ServerName"にドメイン名あるいはサブドメイン名を、"DocumentRoot"にアクセスするディレクトを設定します。
表7の"*"の部分をローカルIPアドレスに変更することも可能です。
表7 httpd.conf の設定:名前ベースのバーチャルホスト
・・・
NameVirtualHost *:80
・・・
<VirtualHost *:80>
ServerName neoluxusa.com
DocumentRoot /usr/home/neolux/www/AmazonUSA/
</VirtualHost>
<VirtualHost *:80>
ServerName www.neoluxusa.com
DocumentRoot /usr/home/neolux/www/AmazonUSA/
</VirtualHost>
<VirtualHost *:80>
ServerName sneo.biz
DocumentRoot /usr/home/neolux/www/BeautyNeo/
</VirtualHost>
<VirtualHost *:80>
ServerName www.sneo.biz
DocumentRoot /usr/home/neolux/www/BeautyNeo/
</VirtualHost>
<VirtualHost *:80>
ServerName m.sneo.biz
DocumentRoot /usr/home/neolux/www/MobileNeo/
</VirtualHost>
・・・
Apache の停止・起動・再起動コマンド
Apacheは、表8~表10のコマンドで停止・起動あるいは再起動することができます。
表8 Apacheの停止コマンド
# /usr/local/etc/rc.d/apache22 stop
表9 Apacheの起動コマンド
# /usr/local/etc/rc.d/apache22 start
表10 Apacheの停止後再起動コマンド
# /usr/local/etc/rc.d/apache22 restart
サーバ起動時に Apache も自動的に起動する
サーバ起動時に Apache も自動的に起動するには、/etc/rc.conf に表11に示す行を追加します。
表11 サーバ起動時に Apache も自動的に起動する(/etc/rc.conf に追加)
apache22_enable="YES"
最終更新日:2010年6月18日