development

a2ensite에 대한 사이트 오류가 없습니다

big-blog 2020. 3. 31. 08:20
반응형

a2ensite에 대한 사이트 오류가 없습니다


나는이 cmsplus.dev아래에 /etc/apache2/sites-available다음 코드로

<VirtualHost *:80>
    ServerAdmin master@server.com
    ServerName www.cmsplus.dev
    ServerAlias cmsplus.dev

    DocumentRoot /var/www/cmsplus.dev/public

    LogLevel warn
    ErrorLog /var/www/cmsplus.dev/log/error.log
    CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>

이제을 사용할 때 sudo /usr/sbin/a2ensite cmsplus.dev오류가 발생합니다.

ERROR: Site cmsplus.dev does not exist!

내 웹 서버 Apache/2.4.6 (Ubuntu)

이 문제를 해결하는 방법?


.conf사이트 구성 파일에 확장명을 추가하여 문제를 해결했습니다 .

아파치 a2ensite결과 :

오류! 사이트가 존재하지 않습니다

문제; 다음을 사용하여 사이트를 활성화하는 동안 오류가 발견 된 경우 :

sudo a2ensite example.com

그러나 다음을 반환합니다.

오류 : example.com이 존재하지 않습니다

a2ensite 파일 이름 끝에서만 작동하는 Perl 스크립트입니다. .conf

따라서, 나는 내 설정 파일의 이름을 변경해야 example.com하는 example.com.conf다음과 같이 달성 될 수로 :

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

성공


우분투 설치를 업데이트했을 수도 있고 업데이트 중 하나에 Apache를 버전 2.4.x로 업그레이드하는 것이 포함되었습니다.

Apache 2.4.x에서 / etc / apache2 / sites-available 디렉토리에있는 vhost 구성 파일의 확장자는 .conf 여야합니다.

terminal (mv 명령)을 사용하여 모든 기존 구성 파일의 이름을 바꾸고 모든 파일에 .conf 확장자를 추가하십시오.

mv /etc/apache2/sites-available/cmsplus.dev /etc/apache2/sites-available/cmsplus.dev.conf

"Permission denied"오류가 발생하면 터미널 명령 앞에 "sudo"를 추가하십시오.

구성 파일을 다른 것으로 변경할 필요는 없습니다.

가상 호스트를 활성화합니다 :

a2ensite cmsplus.dev.conf

그런 다음 Apache를 다시로드하십시오.

service apache2 reload

귀하의 사이트가 지금 가동 중이어야합니다.


업데이트 : 여기언급 된 것처럼 설치 한 Linux 배포는 구성을 Include * .conf만으로 변경했습니다. 따라서 Apache 2.2 또는 2.4와 관련이 없습니다.


또 다른 좋은 방법이 있습니다 apache2.conf. 끝에 줄이 있는 파일을 편집하십시오.

