Окружение: apache 2.4 + debian 9.
Я создал wordpress в директории /var/www/html/wp1
, настройки на /etc/apache2/apache2.conf
.
<VirtualHost *:80>
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride None
Order deny,Allow
Allow from all
Require all granted
</Directory>
</VirtualHost *:80>
127.0.0.1/wp1
может показать его.
Я создал другой wordpress на /home/material/wp2
, изменил настройки как показано ниже /etc/apache2/apache2.conf
.
<VirtualHost *:80>
DocumentRoot /home/material
<Directory /home/material>
Options Indexes FollowSymLinks
AllowOverride None
Order deny,Allow
Allow from all
Require all granted
</Directory>
</VirtualHost *:80>
127.0.0.1/wp2
может показать его.
Теперь я хочу объединить эти две настройки, чтобы позволить 127.0.0.1/wp1
показывать wordpress на
/var/www/html/wp1
, и 127.0.0.1/wp2
показывать wordpress на /home/material/wp2
, простое объединение двух настроек не может достичь моей цели.
Есть несколько вещей, которые неправильны или не должны быть сделаны.
В Debian основным конфигурационным файлом является /etc/apache2/apache2. conf
, который включает другие конфигурационные файлы, относящиеся к главному каталогу /etc/apache2
:
сайтов-включённых/*.conf
conf-enabled/*.conf
mods-включённых/*. load
и mods-enabled/*. conf
Доступные конфигурационные файлы находятся в каталогах сайтов-доступных
, -доступных
и -доступных
и для включения/выключения конфигурации, вы можете использовать команды a2ensite
, a2enconf
и a2enmod
, которые соединяют их из xxx-available
в xxx-enabled
. Для отключения конфигурации вы используете a2dissite
, a2disconf
и a2dismod
.
Первая ошибка заключается в редактировании основного файла конфигурации /etc/apache2/apache2.conf
. Вместо этого вы должны были сделать это:
a2dissite 000-default
(каталог sites-enabled
теперь пустой)sites-available/wordpress. conf
с содержимым вашей конфигурацииa2ensite wordpress
, который соединяет wordpress.conf
с сайтами .включено
apachectl configtest
, чтобы проверить, есть ли у вас синтаксические ошибкиservice apache2 restart
, если предыдущая команда была успешной. В вашей конфигурации одна синтаксическая ошибка и несколько ошибок:
вы использовали
Order deny,Allow
и Allow from all
is deprecated syntax в Apache 2.4. Вам нужно только Require all granted
.Имя сервера
отсутствует. Взгляните на примеры VirtualHost.Если вы хотите использовать порт 80 для обоих сайтов, это может сработать как ваш новый конфигуратор сайты-доступные/пароль. conf
(непроверенный):
<VirtualHost *:80>
# set your host name/server name
ServerName myservername
# wp1
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
# wp2
Alias /wp2 /home/material/wp2
<Directory /home/material/wp2>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
Или еще проще: переместите каталог wp2
в /var/www/html
и удалите строки для второго экземпляра wordpress из конфигурации.
И не забудьте восстановить ваш оригинальный /etc/apache2/apache2.conf
.