Ubuntu Apache2 DefaultRuntimeDir은 ServerRoot에 대해 절대적이거나 상대적인 유효한 디렉토리 여야합니다.


17

Ubuntu 17.04를 실행하는 웹 서버가 Apache있습니다. virtualHosts를 통해 단일 컴퓨터에서 두 개의 웹 사이트를 호스팅하기로 결정할 때까지 모든 것이 잘 작동했습니다. 이제 apache단일 호스트를 활성화해도 시작을 거부합니다. 시작할 Apache때마다이 오류가 발생합니다.

apache2: Syntax error on line 80 of /etc/apache2/apache2.conf:
DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot.

이 문제를 해결하려는 시도는 다음을 포함하여 이루어지지 않았습니다.

apt purge apache2 && rm -r /etc/apache2 

오류 메시지의 모든 줄 80은입니다 DefaultRuntimeDir ${APACHE_RUN_DIR}.

그리고 언제 어디에서 무엇이 APACHE_RUN_DIR선언 되는지 알 수 없습니다 .

누군가 나를 도울 수 있습니까?

답변:


17

명령

source /etc/apache2/envvars

내 문제를 정리했습니다 (다른 모든 것을 시도한 후).

모든 것이 잘되는지 확인하려면 명령을 사용하십시오.

apache2 -S

내 DNS 레코드를 사용하는 것보다 빠릅니다.


1
나는 사용 source /etc/apache2/envvars했지만 그 후에 내 홈 디렉토리가에서 ~로 바뀌었고 homecd를 쓸 때 그것이 나타났습니다 -bash: cd: HOME not set. 나는 envvars에 들어갔을 때 첫 선 중 하나입니다 # this won't be correct after changing uidunset HOME. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
Mihail Minkov 2014 년


6

Apache2는 /etc/apache2/envvars환경 변수를 설정 하는 데 사용 합니다. 이 정보를 사용하여 디렉토리 ${APACHE_RUN_DIR}가 유효한지 확인할 수 있습니다.

14.04에서 17.04로 업그레이드하는 동안 동일한 문제가 발생했습니다. 문제는 ${APACHE_RUN_DIR}로 설정 /var/run/apache2되었지만 apache2 폴더가에서 누락되었습니다 /var/run.

나를위한 해결책은 다음과 같습니다. mkdir /var/run/apache2


7
폴더를 만들었거나 폴더가 이미 표시된 경우 (내 상황과 같이) 다음 명령을 실행해야합니다. source /etc/apache2/envvars
Peshmerge 2013 년

startscript없이 Apache를 시작하는 경우에만 envvares 명령을 실행해야합니다. init.d / system.d를 사용하는 경우 파일이 자동으로 제공됩니다.
Niyol

@Peshmerge 감사합니다! 재부팅 후 보관하는 방법을 알려주시겠습니까? 재부팅 할 때마다 매번 수동으로 해당 명령을 실행해야합니다.
T.Todua


0

php5.6아파치 모듈을 다시 활성화 하면이 문제를 해결하는 데 도움이됩니다.

Ctrl+ Alt+를 누르고 T다음을 입력하십시오.

sudo a2dismod php5.6
sudo a2enmod php5.6

그런 다음 apache2 서비스를 다시 시작하십시오.

sudo service apache2 restart
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.