이 기사는 여러 웹 사이트에 대한 Apache 가상 호스트 구성을 안내합니다. & lt; virtualhost & gt; 디렉토리 권한과 같은 보안 고려 사항과 함께 ServerName, Serveralias 및 DocumentRoot를 지정하는 블록
Apache에서 가상 호스트를 만들면 단일 서버에서 여러 웹 사이트를 호스팅 할 수 있습니다. 이는 들어오는 요청의 도메인 이름 또는 IP 주소를 기반으로 다르게 응답하도록 Apache를 구성하여 달성됩니다. 단계별 가이드는 다음과 같습니다.
/etc/apache2/apache2.conf
(debian/ubuntu), /etc/httpd/conf/httpd.conf
(Red Hat/Centos) 또는 /etc/httpd/conf/extra/httpd-vhosts.conf
가 포함됩니다 (종종 가상 호스트 구성에 선호). 루트 권한이있는 텍스트 편집기 (Linux의 sudo nano
)를 사용하십시오.<virtualhost></virtualhost>
블록을 추가합니다. 각 블록은 특정 가상 호스트의 설정을 정의합니다. 기본 예는 다음과 같습니다.<code class="apache"><virtualhost> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com <directory> AllowOverride All Require all granted </directory> </virtualhost></code>
ServerName
:이 가상 호스트의 기본 도메인 이름입니다.ServerAlias
:이 가상 호스트를 가리키는 대체 도메인 이름.DocumentRoot
: 웹 사이트 파일이 포함 된 디렉토리. 이 디렉토리가 존재하는지 확인하십시오.
<directory></directory>
: DocumentRoot 디렉토리에 대한 권한을 지정합니다. AllowOverride All
.htaccess
파일은 일부 설정을 무시할 수 있도록 허용 Require all granted
모두에 대한 액세스가 필요합니다. 생산 환경에서 AllowOverride All
데주의하십시오.
ServerName
웹 사이트에 대해 DocumentRoot
하십시오. 호스팅하려는 ServerAlias
웹 사이트에 대해 별도의 <virtualhost></virtualhost>
블록을 만듭니다.a2ensite example.com
( example.com
사이트 이름으로 바꾸는)과 sudo systemctl reload apache2
사용할 수 있습니다. Red Hat/Centos에서는 sudo systemctl restart httpd
사용하여 apache를 다시 시작해야 할 수도 있습니다.단일 서버에서 여러 웹 사이트를 호스팅 할 때 보안이 가장 중요합니다. 주요 고려 사항은 다음과 같습니다.
chmod 755
및 파일의 경우 chmod 644
)을 사용하십시오. 777
과 같은 지나치게 허용되는 설정을 피하십시오..htaccess
파일은 신중하게 관리하지 않으면 보안 취약점을 소개 할 수 있습니다. 가능하면 사용하지 말고 사용해야하는 경우 AllowOverride
통해 허용되는 지침을주의 깊게 검토하고 제한하십시오. <virtualhost></virtualhost>
지시 내에서 각 가상 호스트에 대해 다른 포트와 도메인을 쉽게 구성 할 수 있습니다.
다른 포트를 사용하려면 VirtualHost
선언에서 *
후에 지정하십시오. 예를 들어, 가상 호스트에는 포트 8080을 사용합니다.
<code class="apache"><virtualhost> ServerName example.com:8080 # ... other directives ... </virtualhost></code>
클라이언트는 example.com:8080
사용 하여이 웹 사이트에 액세스해야합니다. 비표준 포트를 사용하는 것은 일반적으로 https가 널리 퍼져 있기 때문에 일반적으로 덜 일반적입니다. 그러나 테스트 또는 특정 응용 프로그램에 유용 할 수 있습니다.
다른 도메인을 사용하려면 첫 번째 섹션에 표시된대로 ServerName
및 ServerAlias
지시문에이를 지정하십시오. Apache는 들어오는 요청의 호스트 헤더와 일치하여 사용할 가상 호스트를 결정합니다. 이것은 표준적이고 선호되는 방법입니다.
예, 각 웹 사이트마다 다른 PHP 버전의 Apache 가상 호스트를 사용할 수 있습니다. 여기에는 일반적으로 여러 PHP 설치를 사용하고 APACHE를 구성하여 각 가상 호스트에 적합한 PHP 핸들러를 사용합니다.
정확한 방법은 시스템과 PHP 설치 방법에 따라 다릅니다. 일반적인 접근법은 다음과 같습니다.
mod_php
또는 php-fpm
)를 사용하도록 APACHE를 구성하여 올바른 PHP 실행 파일로의 경로를 지정합니다.suexec
(보안 증가) : suexec
사용하면 각 가상 호스트의 PHP 스크립트를 다른 사용자 계정으로 실행하여 보안을 향상시킵니다. 이것은 하나의 타협 된 웹 사이트가 다른 웹 사이트에 영향을 미치는 것을 방지합니다.이러한 설정을 구성하려면 서버의 환경 및 PHP 구성에 대한 세부 사항과 친숙성에주의를 기울여야합니다. 자세한 지침은 시스템 문서 및 PHP-FPM 문서를 참조하십시오. 일반적으로 기본 가상 호스트 설정보다 더 복잡합니다.
위 내용은 여러 웹 사이트를 위해 Apache에서 가상 호스트를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!