15 Sep 2013 18:44:10

Автоматическая настройка виртуального хоста

Скрипт для автоматической настройки виртуального хоста для сервера apache.


Задачи:
  • По шаблону создавать конфиг виртуального хоста.
  • Иметь возможность задавать имя documen root.
  • Добавлять имя хоста и локальный адрес 127.0.0.1 в конфиг ос.
  • Хранить конфиги виртуальных хостов раздельно с настройками сервера.
  • Перезагружать демон и выдавать сообщение об успехе.
#!/bin/bash
# Created by Pavel Ruban
# Contacts: http://pavelruban.org

echo 'start processing apache virtual host...'
cat /etc/httpd/conf/vhosts/vhost_template | \
  sed s/\$1/$1/g | sed s/\$2/$2/g > /etc/httpd/conf/vhosts/$1.conf

echo '127.0.0.1 '$1' www.'$1 >> /etc/hosts
echo 'Include conf/vhosts/'$1'.conf' >> /etc/httpd/conf/httpd.conf
systemctl restart httpd
echo 'virtual host have been created successfull!'

По адресу на файл vhost_template находится шаблон виртуального хоста который можно в любое время быстро настроить под свои нужды. Его содержимое:
<VirtualHost *:80>
    ServerAdmin root@$1
    DocumentRoot "/http/$2"
    ServerName $1
    ServerAlias www.$1
    ErrorLog "/var/log/httpd/error.log"
    LogLevel warn
    <Directory /http/$2>
      Options Indexes FollowSymlinks MultiViews
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
</VirtualHost>

Баш скрипт я назвал vhc (от аббревиатуры virtual host create), использовать его можно следующим образом - в консоле вызываете скрипт, передаете ему два аргумента - первый имя хоста, второй имя document root директории. И ваш хост поднят.

Пример:
vhc myhost.com myhost_old_data

Comments:

add comment