Ubuntu 14.04의 Apache 가상 호스트가 작동하지 않는 이유는 무엇입니까?


23

우분투 14.04에 Apache 2.4를 설치했으며 http://localhost/주소 별로 제대로 작동했습니다 . 그러나 새 가상 호스트를 추가하고 http://bow.loc아파치를 다시 시작 하려고 할 때 새 주소를 사용할 수 없었 http://bow.loc습니다 http://localhost.

내 구성은 다음과 같습니다

<VirtualHost *:80>
    ServerName www.bow.loc
    ServerAlias bow.loc
    DocumentRoot /var/www/html/bow/web

    <Directory /var/www/html/bow>
        AllowOverride All
        Options FollowSymLinks MultiViews
        Order allow,deny
        Allow from all
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ /app.php [QSA,L]
        </IfModule>
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

내 사이트를 어떻게 구할 수 http://bow.loc있습니까?



내 답변을 확인 하십시오 . 비슷한 문제가있어 시스템 DNS 구성에 문제가있는 것으로 나타났습니다.
jmarceli

답변:


29

Apache 2.4부터 각 가상 호스트 파일의 확장자는 .conf 여야합니다.

.conf 확장자를 포함하도록 각 가상 호스트 파일의 이름을 바꿀 수 있습니다.

mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf

a2ensite 명령을 사용하여 가상 호스트를 추가하십시오.

a2ensite example.com.conf

그리고 Apache를 다시로드하십시오.

service apache2 reload

감사! 그리고이 작업 후에 /etc/hosts파일을 수동으로 수정하고 호스트를 추가 할 필요가 없습니까? 아파치는 새로운 호스트를 자동으로 작성합니까?
Victor Bocharsky

Apache는 새 호스트를 자동으로 쓰지 않으므로 수동으로 작성해야합니다. CMIIW
Ari Pratomo

따라서 구성이 옳고 문제가 발생하여 호스트를 추가하는 것을 잊었습니다./etc/hosts
Victor Bocharsky

다른 방법은 apache2.conf를 수정하고 "IncludeOptional sites-enabled / *"지시문에서 ".conf"확장자를 제거하는 것입니다. 웹 사이트 도메인을 파일 이름으로 사용하므로 추가 ".conf"요구 사항이 마음에 들지 않습니다.
lepe

17

호스트를 추가하는 것을 잊었습니다 /etc/hosts.

127.0.0.1   localhost
127.0.0.1   bow.loc

아파치가 자동으로 수행한다고 생각했습니다.


서버에서 전에는 그렇게 할 필요가 없었습니다. 그래도 항상 테스트 목적으로 클라이언트에서 수행합니다. 당신이 여기서 말하는 것을 명확히 할 수 있습니까?
flickerfly

@flickerfly 무슨 뜻인가요? 나는 설치된를 처리하기 위해 내 로컬 컴퓨터 내에서 VirtualHost 포인트를 만든 Apache서버
빅터 Bocharsky에게

나는 이것도 추가하는 것을 잊었다! : P
Rishi Kulshreshtha

젠장, 나는 데비안 8 VM에서 이것에 우리 하나를 낭비했습니다! 감사!!!
lucaferrario

@lucaferrario haha, 나도. 공개하기 어려운 간단한 버그;) 천만에요!
Victor Bocharsky

3

글쎄, 나는이 모든 솔루션을 제공하려고 노력하고 있습니다. 아아 내가 편집

    /etc/hosts

입장하다

    127.0.1.1 example.com test.com

그리고 그것은 일했다!!

(기술적으로 많이 말하지 않으면 죄송합니다!)


1

아파치 가상 호스트 생성 단계를 자동화하는 파이썬 스크립트를 작성했습니다 ...이 비디오GitHub 에서 다운로드, 코딩 방법을 설명합니다


-3
Options FollowSymLinks MultiViews

char '+'필요 : + FollowSymLinks + 멀티 뷰

Order allow,deny
Allow from all

Now = 모든 권한 부여 필요


이것을 어디에 넣을 것인지 그리고 무엇을하는지 설명하십시오. 명령이나 구성 아티팩트 만 게시하지 마십시오. 좋은 답변을 작성하려면 어떻게합니까?를
David Foerster

1
-를 사용하여 제외 할 경우 다양한 옵션 앞에 + 또는-만 입력하면됩니다. 그렇지 않으면 갈 수 있습니다. 필요한 모든 권한은 Apache 2.4입니다. Order, Allow 줄은 2.2 구문입니다.
flickerfly
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.