回答:
ここでは、ターミナルを使用してコマンドラインでWebページを再度有効にする方法を示します。
最初にこれをコピーして、ターミナルに貼り付けます。あなたは押す必要があるかもしれませんenter、それを実行するために、貼り付けた後。システムディレクトリにファイルを追加しているため、パスワードを要求します。
USER_DIR=$(basename $(echo ~))
sudo bash -c "cat > /etc/apache2/users/$USER_DIR.conf" <<TEXT
<Directory "/Users/$USER_DIR/Sites">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
TEXT
次に、次のコマンドを実行してWebサーバーを再起動します。
sudo apachectl restart
私はFollowSymLinks
次のように追加する必要がありました/etc/apache2/users/username.conf
:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
(username
実際のユーザー名に置き換える必要があります)
以下は、macOSの組み込みapacheサーバーを有効にし、ユーザーフォルダーのSitesディレクトリを使用できるようにする1行の†ターミナルコマンドです。この記事の執筆時点での最新バージョンのmacOS(Mojave)と互換性があり、SierraおよびHigh Sierraでの動作もテストされています。私はそれが他のバージョンでも動作するのではないかと疑っています。将来に備えて書けるように最善を尽くしました。
mkdir ~/Sites ; sudo bash -c "printf '<Directory \"/Users/`whoami`/Sites/\">\n\tAddLanguage en .en\n\tAllowOverride All\n\tOptions Indexes MultiViews FollowSymLinks\n\tRequire all granted\n</Directory>' > /etc/apache2/users/`whoami`.conf ; echo 'AddDefaultCharset utf-8' >> /etc/apache2/httpd.conf ; sed -i '' '/LoadModule userdir_module libexec\/apache2\/mod_userdir.so/s/^#*//g' /etc/apache2/httpd.conf ; sed -i '' '/LoadModule php[0-9]_module libexec\/apache2\/libphp[0-9].so/s/^#*//g' /etc/apache2/httpd.conf ; sed -i '' '/Include \/private\/etc\/apache2\/extra\/httpd-userdir.conf/s/^#*//g' /etc/apache2/httpd.conf ; sed -i '' '/Include \/private\/etc\/apache2\/users\/\*.conf/s/^#*//g' /etc/apache2/extra/httpd-userdir.conf ; apachectl start"
†まあ、それは本当に長くても、技術的には 1行です...
/apple//a/57555/9058を参照してください。基本的に、ユーザーごとのWeb共有を手動で有効にする必要があります(Terminal.appを使用)。
Mountain Lionは、ユーザーディレクトリへのWebアクセスを提供する構成ファイルを削除します。構成ファイルはにあり/etc/apache2/users/
ます。不足しているのはuser.conf
で、userは短いユーザー名です。
コマンドラインをいじりたくない場合は、ユーザー用の設定ファイルを作成するために実行できるApplescriptがあります。システムレベルのディレクトリにファイルを作成する必要があり、昇格した特権が必要なため、パスワードを要求します。
アプリケーションフォルダーまたはLaunchpadで、を開きOther > Applescript Editor
ます。以下のスクリプトをコピーして、Applescriptエディターのテキスト領域に貼り付けます。次に、「実行」ボタンをクリックします。
set userHome to (short user name of (system info))
set configFile to "/etc/apache2/users/" & userHome & ".conf"
set configFileContents to "<Directory \"/Users/" & userHome & "/Sites/\">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>"
do shell script "echo '" & configFileContents & "' > " & configFile with administrator privileges
do shell script "/usr/sbin/apachectl restart" with administrator privileges
スクリプトが終了すると、ユーザーレベルのWebページにアクセスできるようになります。