-1

Я установил веб-сервер Apache на своем компьютере.

И пытается обслуживать 2 сайта с одинаковым IP, исходя из имени домена.
У меня есть 2 домена:

  • example0.com
  • example1.com

Они перенаправляют на один и тот же IP-адрес (я пользуюсь услугами "freenom"). Поэтому, основываясь на доменном имени, мне нужно предоставить разный контент.

Я следую этому уроку по Digital Ocean: « Как настроить виртуальные хосты Apache в Debian 7 »

Я сделал все шаги из него, кроме последнего (« Настройка локальных хостов »).

Результатом является то, что я получаю одинаковый контент для каждого доменного имени.

У меня есть в /etc/apache2/sites-available/: example0.com.conf , example1.com.conf , 000-default.conf и default-ssl.conf .

В example0.com.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.example.com  

        ServerAdmin webmaster@localhost  
        ServerName example0.com  
        ServerAlias www.example0.com  

        DocumentRoot /var/www/example0.com/public_html  

в example1.com.conf я получил то же самое, но с example1 вместо example0

Я использовал:

a2ensite example0.com  
a2ensite example1.com  

а также

service apache2 restart

Что я делаю не так?

1 ответ1

-1

Я думаю, что вы в правильном направлении. Проверьте каждый шаг! это должно работать.

Вы должны создать два каталога для двух разных веб-страниц. Скажем так:

/var/www/example0.com/public_html
/var/www/example1.com/public_html

Тогда вы должны установить владельца dirs:

sudo chown -R $USER:$USER /var/www/example0.com/public_html
sudo chown -R $USER:$USER /var/www/example1.com/public_html

Где $ USER является владельцем апача. Это зависит от вашей системы. Может быть www-data, apache, http или любой другой. Я думаю, на Debian должны быть www-данные

Затем создайте читаемые файлы и исполняемые файлы:

sudo chmod -R 755 /var/www

Давайте создадим отдельную html-страницу для каждого (index.html в обоих случаях):

<html>
  <head>
    <title>Welcome to example0.com</title>
  </head>
  <body>
    <h1>Success, example0.com is working!</h1>
  </body>
</html>

а также

<html>
   <head>
     <title>Welcome to example1.com</title>
   </head>
   <body>
     <h1>Success, example1.com is working!</h1>
   </body>
 </html>

Сохраните оба файла, каждый на отдельном каталоге (/var/www/example0.com/public_html и /var/www/example1.com/public_html). Повторяю, оба с именем index.html

Тогда давайте перейдем к созданию конфигурационных файлов VirtualHosts. Давайте использовать в качестве шаблона файл по умолчанию:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example0.com.conf
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example1.com.conf

Затем отредактируйте каждый с помощью vi, nano или любого текстового редактора. Давайте начнем с example0.conf

<VirtualHost *:80>
    ServerAdmin admin@example0.com
    ServerName example0.com
    ServerAlias www.example0.com
    DocumentRoot /var/www/example0.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Затем то же самое для второго файла:

<VirtualHost *:80>
    ServerAdmin admin@example1.com
    ServerName example1.com
    ServerAlias www.example1.com
    DocumentRoot /var/www/example1.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Затем мы активируем новые сайты:

sudo a2ensite example0.com.conf
sudo a2ensite example1.com.conf

Затем перезапустите службу Apache, чтобы изменения вступили в силу:

sudo service apache2 restart

И это все.

Как проверить? Вы можете изменить файл hosts для доступа к новым веб-серверам:

127.0.0.1   localhost
127.0.1.1   guest-desktop
111.111.111.111 example0.com www.example0.com
111.111.111.111 example1.com www.example1.com

Конечно, вы должны изменить IP-адрес 111.111.111.111 на настоящий, даже ваш IP-адрес локальной сети.

Затем вы можете протестировать на компьютере, на котором вы изменили файл hosts, пытаясь получить доступ через браузер к http://example0.com и http://example1.com

Удачи!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .