Он работал нормально, прежде чем я удалил все свои файлы WordPress с example2.com/blog. Теперь я получаю ошибку 500 для каждой страницы и веб-сайта, к которым я пытаюсь получить доступ на сервере. Я включил HTTPS с CloudFlare, прежде чем удалять файлы, так что это могло быть частью проблемы. Журналы ошибок и доступа Apache не содержат ошибок. Fail2ban не показывает, что блокирует мой IP.
Это единственный конфиг, который я включил:
Listen 80
<VirtualHost *:80>
ServerName college.example1.com
ServerAlias college.example1.com
DocumentRoot /var/www/html/example1.com/college
<Directory "/var/www/html/example1.com/college">
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE US AllowCountry
Require env AllowCountry
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName dev.example1.com
ServerAlias dev.example1.com
DocumentRoot /var/www/html/example1.com/dev
<Directory "/var/www/html/example1.com/dev">
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE US AllowCountry
Require env AllowCountry
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName pma.example1.com
ServerAlias pma.example1.com
DocumentRoot /var/www/html/phpmyadmin
<Directory "/var/www/html/phpmyadmin">
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE US AllowCountry
Require env AllowCountry
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName example1.com
ServerAlias example1.com
DocumentRoot /var/www/html/example1.com/master
<Directory "/var/www/html/example1.com/master">
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE US AllowCountry
Require env AllowCountry
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName example2.com
ServerAlias example2.com
DocumentRoot /var/www/html/example2/master
<Directory "/var/www/html/example2/master">
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE US AllowCountry
Require env AllowCountry
</Directory>
Alias /blog /var/www/html/example2/blog
<Directory "/var/www/html/example2/blog">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE US AllowCountry
Require env AllowCountry
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName dev.example2.com
ServerAlias dev.example2.com
DocumentRoot /var/www/html/example2/dev
<Directory "/var/www/html/example2/dev">
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE US AllowCountry
Require env AllowCountry
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName dev.example4.example3.com
ServerAlias dev.example4.example3.com
DocumentRoot /var/www/html/apps/example4/dev
<Directory "/var/www/html/apps/example4/dev">
Require all granted
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE US AllowCountry
Require env AllowCountry
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName example4.example3.com
ServerAlias example4.example3.com
DocumentRoot /var/www/html/apps/example4/master
<Directory "/var/www/html/apps/example4/master">
Require all granted
MaxMindDBEnable On
MaxMindDBFile DB /usr/local/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE US AllowCountry
Require env AllowCountry
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Журнал ошибок (отладки) Apache:
[Thu Nov 30 02:58:21.132058 2017] [authz_core:debug] [pid 6517] mod_authz_core.c(809): [client xxx.xxx.xxx.xx:21611] AH01626: authorization result of Require env AllowCountry: granted
[Thu Nov 30 02:58:21.132243 2017] [authz_core:debug] [pid 6517] mod_authz_core.c(809): [client xxx.xxx.xxx.xx:21611] AH01626: authorization result of <RequireAny>: granted
[Thu Nov 30 02:58:21.133029 2017] [authz_core:debug] [pid 6517] mod_authz_core.c(809): [client xxx.xxx.xxx.xx:21611] AH01626: authorization result of Require env AllowCountry: granted
[Thu Nov 30 02:58:21.133286 2017] [authz_core:debug] [pid 6517] mod_authz_core.c(809): [client xxx.xxx.xxx.xx:21611] AH01626: authorization result of <RequireAny>: granted
[Thu Nov 30 02:58:21.138691 2017] [:error] [pid 6517] [client xxx.xxx.xxx.xx:21611] PHP Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0
[Thu Nov 30 02:58:21.138952 2017] [:error] [pid 6517] [client xxx.xxx.xxx.xx:21611] PHP Fatal error: Unknown: Failed opening required '/var/www/html/example2/blog/wordfence-waf.php' (include_path='.:/usr/share/php') in Unknown on line 0
Обнаружил, что у меня auto_prepend_file
установлен в wordfence-waf.php
в php.ini, который был указан в журнале ошибок как недоступный для PHP. Закомментировав строку и перезагрузив Apache, проблема была решена.