Сервер Apache не запускается при добавлении нового виртуального хоста - PullRequest
0 голосов
/ 16 января 2019

У меня в настоящее время есть сервер CentOS 7 на Linode под управлением Apache2 с двумя указанными доменами. Я добился этого, настроив виртуальные хосты на основе имен в /etc/httpd/conf.d/vhost.conf

Это отлично сработало, но ...

По какой-то причине, когда я добавляю третий виртуальный хост в этот файл, apache отказывается запускаться. Я создал все соответствующие папки в / var / www / html / ... с соответствующими разрешениями (apache.apache). Но Apache по-прежнему отказывается запускаться. Ниже приведен пример моего файла vhost.conf и журналы ошибок от Apache. Какой шаг я пропускаю?

Вот мой vhost.conf ...

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin webmaster@domain1.com
    ServerName domain1.com
    ServerAlias www.domain1.com
    DocumentRoot /var/www/html/domain1.com/public_html/
    ErrorLog /var/www/html/domain1.com/logs/error.log
    CustomLog /var/www/html/domain1.com/logs/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@domain2.com
    ServerName domain2.com
    ServerAlias www.domain2.com
    DocumentRoot /var/www/html/domain2.com/public_html/
    ErrorLog /var/www/html/domain2.com/logs/error.log
    CustomLog /var/www/html/domain2.com/logs/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@domain3.com
    ServerName domain3.com
    ServerAlias www.domain3.com
    DocumentRoot /var/www/html/domain3.com/public_html/
    ErrorLog /var/www/html/domain3.com/logs/error.log
    CustomLog /var/www/html/domain3.com/logs/access.log combined
</VirtualHost>

Вот ошибка, которую я получаю от apache ...

Jan 16 18:40:30 dribrats systemd[1]: Starting The Apache HTTP Server...
Jan 16 18:40:30 dribrats httpd[19023]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/httpd/conf.d/vhost.conf:1
Jan 16 18:40:30 dribrats httpd[19023]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using xxxx::xxxx:xxxx:xxxx:xxxx. Set the 'ServerName' directive globally to suppress this message
Jan 16 18:40:30 dribrats systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jan 16 18:40:30 dribrats kill[19024]: kill: cannot find process ""
Jan 16 18:40:30 dribrats systemd[1]: httpd.service: control process exited, code=exited status=1
Jan 16 18:40:30 dribrats systemd[1]: Failed to start The Apache HTTP Server.
Jan 16 18:40:30 dribrats systemd[1]: Unit httpd.service entered failed state.
Jan 16 18:40:30 dribrats systemd[1]: httpd.service failed.

1 Ответ

0 голосов
/ 17 января 2019

Хорошо, я понял это. Проблемы возникли из-за моих разрешений для новой папки для третьего домена. Я не установил правильные разрешения. Выполнение следующих команд устранило мою проблему.

sudo chown apache:apache -R /var/www/html/example.com/

cd /var/www/html/example.com/
find . -type f -exec sudo chmod 0644 {} \;
find . -type d -exec sudo chmod 0755 {} \;
sudo chcon -t httpd_sys_content_t /var/www/html/example.com -R
sudo chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

Затем перезапустите apache ...

sudo systemctl restart httpd.service
...