Mac OSXには標準でApacheがインストールされていて、Webサーバとして運用できる。

[Apacheの起動]
システム環境設定を開き、「インターネットとネットワーク」の「共有」を開き、サービスの中の「Web共有」にチェックを入れるだけでApacheが起動される。

Apacheの設定を変更した場合、「Web共有」のチェックを入れなおせばApacheを再起動することができるが、面倒なのでapachectlを使う。apachectlはスクリプトファイルで、引数にstart, stop, restart, graceful, graceful-stop, configtestなどを指定することでApacheを操作できる。ただしOSXのapachectlは、そのままでは正常に動作しないので以下のように編集しなければならない。
(変更前)

ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"

(変更後)

ULIMIT_MAX_FILES=""

[Apacheの設定]
Apacheの設定ファイルは/etc/apache2内に置かれている。私はバーチャルホストでページを公開するので以下のように設定した。

</etc/apache2/httpd.conf>
バーチャルホストの設定ファイル(外部ファイル)をインクルードするように、以下の行のコメントアウトを外した。
(変更前)

#Include /private/etc/apache2/extra/httpd-vhosts.conf

(変更後)

Include /private/etc/apache2/extra/httpd-vhosts.conf

</etc/apache2/extra/httpd-vhosts.conf>
バーチャルホストの設定は以下のような感じにした。

<VirtualHost *:80>
    ServerName (サーバのFQDNまたはIPアドレス)
    ServerAdmin (メールアドレス) 

    DocumentRoot /Users/www/Documents
    <Directory />
        Options FollowSymLinks
        AllowOverride none
    </Directory>

    <Directory /Users/www/Documents/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride none
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /Users/www/CGI-Executables/
    <Directory "/Users//www/CGI-Executables">
        AllowOverride none
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

ドキュメントルートは任意だが、ここでは/Usersフォルダにwwwフォルダを作成し、この中のDocumentsフォルダにhtmlファイルやphpファイル、CGI-Executablesフォルダにcgiファイルを配置することにした。Apache2の実行ユーザーおよびグループはwwwというビルトインユーザーおよびグループなので、Web公開用のフォルダの所有権をwwwに変更しておく。

sudo mkdir -p /Users/www/Documents
sudo mkdir /Users/www/CGI-Executables
sudo chown -R www:www /Users/www

Apacheを再起動する。

sudo /usr/sbin/apachectl restart

SeverNameに指定したFQDNやIPアドレスにブラウザからアクセスすれば動作を確認することができる。

コメントを残す