Это не дублированный пост!
Системная информация: LAMP установлен в Ubuntu 18.04
У меня есть два сайта WordPress на капле Digital Ocean, скажем, domain1 и domain2. Я установил 2 виртуальных хоста. Мой домен2 расположен на /var/www/domain2
работает нормально, но
domain1 перенаправляется на /var/www/html
вместо того /var/www/domain1
. Кроме того, когда я копирую все файлы домена 1 в /var/www/html
для целей тестирования и попадания в домен 1, он дает белый экран смерти. Дополнительно : Когда я помещаю базовый файл index.html, он отображается правильно. Но все же он показывает файл index.html /var/www/html
давайте шифровать уже установленную для обоих доменов.
Вот содержимое соответствующих файлов:
/etc/apache2/sites-available/domain1.conf:
UseCanonicalName On
<VirtualHost *:80>
ServerAdmin domain1@gmail.com
ServerName domain1.com
ServerAlias www.domain1.com
DocumentRoot /var/www/domain1
<Directory /var/www/domain1/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =domain1.com [OR]
RewriteCond %{SERVER_NAME} =www.domain1.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
/etc/apache2/sites-available/domain2.conf :
UseCanonicalName On
<VirtualHost *:80>
ServerAdmin domain2@gmail.com
ServerName domain2.com
ServerAlias www.domain2.com
DocumentRoot /var/www/domain2
<Directory /var/www/domain2/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =domain2.com [OR]
RewriteCond %{SERVER_NAME} =www.domain2.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Eсть -le-ssl.conf
файл для домена 2 (исходящий от Let's encrypt). Странно, что для domain1 такого файла нет. Я скопировал, переименовал и настроил для domain1, но все равно не повезло.
/etc/apache2/sites-available/domain2-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin domain2@gmail.com
ServerName domain2.com
ServerAlias www.domain2.com
DocumentRoot /var/www/domain2
<Directory /var/www/domain2/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/domain2/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain2/privkey.pem
</VirtualHost>
</IfModule>
В заключение, .htaccess
файл, который одинаков для обоих сайтов:
.htaccess
# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Я сделал это, если вы спросите:
Изменить: Кроме того, когда я погуглил http: //my.ip.address он перенаправляет на https://domain1.com с белым экраном.
Обновить
Здесь apache2 error
журналы могут быть связаны:
[mpm_prefork:notice] [pid 31941] AH00171: Graceful restart requested, doing restart AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.18.0.5. Set the 'ServerName' directive globally to suppress this message
[php7:warn] [pid 12694] [client ] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 [php7:error] [pid 12694] [client] PHP Fatal error: Unknown: Failed opening required '/var/www/html/index.php' (include_path='.:/usr/share/php') in Unknown on line 0
Обратите внимание: я изменил права доступа к файлам на 755, но они остались прежними.
Может быть это быть ServerName
проблема? : https://askubuntu.com/questions/256013/apache-error-could-not-reliably-determine-the-servers-fully-qualified-domain-n Вот файл vhosts:
127.0.1.1 myhostname myhostname
127.0.0.1 localhost
Как ни странно, мое имя хоста и имя хоста fqdn совпадают. Все хорошо?
Жду ваших ответов!
Ошибка показывает, что PHP не может читать /var/www/html/index.php
потому что права доступа к файлу не позволяют этого.
Вы должны убедиться, что права собственности на файл и разрешения позволяют PHP читать файл.