apache, автоматическое создание виртуальных доменов

сентября 3, 2010

Периодически добавляю на сервер новые сайты. Процесс утомительный — скопировать, изменить, создать симлинки. Можно пользоваться webmin или ISPManager, но мы рассмотрим возможность использования bash скрипта для создания виртуальных хостов.
Использую данный скрипт:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
ptdr=/var/www
domain=$@
if [ $domain ]
then echo Создаём новый виртуальный субдомен $domain
else echo Неверный синтаксис. Используйте: $0 new-domain.ru; exit
fi
 
echo "Создание виртуального хоста"
touch /etc/apache2/sites-available/$domain
echo -e " \n ServerName $domain \n DocumentRoot $ptdr/$domain  \n ServerAlias www.$domain \n ErrorLog /var/log/apache2/$domain.error.log \n CustomLog /var/log/apache2/$domain.access.log common \n" > /etc/apache2/sites-available/$domain
echo "Создание директорий"
mkdir $ptdr/$domain
ln -s /etc/apache2/sites-available/$domain /etc/apache2/sites-enabled/$domain
echo "Перезапуск Apache2"
sudo /etc/init.d/apache2 restart

Для удобства можно создать симлинк в /bin
И, для создания субдоменов будет аналогичный скриптик:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
ptdr=/var/www
domain=$@
if [ $domain ]
then echo Создаём новый виртуальный субдомен $domain
else echo Неверный синтаксис. Используйте: $0 new-domain.ru; exit
fi
 
echo "Создание виртуального хоста"
touch /etc/apache2/sites-available/$domain
echo -e "<VirtualHost *:80> \n ServerName $domain \n DocumentRoot $ptdr/$domain  \n ErrorLog /var/log/apache2/$domain.error.log \n CustomLog /var/log/apache2/$domain.access.log common \n</VirtualHost>" > /etc/apache2/sites-available/$domain
echo "Создание директорий"
mkdir $ptdr/$domain
ln -s /etc/apache2/sites-available/$domain /etc/apache2/sites-enabled/$domain
echo "Перезапуск Apache2"
sudo /etc/init.d/apache2 restart

Удачного кодинга.

Apache, bash, VPS admin

3 комментария для “apache, автоматическое создание виртуальных доменов”


Оставить комментарий

© 2010 - 2020 Ядоблог. Ничего не защищено.
Powered by Лаборатория Яда. Написать Яду