13.04 이상

13.04 이상

명령을 사용하여 Apache 서버를 다시 시작할 때

sudo /etc/init.d/apache2 restart

다음 오류가 발생합니다.

Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2:
Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

서버가 127.0.0.1 대신 127.0.1.1을 사용하고 있습니까? 이 오류의 원인은 무엇입니까?

답변1

13.04 이상

이는 단지 친근한 경고일 뿐이며 실제로는 문제가 되지 않습니다(뭔가 작동하지 않는다는 점에서).

당신이 가면 :

/etc/apache2/apache2.conf

그리고 다음을 삽입하세요:

ServerName localhost   

그런 다음 터미널에 다음을 입력하여 Apache를 다시 시작하십시오.

sudo systemctl reload apache2

공지가 사라집니다.

안에 이름이 있으면 /etc/hostname대신 해당 이름을 사용할 수도 있습니다 localhost.


그리고 그것이 127.0.1.1당신의 내부에 있다면 사용합니다 /etc/hosts:

127.0.0.1 localhost
127.0.1.1 myhostname

선호하는 방법

아파치 문제 해결

이 오류가 발생하는 경우:

apache2: Could not determine the server's fully qualified domain name, 
using 127.0.0.1 for ServerName

그런 다음 명령줄에서 "sudo nano" 또는 데스크탑에서 "gksudo gedit"와 같은 텍스트 편집기를 사용하여 새 파일을 만듭니다.

sudo nano /etc/apache2/conf.d/fqdn

또는

gksu "gedit /etc/apache2/conf.d/fqdn"

그런 다음 추가

ServerName localhost

파일에 저장하고. 이 모든 작업은 다음 명령을 사용하여 단일 명령으로 수행할 수 있습니다.

 echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

하지만 우분투 14.04에서는:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
 sudo a2enconf fqdn

".conf"를 잊지 마세요(없이는 작동하지 않습니다).

답변2

13.10 이상

13.10부터 기본적으로 사용 가능한 Apache 2.4부터는 디렉터리에 구성 파일을 추가하는 방법을 사용할 수 없습니다 conf.d.

Apache는 더 이상 해당 conf.d디렉토리를 사용하지 않습니다. 모든 구성 파일은 /etc/apache2/conf-available디렉토리 내부에 저장되며 이제 모든 구성 파일에 .conf확장명이 있어야 합니다.

Apache 2.4에서 이 메시지를 해결하려면 conf-available 디렉터리 내에 구성 파일을 생성해야 합니다. 예를 들어 servername.conf.

sudo vi /etc/apache2/conf-available/servername.conf

그리고 여기에 한 줄만 추가하면 됩니다.

ServerName localhost

이전 두 명령을 하나로 결합할 수 있습니다.

echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf

요구 사항에 따라 도메인 이름이나 다른 이름을 사용하려면 localhost필요한 이름으로 바꾸면 됩니다. 다음으로 이 구성을 활성화해야 합니다. 이를 위해서는 다음 명령을 실행해야 합니다:

sudo a2enconf servername

a2enconfApaches 2.4에서 구성 파일을 활성화하는 명령입니다. 또한 servername위 명령은 구성 파일의 이름에서 따온 것입니다 servername.conf. 구성 파일이 다음과 같은 경우 ngenericserver.conf에는 sudo a2enconf ngenericserver.

서버를 다시 로드한 후에는 위의 메시지가 더 이상 문제를 일으키지 않습니다.

sudo service apache2 reload

또는

sudo apache2ctl graceful

이제 이 메시지가 다시 표시되지 않고 문제가 해결되는 것을 볼 수 있습니다.

답변3

Apache2는 Apache 구성 파일에 하드코딩하는 대신 적절하게 구성된 시스템 호스트 이름에서 FQDN을 가져올 수도 있습니다. 하드코딩하면 호스트 이름이 변경되면 혼란이 발생할 수도 있습니다. 실제로는 Apache 구성 파일이나 ServerName지시문 이 필요하지 않습니다 .httpd.conf

다음을 입력하세요 /etc/hosts.

# IPv4 and IPv6 localhost aliases
127.0.0.1 hostname.domainname.com  hostname  localhost
::1       hostname.domainname.com  hostname  localhost

hostname.domainname.com컴퓨터의 FQDN은 어디에 있습니까?

/etc/hostname/에서 또는 를 사용 하여 적절하게 구성된 호스트 이름과 함께 hostnamectl이는 컴퓨터의 다른 서비스가 제대로 실행되는 데에도 도움이 됩니다(예: This is hostname.domainname.com대신 로그인 프롬프트가 표시됨 This is hostname.unknown_domain).

답변4

apache2의 새 버전에서는 다음과 같은 명령을 따르면 됩니다.

sudo nano /etc/apache2/apache2.conf

파일 끝 부분에 다음 새 줄을 추가합니다.

ServerName localhost

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

sudo service apache2 restart

끝났다.

관련 정보