Big SurのApacheサーバーを使って、検証する必要のある案件があったので、ユーザー固有のページを表示させるための設定について、まとめます。
Apacheの設定ファイル
下記のコマンドでapacheの設定ファイルを編集します。設定ファイルを編集する場合は、バックアップを取ることを推奨します。
# バックアップとしてコピーを取ります。(オプショナル)
sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.orig
# root権限で編集します。
sudo vim /etc/apache2/httpd.conf
このhttpd.conf
ファイルで設定を変更します。
PHPを有効にする(PHPが必要な場合)
下記の行のコメントを外します。
#LoadModule php7_module libexec/apache2/libphp7.so
個人用ウェブサイトを有効にする
下記の2行のコメントを外します。
#LoadModule userdir_module libexec/apache2/mod_userdir.so
・・・
#Include /private/etc/apache2/extra/httpd-userdir.conf
ここでファイルを保存して閉じます。
次に下記のファイルを編集します。
sudo vim /etc/apache2/extra/httpd-userdir.conf
このファイルの下記の行のコメントを外します。
#Include /private/etc/apache2/users/*.conf
ファイルを保存して閉じます。
この設定でウェブサーバーを起動すれば、ユーザーのホームディレクトリにSites
というフォルダ直下のファイルがウェブページとして表示されるようになります。テスト用にindex.html
ファイルを作成して、任意の文字列を保存しておきます。
必要に応じて、/private/etc/apache2/users/*.conf
ファイルの内容を更新してください。基本的には下記のような記載があれば問題ありません。
<Directory /Users/*/Sites>
DirectoryIndex index.html index.php
AllowOverride All
Options All
Require all granted
</Directory>
ウェブサーバーを起動する
まず設定ファイルにエラーがないか下記のコマンドで確認します。
httpd -t
または
apachectl configtest
Syntax OK
という文字列が表示されていれば合格です。
つぎのコマンドでウェブサーバーを起動します。
sudo apachectl start
ウェブサーバー起動後、任意のブラウザでlocalhost/~username
にアクセスすると、username/Sites
フォルダにあるファイルが表示されます。index.html
やindex.php
ファイルを作成していればそのファイルの内容が表示されます。
以上です。