Выполните несколько веб-сайтов на единственном Сервере Ubuntu 15,10 использований Apache2

Я использую Сервер Ubuntu 15.10

Я отсылаю блог run-multiple-websites-single-ubuntu-server-using-apache2.

Проблемы

  1. Кажется, что мой apache2 каталог теперь /var/www/html/ так не мог следовать вышеупомянутому документу правильно

Мои виртуальные хосты

  1. Сервер по умолчанию
    Address Any
    Port Any Server Name Automatic
    Document Root Automatic

  2. Виртуальный сервер
    Address website1.com
    Port 80 Server Name Automatic
    Document Root /var/www/html/website1.com

  3. Виртуальный сервер
    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>
0
задан 2 February 2016 в 11:23

3 ответа

Обычно сайты на 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 соответственно.

1
ответ дан 29 September 2019 в 13:02

http://www.unixmen.com/setup-apache-virtual-hosts-on-ubuntu-15-10/

Наконец эти инструкции работали на меня

0
ответ дан 29 September 2019 в 13:02

Я предполагаю, что вы уже изменили запись 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.

0
ответ дан 18 November 2019 в 18:01

Другие вопросы по тегам:

Похожие вопросы: