apache2의 다른 포트에서 디렉토리를 변경하거나 여러 디렉토리에서 실행하는 올바른 방법은 다음과 같습니다.
apache2의 경우 구성 파일은 /etc/apache2
이전 버전에서와 같이 단일 구성 파일 아래에 있으며 단일 구성 파일을 사용하지 않지만 /etc/apache2/apache2.conf
기본 구성 파일 인 더 작은 구성 파일로 분할 됩니다. 다른 디렉토리에서 파일을 제공하려면 새로운 virtualhost conf 파일이 필요합니다. virtualhost conf 파일은 /etc/apache2/sites-available
(사이트에서 활성화 된 파일을 편집하지 마십시오)에 있습니다. 기본 아파치 설치는 virtualhost conf 파일을 사용합니다 000-default.conf
.
apache의 기본 설치 (포트 80의 localhost에서 실행되는 파일)에 사용되는 기본 가상 호스트 파일을 복사하여 새 가상 호스트 파일을 작성하여 시작하십시오. 디렉토리로 변경 /etc/apache2/sites-available
한 다음로 복사 sudo cp 000-default.conf example.com.conf
하여 파일 sudo gedit example.com.conf
을 다음으로 편집하십시오 .
<VirtualHost *:80>
ServerAdmin example@localhost
DocumentRoot /home/ubuntu/example.com
</VirtualHost>
간결성을 위해 위 파일에서 중요하지 않은 행을 삭제했습니다. DocumentRoot
웹 사이트 파일이 제공되는 디렉토리 경로는 다음과 같습니다 index.html
.
예를 들어 파일을 제공 할 디렉토리를 작성하십시오. mkdir example.com
로그인 한 사용자 이름이로 ubuntu
변경 권한 인 경우와 같이 디렉토리의 소유자 및 기본 그룹을 변경합니다 sudo chown ubuntu:www-data example.com
. 이것은 사용자에게 모든 액세스 권한을 부여 ubuntu
하고 그룹에 대한 읽기 및 실행 액세스를 허용합니다 www-data
.
이제 /etc/apache2/apache2.conf
명령을 실행 하여 apache conf 파일 을 편집하고 닫는 태그 아래 sudo gedit apache2.conf
줄을 찾아 <Directory /var/www/>
아래 </Directory>
에 다음을 추가하십시오.
<Directory /home/ubuntu/example.com>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
지금있는 가상 호스트 설정 파일, 사용하거나 사용하지 않도록 설정하는 두 가지 명령이 있습니다 a2ensite
및 a2dissite
각각이. 우리 이제부터 example.com.conf
파일 (동일한 포트를 사용하여 80
기본 구성 파일 (에 의해 사용되는) 000-default.conf
), 우리는 명령을 실행하여 기본 구성 파일을 해제해야 sudo a2dissite 000-default.conf
의해 우리의 가상 호스트의 conf 파일을 사용 가능sudo a2ensite example.com.conf
이제 명령으로 서버를 다시 시작하거나 다시로드하십시오 sudo service apache2 restart
. 이제 아파치는 기본 포트 인의 디렉토리 example.com
에서 파일을 제공합니다 .localhost
80
이 a2ensite
명령은 기본적으로 사이트 사용 디렉토리 아래에 conf 파일에 대한 심볼릭 링크를 만듭니다.
이 답변 https://stackoverflow.com/a/41568701/2532763 에서 지적한 것처럼 사이트 사용 가능 또는 * 사용 가능 Directoy 내에서 파일을 편집하지 마십시오.
포트를 변경하고 다른 포트의 여러 디렉토리에서 실행하려면 다음을 수행하십시오.
이제 다른 포트에서 디렉토리를 실행해야하는 경우 virtualhost 파일을 다음과 같이 편집하여 포트 번호를 80에서 8080으로 변경하십시오.
<VirtualHost *:8080>
ServerAdmin user@localhost
DocumentRoot /home/ubuntu/work
</VirtualHost>
바로 아래에 편집 /etc/apache2/ports.conf
및 추가Listen 8080
Listen 80
example.com 디렉토리가 포트 8080을 사용하므로 포트 80에서 실행되는 기본 virtualhost conf 파일을 활성화 할 수 있습니다. sudo a2ensite 000-default.conf
이제 명령으로 서버를 다시 시작하거나 다시로드하십시오 sudo service apache2 restart
. 이제 두 디렉토리에서 액세스 할 수 localhost
및localhost:8080