У меня проблемы с установкой Apache2.
На прошлой неделе из-за сбоя жесткого диска я сделал общую резервную копию, поменял жесткий диск на новый и снова установил все SO (Debian 7 AMD64) и Apache2. Я восстановил все данные из резервной копии на новый диск.
Я снова настроил виртуальный хост с той же конфигурацией, что и при последней установке, но на этот раз, когда я пытаюсь получить доступ к любому виртуальному хосту, кроме одного, на котором размещается только статический контент.
Нет ошибок в файлах ошибок Apache, а также нет ошибок или предупреждений во время запуска Apache. Я также проверил разрешения и владельцев файловой системы.
Вот мои файлы конфигурации:
apache2.conf
ServerRoot "/etc/apache2"
LockFile ${APACHE_LOCK_DIR}/accept.lock
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_worker_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_event_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy all
</Files>
DefaultType None
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel debug
Include mods-enabled/*.load
Include mods-enabled/*.conf
Include ports.conf
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
Include conf.d/
Include httpd.conf
httpd.conf
<VirtualHost x.x.x.x:80>
DocumentRoot /home/www/hostname.domain.tld
ServerName hostname.domain.tld
ServerAdmin soporte@domain.tld
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/www/hostname.domain.tld>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost x.x.x.x:80>
DocumentRoot /home/www/static.domain.tld
ServerName static.domain.tld
ServerAdmin soporte@domain.tld
<Directory /home/www/static.domain.tld>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost x.x.x.x:80>
DocumentRoot /home/www/mail.anijapan.com
ServerName mail.domain.tld
ServerAdmin soporte@domain.tld
<Directory /home/www/mail.domain.tld>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost x.x.x.x:80>
DocumentRoot /home/www/bugs.domain.tld
ServerName bugs.domain.tld
ServerAdmin soporte@domain.tld
<Directory /home/www/bugs.domain.tld>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
ports.conf
NameVirtualHost x.x.x.x:80
Listen 80
<IfModule mod_ssl.c>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Пробовал разные вещи, искал в гугле и т.д. безрезультатно.
Кто-нибудь имеет представление о моей проблеме?
Спасибо!
Я наконец-то добился того, чтобы Apache работал без ошибок 403. Причина 403 ошибки очень проста и не находится на сервере.
Для управления DNS домена я использую CloudFlare. Чтобы обеспечить обслуживание, пока сервер HD был изменен, я перемещаю все веб-сайты на другой сервер с новым IP. После того, как я установил ОС на новый HD, я переместил веб-сайты на новый диск с сервера аварийного восстановления, и я изменил в CloudFlare IP-адрес для DNS-записей на старый, но CloudFlare здесь не работает, потому что они этого не делают. распространил по внутренней ошибке новый IP-адрес. Я видел, что создание трассировки (очень глупое решение, но эффективное) позволяет увидеть реальный конечный пункт назначения записи A, а не конечный пункт назначения, который отображается в CloudFlare.
Чтобы CloudFlare использовал правильную запись A, я удалил ее, сохранил изменение и затем добавил запись A к правильному IP-адресу. Как только я это сделал, все заработало.
Запустите apache таким образом, передний план + отладка, если он не может писать журналы по какой-то причине, таким образом он запустится.
. /etc/apache2/envvars
apache2 -e debug -DFOREGROUND
Еще одна рекомендация - посмотреть / var / log / messages и / var / log / syslog, но вы, вероятно, уже сделали это Подробнее на этой странице zroger.com