ПРИМЕЧАНИЕ. Это связано с моим вопросом: « Apache 2.4 не будет перезагружаться, есть проблемы с моей конфигурацией? ».
Я пытаюсь проверить локальный сайт, локально. Как я понимаю, в Apache 2 (и, возможно, в Apache) есть что-то, что называется VirtualHost
. Мое небольшое понимание говорит мне, что виртуальный хостинг - это способ, при котором один сервер / IP-адрес может обслуживать несколько доменов.
Во всяком случае, я получаю следующую ошибку при запуске Apache 2, configtest
чтобы увидеть, где у меня не получается . Я использую 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
Кажется, в Debian есть три файла конфигурации, которые мне нужно знать и понимать.
/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
Может быть, у кого-то есть больше понимания.
источник
/etc/apache2/conf-available/fqdn.conf
илиservername.conf
илиhttpd.conf
безрезультатно. DebianJessie
, иapache 2.4.10
conf-available/
иconf-enabled/
, создайте файлconf-available/
и используйте командуa2enconf
для его включения. Таким образом, dpkg не будет раздражать вас неотслеживаемыми изменениями, когда / еслиapache2-common
пакет обновитсяapache2.conf
conf-available
и правка могут быть/etc/apache2/conf-available/servername.conf
с содержимымServerName myserver.mydomain.com
(пробовал на Raspberry Pi, Apache 2.4.10, Debian 8 (Jessie), ядре Linux 4.4.34).Вы должны установить директиву ServerName :
В Debian вы можете установить его
/etc/apache2/conf.d/httpd.conf
.В macOS вы можете установить его
/private/etc/apache2/httpd.conf
.источник
apache2.conf
./etc/apache2/apache2.conf
вместо.Чтобы найти файл конфигурации Apache, попробуйте выполнить следующую команду:
Затем отредактируйте этот файл, найдите строку
ServerName
и раскомментируйте ее, чтобы она выглядела следующим образом:источник
В конфигурационном файле apache24 вы увидите строку
ServerName:80
:ServerName www.name (of your official domain or website.com:80)
cmd
, откройте его как администратор, перейдитеdir
туда, где находится apache24cd apache24
тогдаcd bin
тогда httpd.exeВы увидите, что проблема решена.
источник