Apache 2.4.7을 사용하는 Ubuntu 가상 머신
다음과 같은 오류가 발생합니다.
apache2: Syntax error on line 216 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/conf-enabled/servername.conf: No such file or directory Action 'configtest' failed.
참고: 실행하면 apachectl configtest
다음과 같이 표시됩니다.Syntax OK
그런데 그런 파일이 있군요! 사실, Apache는 이 모든 것을 스스로 발견했습니다. 위에서 언급한 라인 216은 입니다 IncludeOptional conf-enabled/*.conf
. 따라서 쉘 확장을 형성하고 conf 파일 목록을 가져온 다음 그 중 하나가 존재하지 않는다고 판단합니다. 왜?
우리 모두 알고 있듯이 in은 의 /etc/apache2/conf-enabled
파일을 가리키는 일련의 기호 링크입니다 ./etc/apache2/conf-available
a2enconf
내 경우에는 가상 머신(아파치 및 기타 서비스용)을 설정하기 위한 내 구성 파일 세트에 대한 심볼릭 링크가 그 자체에 있습니다 servername.conf
. conf-available
어떤 이유로 Apache는 심볼릭 링크를 찾았지만 존재하지 않는다고 보고합니다. phpMyAdmin이 다른 심볼릭 링크를 사용하여 구성 파일에 연결하고 오류가 발생하지 않기 때문에 이것이 왜 문제인지 이해할 수 없습니다.
phpMyAdmin 파일과 내 파일의 한 가지 차이점은 내 파일(및 모든 상위 디렉터리)에 777 권한이 있다는 것입니다. 이는 가상 머신 외부에 마운트된 공유 폴더(Windows 8.1 호스트와 공유)에 있습니다.
Apache 구성 파일의 777 권한에 문제가 있습니까?
편집: 이것은 ls -l
의견에서 요청한 출력입니다.
vagrant@vagrant-ubuntu-trusty-64:/vagrant/data$ ls -l /etc/apache2/conf-enabled/servername.conf lrwxrwxrwx 1 root root 33 Jun 29 2016 /etc/apache2/conf-enabled/servername.conf -> ../conf-available/servername.conf
다음은 심볼릭 링크에 대한 심볼릭 링크입니다.
vagrant@vagrant-ubuntu-trusty-64:/etc/apache2/conf-available$ ls -l servername.conf lrwxrwxrwx 1 root root 31 Jun 29 2016 servername.conf -> /vagrant/config/servername.conf
이것은 일반 파일입니다:
vagrant@vagrant-ubuntu-trusty-64:/vagrant/config$ ls -l servername.conf -rwxrwxrwx 1 vagrant vagrant 24 Jun 29 2016 servername.conf