Я использую Сервер Ubuntu 15.10
Я отсылаю блог run-multiple-websites-single-ubuntu-server-using-apache2.
Проблемы
/var/www/html/
так не мог следовать вышеупомянутому документу правильноМои виртуальные хосты
Сервер по умолчанию
Address Any
Port Any Server Name Automatic
Document Root Automatic
Виртуальный сервер
Address website1.com
Port 80 Server Name Automatic
Document Root /var/www/html/website1.com
Виртуальный сервер
Address website2.com
Port 80 Server Name Automatic
Document Root /var/www/html/website2.com
Но когда я пытаюсь получить доступ к моему website1.com
это переходит к корректному виртуальному хосту, но моему website2.com
просто перенаправляет к website1.com
.
Также vi /var/www/html/index.php
require( dirname( __FILE__ ) . '/website1.com/wp-blog-header.php' );
Кажется, что это просто указывает website1.com
. Если я не удаляю выше строки затем ни одну из работы веб-сайта. таким образом, возможно, мои оба виртуальных хоста не работают.
Это мог быть мой 1. Default Server Virtual Hosts
просто перехват этого.
Помогите
***Content of conf files from /etc/apache2/sites-enabled*** <br/>
vi 000-default.conf <br/>
Опустейте теперь, я перешел в webmin
и я видел двойную запись website1.com
таким образом, я удалил дополнительный, и теперь я только имею как показано ниже.
// added this just now after the first comment and enabled it <br/>
vi website1.com.conf
<VirtualHost website1.com:80> <br/>
ServerAdmin webmaster@localhost <br/>
DocumentRoot /var/www/html/website1.com <br/>
ErrorLog ${APACHE_LOG_DIR}/error.log <br/>
CustomLog ${APACHE_LOG_DIR}/access.log combined <br/>
</VirtualHost> <br/>
vi webiste2.com.conf
<VirtualHost website2.com:80> <br/>
ServerAdmin webmaster@localhost <br/>
DocumentRoot /var/www/html/website2.com <br/>
ErrorLog ${APACHE_LOG_DIR}/error.log <br/>
CustomLog ${APACHE_LOG_DIR}/access.log combined <br/>
</VirtualHost>
Обычно сайты на Apache обрабатываются до *.conf
файлы в /etc/apache2/sites-available
каталог. Вот пример с моего сервера, который размещает www.brownvpn.tk, www.browntech.tk, www.techyteen.tk и несколько других.
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName browntech.tk
ServerAdmin your@email.com
DocumentRoot /var/www/html/tech
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
RewriteEngine on
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
</VirtualHost>
комментарии очень полезны. Каждый файл должен быть в значительной степени тем же как этим. Однако можно хотеть удалить Rewrite
строки, если Вам не включили SSL, или Вы хотите позволить HTTP, а также Трафик HTTPS. Мы видим наверху две самых важных строки. ServerName и DocumentRoot. поле ServerName должно быть доменом, который указывает на тот путь DocumentRoot. Так, Вам будут нужны два конфигурационных файла (четыре, если Вы захотите www.domain1.com, а также domain1.com).
cd /etc/apache2/sites-available/
touch site1.conf
touch site2.conf
Затем в Вашем предпочтительном редакторе, копии и вставляют мой конфигурационный файл в качестве примера, делая два редактирования (три, если Вы считаете установку его на Ваш адрес электронной почты, четыре, если Вы вынимаете, они переписывают строки) в каждый из site1.conf
и site2.conf
.
sudo a2ensite site1 site2
sudo service apache2 restart
, Который включит эти два сайта и перенаправит URL соответственно.
http://www.unixmen.com/setup-apache-virtual-hosts-on-ubuntu-15-10/
Наконец эти инструкции работали на меня
Я предполагаю, что вы уже изменили запись A
домена на IP-адрес своего сервера.
Теперь предположим, что у вас есть два веб-сайта exampleone.in и exampletwo.in . И веб-сайт по умолчанию - exampleone.in . Таким образом, путь хоста по умолчанию к exampleone.in будет / var / www / html . Затем, чтобы разместить exampletwo.in , создайте папку с именем exampletwo.in внутри / var / www / или напротив папки html . .
Итак, теперь у вас есть две папки с именами html и exampletwo.in внутри / var / www .
Apache обрабатывает веб-сайты через файл .conf внутри / etc / apache2 / sites-available / . Итак, запустите свой терминал и введите следующие команды. При необходимости используйте sudo
cd /etc/apache2/sites-available/
touch exampletwo.conf
Теперь откройте ваш любимый редактор или используйте nano, чтобы изменить содержимое exampletwo.conf на -
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.exampletwo.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/exampletwo.in
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
После создания нового .conf , мы включим новый веб-сайт.
sudo a2ensite exampletwo.conf
sudo service apache2 restart
Виола, вы разместили другой сайт на том же сервере Ubuntu.