Виртуальные хосты Apache

Я пытаюсь создать ссылки на своем веб-сайте, например support.mydomain.com или management.mydomain.com, а не mydomain.com/support и т. Д. Я слышал, что вы можете сделать это с виртуальными хостами Apache, но я не уверен, как бы я настроил это до.

Я на Apache 2.4 и Ubuntu 16.04

1 ответ

Решение

Дистрибутив Apache2 поставляется с очень простой в использовании модульной конфигурацией.

Скопируйте свой 000-default.conf в /etc/apache2/sites-available в файл с таким именем вы будете называть свой виртуальный сайт. Используйте файл configuraton 000-default.conf как шаблон.

В этом случае вы указали mydomain.com, Вы также указали management.mydomain.com, Вы можете использовать оба для доступа к одному и тому же сайту. В этих шагах я буду использовать mydomain.com,

Вы можете использовать любое имя для файла конфигурации. Использование имени, которое включает имя вашего виртуального хоста, облегчит управление вашими сайтами, если вы создадите несколько из них.

Запустите эти шаги. Я пронумеровал их, чтобы вам было легче указать, на каком этапе, если таковой имеется, вы застряли или не понимаете. $ там, чтобы представить подсказку терминала, где вы вводите свою команду. Команда - это текст, который вы видите после $ незамедлительный.

1. $ mkdir -p / home / web / mysite / www
2. $ mkdir -p / home / web / mysite / log
3. $ cd / etc / apache2 / sites-available
4. $ sudo cp 000-default.conf mydomain.conf
5. $ gksudo gedit mydomain.conf

Меняться от:


    # Директива ServerName устанавливает схему запроса, имя хоста и порт, который
    # сервер использует для идентификации себя. Это используется при создании
    # перенаправления URL. В контексте виртуальных хостов имя_сервера
    # указывает, какое имя хоста должно появиться в заголовке запроса Host:
    # соответствовать этому виртуальному хосту. Для виртуального хоста по умолчанию (этот файл) это
    Значение # не является решающим, так как оно используется в качестве хоста последней инстанции.
    # Однако вы должны явно установить его для любого другого виртуального хоста.
    #ServerName www.example.com

    ServerAdmin вебмастер @localhost
    DocumentRoot /var/www/html

    # Доступные уровни журналов: trace8, ..., trace1, отладка, информация, уведомление, предупреждение,
    # ошибка, крит, тревога, эрг.
    # Также возможно настроить уровень логирования для конкретного
    # модулей, например
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log вместе

    # Для большинства конфигурационных файлов из conf-available/, которые
    # включено или отключено на глобальном уровне, возможно
    # включить строку только для одного конкретного виртуального хоста. Например,
    # следующая строка включает настройку CGI только для этого хоста
    # после того, как он был глобально отключен с помощью "a2disconf".
    #Include conf-available/serve-cgi-bin.conf# vim: синтаксис =apache ts=4 sw=4 sts=4 sr noet

Изменить на:

 # Директива ServerName устанавливает схему запроса, имя хоста и порт, который # сервер использует для идентификации себя. Это используется при создании # перенаправления URL. В контексте виртуальных хостов ServerName
    # указывает, какое имя хоста должно отображаться в заголовке Host: запроса, чтобы # соответствовать этому виртуальному хосту. Для виртуального хоста по умолчанию (этот файл) это значение # не является решающим, поскольку оно используется в качестве хоста последней инстанции независимо. # Однако вы должны явно установить его для любого другого виртуального хоста. #ServerName www.example.com ServerName mydomain.com ServerAlias ​​www.mydomain.com
    ServerAlias ​​management.mydomain.com

    ServerAdmin webmaster@localhost

    DocumentRoot /home/web/www <Каталог / home / web / ubunzeus / www> Параметры +FollowSymLinks +ExecCGI + Включает # AllowOverride All
        # Новая директива, необходимая в Apache 2.4.3: Требовать все предоставленные  # Доступные уровни журналов: trace8, ..., trace1, отладка, информация, уведомление, предупреждение, # ошибка, критическое замечание, предупреждение, emerg, # Также можно настроить уровень журнала для определенных # модулей, например #SogLevel info ssl: warn ErrorLog /home/web/mydomain/log/error.log CustomLog /home/web/mydomain/log/access.log в сочетании # Для В большинстве файлов конфигурации из conf-available/, которые # включены или отключены на глобальном уровне, можно включить строку только для одного конкретного виртуального хоста. Например, следующая строка # включает конфигурацию CGI для этого хоста только после того, как он был глобально отключен с помощью "a2disconf". # Включите conf-available / serve-cgi-bin.conf# vim: синтаксис =apache ts=4 sw=4 sts=4 sr noet

Продолжите следующие команды, чтобы активировать изменения:

6. $ sudo a2ensite mydomain.conf
7. Перезапуск службы $ sudo apache2

Благодаря этим шагам вы можете получить доступ к своему новому виртуальному хосту, введя имя, которое вы дали ему в веб-браузере.

Поместите ваш веб-контент (ваши HTML- файлы) в каталог, который вы создали для своего виртуального хоста. В этом примере это: /home/web/www, Ваш веб-каталог может быть размещен в любом месте вашей системы. Вам просто нужно настроить конфигурационный файл вашего виртуального хоста с информацией.

Каждый раз, когда вы вносите изменения в файлы конфигурации Apache2, обязательно перезагрузите его, чтобы изменения вступили в силу.

$ sudo service apache2 restart
Другие вопросы по тегам