노트:이것은 내 질문과 관련이 있습니다: "Apache 2.4가 다시 로드되지 않습니다. 구성에 문제가 있습니까?".
로컬 사이트를 로컬에서 테스트하려고 합니다. 내가 아는 바로는 Apache 2(그리고 아마도 Apache)에는 VirtualHost
.
configtest
어쨌든 Apache 2를 실행하여 실패한 위치를 확인하면 다음 오류가 발생합니다. 나는 Apache 2.4.10-1을 실행하고 있는데 Apache 2.2와 Apache 2.4 사이에 내가 알지 못하는 많은 변화가 발생한 것 같습니다.
$ sudo apache2ctl configtest
[sudo] password for shirish:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK
/etc/hosts
파일 은 다음과 같습니다 .
$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 debian mini
빈 파일도 보입니다 /etc/hosts.conf
. 인식하려면 그 안에 있는 데이터를 서버 /etc/hosts
에 복사 해야 할까요?/etc/hosts.conf
내 호스트 이름:
$ hostname
debian
사이트의 구성 파일은 다음과 같습니다.
$ cat /etc/apache2/sites-available/minidebconfindia.conf
<VirtualHost mini:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/in2014.mini/website
<Directory />
Options +FollowSymLinks +Includes
Require all granted
</Directory>
<Directory /var/www/html/in2014.mini/website/>
Options +Indexes +FollowSymLinks +MultiViews +Includes
Require all granted
</Directory>
</VirtualHost>
나도주소 및 포트 바인딩에 대해 읽어보세요., 하지만 여러 가지 이유로 잘 이해가 되지 않습니다. 이 줄을 어느 파일에 배치해야 하는지, 전후에 어떤 일이 발생하는지에 대한 예를 제공/공유하지 않습니다. 예시가 있으면 더 좋을 것 같아요.
이 작업을 수행하고 서버를 다시 시작했지만 여전히 동일한 오류가 발생합니다.
~$ sudo apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK
데비안에는 내가 알고 이해해야 할 3가지 구성 파일이 있는 것 같습니다.
/etc/apache2$ ls *.conf
apache2.conf ports.conf
그리고
/etc/apache2/conf.d$ ls *.conf
httpd.conf
분명히 apache2.conf는 전역 구성 파일이고 httpd.conf는 사용자 구성 파일입니다. ports.conf도 있습니다. apache2.conf와 ports.conf는 둘 다 기본값입니다. 단, Apache의 로그 수준 warn
을 debug
.
내가 시도한 또 다른 것:
$ sudo apache2ctl -S
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
127.0.1.1:80 debian (/etc/apache2/sites-enabled/minidebconfindia.conf:1)
*:80 127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33
어쩌면 누군가가 더 많은 통찰력을 가지고 있을 수도 있습니다.
답변1
편집할 파일:
/etc/apache2/apache2.conf
파일 편집 명령:
sudo nano /etc/apache2/apache2.conf
글로벌 서버 이름의 경우 파일 상단(가상 호스트 태그 외부)에 넣을 수 있습니다.
첫 번째 줄은 다음과 같습니다.
ServerName myserver.mydomain.com
그런 다음 다음 명령을 사용하여 구성을 저장하고 테스트합니다.
apachectl configtest
당신은 다음을 얻어야합니다 :
문법이 결정됨
그런 다음 서버를 다시 시작하고 오류 메시지가 나타나지 않는지 확인할 수 있습니다.
sudo service apache2 restart
답변2
설정해야 합니다.서버 이름 지시어:
ServerName localhost
데비안에서는 이것을 /etc/apache2/conf.d/httpd.conf
.
macOS에서는 다음을 수행할 수 있습니다 /private/etc/apache2/httpd.conf
.
답변3
Apache 구성 파일을 찾으려면 다음 명령을 실행해 보십시오.
apachectl -t -D DUMP_INCLUDES
그런 다음 파일을 편집하고 해당 줄을 찾아서 ServerName
다음과 같이 주석 처리를 제거합니다.
ServerName localhost
답변4
apache24 구성 파일에는 다음 줄이 표시됩니다 ServerName:80
.
- 비워 두세요.
- 그런 다음 해당 줄 아래 공간에 다음을 작성하십시오.
ServerName www.name (of your official domain or website.com:80)
- 구성 파일을 저장합니다.
- 로 이동하여
cmd
관리자 권한으로 열고dir
apache24가 있는 위치로 변경합니다. - 그런
cd apache24
다음cd bin
httpd.exe
문제가 해결된 것을 볼 수 있습니다.