
명령을 사용하여 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
a2enconf
Apaches 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
끝났다.