나는이 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 여야합니다.
터미널 (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 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) 브라우저에서 웹 사이트를 확인하고 재미있게 보내십시오! 🙂