답변:
터미널을 사용하여 명령 행으로 웹 페이지를 다시 활성화하는 방법은 다음과 같습니다.
먼저 이것을 복사하여 터미널에 붙여 넣으십시오. 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
그런 다음이 명령을 실행하여 웹 서버를 다시 시작하십시오.
sudo apachectl restart
다음은 macOS의 내장 된 아파치 서버를 활성화하고 사용자 폴더에서 Sites 디렉토리를 사용할 수 있는 한 줄짜리 † 터미널 명령입니다. 이 글을 쓰는 시점에서 최신 버전의 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"
† 글쎄, 정말 길지만 기술적으로 한 줄입니다 ...
/apple//a/57555/9058을 참조 하십시오 . 기본적으로 사용자별로 웹 공유를 수동으로 활성화해야합니다 (Terminal.app 사용).
Mountain Lion은 사용자 디렉토리에 대한 웹 액세스를 제공하는 구성 파일을 제거합니다. 구성 파일은에 /etc/apache2/users/
있습니다. 누락 된 것은입니다 user.conf
. 여기서 user는 짧은 사용자 이름입니다.
커맨드 라인을 사용하지 않으려는 경우 사용자를위한 구성 파일을 생성하기 위해 실행할 수있는 Applescript가 있습니다. 시스템 레벨 디렉토리에 파일을 작성해야하며 높은 권한이 필요하기 때문에 비밀번호를 묻습니다.
응용 프로그램 폴더 또는 런치 패드에서을 엽니 다 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
스크립트가 완료되면 사용자 수준 웹 페이지에 액세스 할 수 있어야합니다.