Centos7에서 가상 호스트를 설정하는 방법은 무엇입니까?

Centos7에서 가상 호스트를 설정하는 방법은 무엇입니까?

Centos7에서 가상 호스트를 설정하려고 합니다. 나는 이 가이드를 따랐습니다.

http://twohlix.com/2011/05/setting-up-apache-virtual-hosts-on-centos/

하지만 계속해서 다음과 같은 오류가 발생합니다.

Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' `for details.`

Journalctrl의 관련 출력은 다음과 같습니다.

-- Unit httpd.service has begun starting up.
Aug 17 14:21:54 [8235]: AH00548: NameVirtualHost has no effect and will be removed in the next release
Aug 17 14:21:54 [1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Aug 17 14:21:54 [1]: Failed to start The Apache HTTP Server.
-- Subject: Unit httpd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

나는 그것이 무엇인지 모른다. 또한 VirtualHost 컨테이너가 httpd.conf 파일 내에 있는 다른 접근 방식을 사용해 보았지만 여전히 성공하지 못했습니다. 다음 구성을 사용하고 있습니다.

Server version: Apache/2.4.6 (CentOS)
Server built:   Jul 23 2014 14:48:00

DNS 등을 구성하지 않았습니다. 이것이 영향을 줍니까? 그것이 내가 생각할 수 있는 유일한 다른 것입니다. 어떤 도움이라도 대단히 감사하겠습니다. 지난 며칠 동안 이것이 무엇인지 알아내려고 노력했지만 시도한 모든 것이 실패했습니다.

답변1

이는 기본 웹 호스트에 대한 매우 최소한의 구성입니다. 새 프로필을 만들고 /etc/httpd/conf.d/도메인 이름(예:)을 따서 이름을 지정합니다. 하지만 다음과 같이 끝나야 합니다 .conf.

# nano /etc/httpd/conf.d/example.net.conf

<VirtualHost example.net:80>
    DocumentRoot /var/www/example.net/
</VirtualHost>

볼 수 있는 항목이 있는지 확인하세요./var/www/example.net

웹 서버를 다시 로드합니다.

# systemctl reload httpd

example.net클라이언트에서 호스트의 IP를 확인하고 테스트 할 수 있는지 확인하세요 . 모든 오류는 에 있어야 합니다 /var/log/httpd/error_log.

답변2

또한 기본 SELinux 구성은 httpd가 가상 호스트 디렉토리에 액세스하는 것을 방지한다는 점을 고려하십시오. 이에 대한 적절한 컨텍스트를 설정해야 합니다.

# chcon -R -u system_u -r object_r -t httpd_sys_content_t <DocumentRoot>

또 다른 옵션은 SELinux를 비활성화하는 것입니다.

관련 정보