Думаю многие веб-программисты знают, что без виртуальных хостов иногда просто никак. И многие не отказались бы от автоматизации этого процесса. И для этого дела на bash был написан вот такой вот скрипт:
ptdr=/var/www
domain=$1
ip=$2
email=$3
echo "Создание виртуального хоста"
touch /etc/apache2/sites-available/$domain
echo -e "<VirtualHost *:80> \n ServerName $domain \n ServerAlias www.$domain \n ServerAdmin $email \n DocumentRoot $ptdr/$domain/www \n ErrorLog $ptdr/$domain/logs/error.log \n CustomLog $ptdr/$domain/logs/access.log combined \n php_admin_value open_basedir $ptdr/$domain/www/ \n php_admin_value doc_root $ptdr/$domain/www/ \n </VirtualHost>" > /etc/apache2/sites-available/$domain
echo "Создание директорий"
mkdir $ptdr/$domain
mkdir $ptdr/$domain/www
mkdir $ptdr/$domain/logs
ln -s /etc/apache2/sites-available/$domain /etc/apache2/sites-enabled/$domain
echo "Добавление домена $domain и ip в список"
echo "$ip $domain" >> /etc/hosts
echo "$ip www.$domain" >> /etc/hosts
echo "Перезапуск Apache2"
sudo /etc/init.d/apache2 restart
Создаем файл, например:
sudo nano /usr/bin/addvhost
Вставляем туда вышенаписанный код, сохраняем, даем права на выполнение:
sudo chmod +x /usr/bin/addvhost
Использование:
sudo addvhost хост ip_адрес e-mail_админа
например
sudo addvhost gr1m.ru 127.0.0.1 webmaster@gr1m.ru