선택적 사이트 사용 가능 /*.conf

.conf이처럼 끝 부분을 제거하십시오 .

선택적 사이트 사용 가능 / *

서버를 다시 시작하십시오.

(필자는 업데이트 할 때 우분투 13.10에서만 시도했습니다.)


방금 같은 문제가있었습니다. 나는 그것이 apache.conf와 관련이 없다고 말하고 싶습니다.

a2ensite는 변경되어야합니다. 532 행은 .conf 접미사를 적용하는 행입니다.

else {
    $dir    = 'sites';
    $sffx   = '.conf';
    $reload = 'reload';
}

당신이 그것을 변경하면 :

else {
    $dir    = 'sites';
    #$sffx   = '.conf';
    $sffx   = '';
    $reload = 'reload';
}

... 접미사없이 작동합니다.

물론 a2ensite 스크립트를 변경하고 싶지는 않지만 conf 파일의 접미사를 변경하는 것이 올바른 방법입니다.

아마도 ".conf"접미사를 적용하는 방법 일 것입니다.


가장 빠른 방법은 ".conf"로 끝나는 사이트 구성 이름을 바꾸는 것입니다.

mv /etc/apache2/sites-available/mysite /etc/apache2/sites-available/mysite.conf

a2ensite mysite.conf

이전 의견에 대한 기타 참고 사항 :

  • IncludeOptional은 아파치 2.36까지 소개되지 않았다. 위에서 변경 한 다음 2.2에서 재시작하면 서버가 다운된다!

  • 또한 버전 2.2 a2ensite는 설명한대로 해킹 할 수 없습니다

또한 사용 가능한 사이트 파일은 실제로 구성 파일이기 때문에 어쨌든 그 이름을 지정해야합니다.


일반적으로 서비스를 다시 시작 하지 마십시오 (웹 서버는 한 가지 유형의 서비스 임).

  • 사람들이 달리지 않으면 찾을 수 없습니다! 리눅스가 MS Windows가 아니라고 생각하십시오.

서버는 수년간 라이브 업데이트, 구성 다시로드 등을 실행할 수 있습니다.

클라우드가 구성 파일을로드하기 위해 다시 시작해야한다는 의미는 아닙니다.

  • 서비스 구성을 변경할 때 "다시 시작"이 아닌 "다시로드"를 사용하십시오.

  • restart는 서비스를 중지 한 다음 서비스를 시작합니다. 구성을 변경하는 데 문제가 있으면 서비스 다시 시작 되지 않습니다 .

  • 다시로드하면 오류가 발생하지만 서비스가 종료되지 않아 구문 오류 만 발생할 수있는 구성 오류를 해결할 수 있습니다.

debian 또는 ubunto [이 스레드의 서비스 이름은 apache2입니다.]

service {service-name} {start} {stop} {reload} ..

다른 os는 독자를위한 발췌로 남았습니다.


.conf구성 파일에 추가 한 후 작업


Ubuntu 14.04.3 및 Apache 2.4.7의 경우 문제는 site1.conf를 복사하여 site2.conf를 사용 가능하게 만들고 복사하여 무언가가 발생하여 스레드에 설명 된 오류로 site2.conf를 a2ensite 할 수 없다는 것입니다 .

나를위한 해결책은 site2.conf의 이름을 site2로 바꾸고 다시 site2의 이름을 site2.conf로 바꾸는 것이 었습니다. 그 후 site2.conf를 a2ensite 할 수있었습니다.


방금 Ubuntu Server 버전을 12.04 LTS에서 14.04 LTS로 업그레이드했습니다.

실제로 위에서 말한 것처럼 Apache 2.4.x의 .conf 확장자는 사이트에서 사용 가능한 디렉토리에있는 웹 사이트 vhost 파일에 필요합니다.

이 질문을 읽기 전에 서버에서 무슨 일이 있었는지 전혀 알지 못했습니다.

꽤 좋은 해결책입니다.

요약하면 터미널에서 다음 단계를 수행했습니다.

1) 사이트 활성화 폴더에 액세스

$ cd /etc/apache2/sites-enabled

2) a2dissite 명령은 더 이상 사용되지 않는 파일 (.conf없이)에서 작동하지 않으므로 게시 된 이전 웹 사이트 파일을 제거하십시오.

$ sudo rm <my-old-website-without-.conf>

3) 확장명을 변경하여 웹 사이트 vhost 파일의 이름을 바꾸고 끝에 .conf를 추가하십시오.

$ sudo mv /etc/apache2/sites-available/mywebsite /etc/apache2/sites-available/mywebsite.conf

4) 새롭고 정확한 vhost 파일을 다시 게시하십시오.

$ sudo a2ensite mywebsite.conf

5) 브라우저에서 웹 사이트를 확인하고 재미있게 보내십시오! :)


나는 그것이 사실이 아니라는 것을 알고 있지만 누군가를 도울 수 있습니다.

실수로 / etc / apache2 / sites-enabled에서 conf 파일을 만들지 않았 음을 다시 확인하십시오. 같은 오류가 발생합니다.


이렇게 해봐 ..

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin master@server.com
    ServerName www.cmsplus.dev
    ServerAlias cmsplus.dev

    DocumentRoot /var/www/cmsplus.dev/public

    LogLevel warn
    ErrorLog /var/www/cmsplus.dev/log/error.log
    CustomLog /var/www/cmsplus.dev/log/access.log combined
</VirtualHost>

/ etc / hosts에 항목을 추가하십시오.

127.0.0.1 www.cmsplus.dev

아파치를 다시 시작하십시오.

참고 URL : https://stackoverflow.com/questions/20591889/site-does-not-exist-error-for-a2ensite

반응형