서버의 정규화된 도메인 이름을 안정적으로 확인할 수 없습니다.

서버의 정규화된 도메인 이름을 안정적으로 확인할 수 없습니다.

나는 팔로우하고 있다이것Centos 7에서 두 개의 가상 호스트를 설정하는 방법에 대한 튜토리얼입니다.

문제는 httpd를 다시 시작할 때 다음 오류가 발생한다는 것입니다.

[userme@server ~]$ sudo systemctl restart httpd.service 
[sudo] password for userme: 
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

내 구성은

[userme@server ~]$ cat /etc/hosts
127.0.0.1   server.workstation.com server
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

[userme@server ~]$ hostname
server.workstation.com

[userme@server ~]$ cat /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=server


[userme@server ~]$ cat /etc/resolv.conf 
# Generated by NetworkManager
search workstation.com
nameserver fe80::1%p3p1
nameserver 192.168.100.1


[userme@server ~]$ domainname 
(none)

요청 시 편집됨

[userme@server ~]$ systemctl status httpd -l
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2018-01-18 12:55:25 +04; 57min ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 1285 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
  Process: 1283 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 1283 (code=exited, status=1/FAILURE)

Jan 18 12:55:25 server.workstation.com systemd[1]: Starting The Apache HTTP Server...
Jan 18 12:55:25 server.workstation.com httpd[1283]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using server.workstation.com. Set the 'ServerName' directive globally to suppress this message
Jan 18 12:55:25 server.workstation.com systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jan 18 12:55:25 server.workstation.com kill[1285]: kill: cannot find process ""
Jan 18 12:55:25 server.workstation.com systemd[1]: httpd.service: control process exited, code=exited status=1
Jan 18 12:55:25 server.workstation.com systemd[1]: Failed to start The Apache HTTP Server.
Jan 18 12:55:25 server.workstation.com systemd[1]: Unit httpd.service entered failed state.
Jan 18 12:55:25 server.workstation.com systemd[1]: httpd.service failed.


[userme@server ~]$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: p3p1
  sources: 
  services: ssh dhcpv6-client
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

[userme@server ~]$ apachectl configtest
Syntax OK

내 네트워크/호스트 이름 설정에 어떤 문제가 있나요? 어떤 도움이라도 대단히 감사하겠습니다.

답변1

이는 CentOS 7에서 기본적으로 활성화되어 있는 SELINUX의 문제인 것 같습니다.

서버를 설정 SELINUX=permissive하고 다시 시작하면 문제가 /var/log/audit/audit.log에 기록되므로 SELINUX가 서버를 보호할 수 있도록 적절한 SELINUX 설정을 설정할 수 있습니다.

firewalld또한 외부 연결을 허용하려면 포트 80 및 443에 대한 액세스 허용을 설정해야 합니다 .

firewall-cmd --add-service=http
firewall-cmd --add-service=https

linode에는 방화벽에 관한 좋은 기사가 있습니다.하지만 아직 좋은 SELINUX 리소스를 찾지 못했습니다.

답변2

오류 메시지에 따르면:Set the 'ServerName' directive globally to suppress this message

해당 httpd.conf파일에서 를 찾아야 하며 ServerName그 위에는 다음 설명이 있을 수 있습니다.

ServerName gives the name and port that the server uses to identify itself.
This can often be determined automatically, but we recommend you specify
it explicitly to prevent problems during startup.

If your host doesn't have a registered DNS name, enter its IP address here.

따라서 다음 줄을 추가하십시오.

ServerName server:[PORT]

이렇게 하면 시작 문제가 해결됩니다.

관련 정보