www 없이 기본 VirtualHost를 사용합니다. 도메인에

www 없이 기본 VirtualHost를 사용합니다. 도메인에

저는 호스트 이름이 설정된 Debian 8.1 64비트를 사용하므로 로그인은 [email protected]. Apache2, PHP 등을 설치하고 VirtualHost도 설정했습니다.

<VirtualHost *:80>
    ServerName example.com
    ServerAlias *.example.com

    ServerAdmin admin@localhost
    DocumentRoot /var/www/example.com/
    <Directory "/var/www/example.com/">
        Options FollowSymLinks
        AllowOverride All
    </Directory>

</VirtualHost>

DNS 설정:

example.com     1800    A       111.111.111.111
example.com     1800    MX  1   example.com
*.example.com   1800    CNAME   example.com

으로 가면 인덱스 http://example.com/가 로드되고 /var/www/html/, 가면 http://www.example.com/잘 작동합니다. 많은 편집을 시도했지만 아무것도 작동하지 않았습니다. 이것이 내 서버의 호스트 이름에 연결될 수 있습니까? 어떤 아이디어?

답변1

이것이 당신이 가지고 설정하는 방법 ServerName입니다 ServerAlias:

ServerName example.com
ServerAlias *.example.com

ServerName하지만 다음 과 같이 설정하는 것이 좋습니다 ServerAlias.

ServerName www.example.com
ServerAlias www example.* www.example.*

나는 내가 소유한 공통 도메인에 대해 여러 개의 최상위 도메인이 설정된 경우 와일드카드를 사용하는 것을 좋아합니다. 하지만 버전만 있는 경우 .com다음과 같이 설정할 수 있습니다.

ServerName www.example.com
ServerAlias www example.com www.example.com

그런 다음 Apache를 다시 시작하면 모든 것이 좋아질 것입니다.

sudo service apache2 restart

그러나 이것이 호스트 이름 문제라고 생각되면 이를 통해 서버의 호스트 이름을 확인하거나 변경할 수 있습니다. 먼저 다음과 같이 호스트 이름을 얻으십시오.

hostname

해당 호스트 이름을 변경하려면 다음 명령을 실행하세요.

sudo hostname example.com

또한 다음과 같은 sysctl설정을 확인하십시오 kernel.hostname.

sysctl kernel.hostname

그리고 변경이 필요한 경우 다음과 같이 하세요.

sudo sysctl kernel.hostname=example.com

/etc/hosts이 작업이 완료된 후 조정이 필요한 경우 호스트 이름에 연결된 모든 설정이 조정되었는지 확인한 다음 컴퓨터를 재부팅하십시오. 다시 나타나면 시도해보고 무슨 일이 일어나는지 확인하세요. 이제 괜찮을 것 같아요.

관련 정보