Виртуальные хост 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

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

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

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

Ubuntu 18.04 Punto Switcher

Нормальной замены на Ubuntu нет, есть gxneur, но он кривой(( Пытался пользоваться несколько месяцев. В итоге удалил.

23 декабря 2018 г. в Linux

Ubuntu. Увеличить SWAP

# отключить
sudo swapoff /swapfile
# создать заново
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
05 июля 2019 г. в Linux