Назад | Перейти на главную страницу

Несколько сайтов Wordpress на одной капле / виртуальном хосте / один сайт работает, второй дает белый экран смерти. Зачем? - Цифровой океан

Это не дублированный пост!

Системная информация: 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 читать файл.