Где в Apache 2 вы устанавливаете директиву ServerName глобально?

ПРИМЕЧАНИЕ: Это связано с моим вопросом: « 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 [email protected]

    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>

Я также читал о привязке к адресам и портам , но я не знаю, t хорошо понимал это по нескольким причинам. Он не дает /не предоставляет пример того, в каком файле эти строки должны быть поставлены, и что будет до и после. Пример был бы намного лучше.

Я сделал это и перезапустил сервер, но все равно получаю ту же ошибку.

~$ 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 находятся по умолчанию, за исключением того, что я изменил loglevel 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

Возможно, у кого-то есть более глубокое понимание.

27 голосов | спросил shirish 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 12 Sep 2014 05:30:20 +0400 2014, 05:30:20

2 ответа


5

Вы должны установить директиву ServerName :

ServerName localhost

В Debian вы можете установить его в /etc/apache2/conf.d/httpd.conf.

В macOS вы можете установить его в /private/etc/apache2/httpd.conf.

ответил cuonglm 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 12 Sep 2014 05:50:01 +0400 2014, 05:50:01
1

Чтобы найти файл конфигурации Apache, попробуйте выполнить следующую команду:

apachectl -t -D DUMP_INCLUDES

Затем отредактируйте этот файл и найдите строку с помощью ServerName и раскомментируйте ее, чтобы она выглядела следующим образом:

ServerName localhost
ответил kenorb 1 32017vEurope/Moscow11bEurope/MoscowWed, 01 Nov 2017 18:33:12 +0300 2017, 18:33:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132