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