Виртуальные хост apache, nginx на ubuntu

  1. Создать директрию

    sudo mkdir -p /var/www/[site-folder]/public_html

    Файлы сайта будут хранится в подпапке public_html

  2. Если логи в отдельных папках, то сделать папки

    mkdir /var/log/apache2/[site]/
    mkdir /var/log/nginx/[site]/
  3. Скопировать файлы и поставить права, владельца

    cp [files] /var/www/[site-folder]/public_html
    sudo chmod -R 755 /var/www
    sudo chown -R www-data:www-data /var/www/[site-folder]/
  4. Создать конфиги в apache и nginx

    etc/apache2/sites-available/[site].conf
    etc/nginx/sites-available/[site].conf

Например для apache можно скопировать конфиг по-умолчанию

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/[site].conf

apache [site].conf

<VirtualHost *:80>
        ServerAdmin admin@site.ru
        ServerName [site.ru]
        ServerAlias www.[site.ru]
        DocumentRoot /var/www/[site-folder]/public_html

        ErrorLog ${APACHE_LOG_DIR}/[site]/error.log
        CustomLog ${APACHE_LOG_DIR}/[site]/access.log combined
</VirtualHost>
  1. Проверка корретности конфигов

    sudo apachectl -t
    sudo nginx -t
  2. Включить конфиг для сайта

    sudo a2ensite [site]
    sudo ln -s /etc/nginx/sites-available/[site].conf /etc/nginx/sites-enabled/[site].conf

    sudo a2ensite [site].conf не срабатывает

  3. Перезапусить сервер

    sudo systemctl reload apache2
    sudo systemctl reload nginx
  4. Проверка настройки виртаульных хостов apache

    apache2ctl -S

    Результат:

    VirtualHost configuration:
    *:80                   baikal.ru (/etc/apache2/sites-enabled/baikal.conf:1)
    ServerRoot: "/etc/apache2"
    Main DocumentRoot: "/var/www/html"
    Main ErrorLog: "/var/log/apache2/error.log"
    Mutex default: dir="/var/lock/apache2" mechanism=fcntl
    Mutex mpm-accept: using_defaults
    Mutex watchdog-callback: using_defaults
    PidFile: "/var/run/apache2/apache2.pid"
    Define: DUMP_VHOSTS
    Define: DUMP_RUN_CFG
    User: name="www-data" id=33
    Group: name="www-data" id=33

Похожие записи

Установка актуальной nodejs на ubuntu

В официальных репозиториях Ubuntu предлагется дореволюционная версия node.js. В этом руководстве рассказывется как установить актуальную Node.js на Ubuntu или в подсистему linux на Windows 10, что собственно говоря, одно и тоже.

16 июня 2017 г. в Linux

Перенести базы PostgreSQL на другой диск Windows

Если у вас установлен Postgres в конфигурации по умолчанию, то его базы хранятся в Program Files. Если есть необходимость освободить место на системном диске C, то можно перенести базы данных Postgres на другой диск.

Ubuntu. В разделе /boot не осталось места.

Недавно столкнулся с проблемой, что система ubuntu не может обновиться. Пишет ошибки про неудвлетворенные зависимости и не дает возможности завершится командам.

31 августа 2017 г. в Linux