В связи с частой потребностью добавлять новые удалять старые сайты, надоело постоянно создавать все каталоги и новые файлы вручную. Следовательно был написан простенький скрипт, сводящий эту процедуру к вызову данного файла и ввода имени сайта.
Итак, скрипт для добавления:
#!/bin/sh echo -------------------------- echo –n "Введите имя сайта: " #Ждем ввода имени сайта DIR="/var/www/$SITE" #Проверяем существования такого каталога if [ -d $DIR ] FILE="/etc/apache2/sites-available/$SITE" #Создаем файл с настройками из копии исходного #Делаем ссылку на наш файл #Редактируем наш файл. Заменяются стандартные имена и пути #Создаем необходимые каталоги mkdir $DIR #Меняем их владельца #Включаем сайт #Добавляем наш сайт в хосты echo "127.0.0.1 $SITE" >> /etc/hosts #Копируем тестовый файл проверки работы веб-сервера cp /var/www/default/index.html $DIR/index.html #Перезапускаем веб-сервер /etc/init.d/apache2 reload |
Делаем скрипт исполняемым, и помещаем в папку /sbin. Оеперь достаточно набрать имя файла и после запроса ввести имя нового сайта.
Теперь скрипт для удаления. Здесь все еще проще.
#!/bin/sh echo "Удаление сайта" read SITE DIR="/var/www/$SITE" if [ -d $DIR ] a2dissite $SITE rm -r $DIR sed -i "/127.0.0.1 $SITE/d" /etc/hosts /etc/init.d/apache2 reload echo "Сайт $SITE был успешно удален" else echo "Сайта $SITE нет на сервере" |
С этим скриптом поступаем аналогично первому. Работает точно так же. Запускаем файл, вводим имя удаляемого сайта.
Со временем я решил усовершенствовать эти скрипты и объединил их в один. Получилось вот такое:
#!/bin/sh #Функция добавления add_site() if #Создаем файл с настройками из копии исходного #Редактируем наш файл #Создаем необходимые каталоги #Меняем их владельца #Включаем сайт #Добавляем наш сайт в хосты #Функция удаления rm_site() if #Удаляем каталоги и файлы
#Проверяем права пользователя if #Процедура добавления удаления if #Если запустили без параметров echo "Используйте add для добавления и remove для удаления" |
Называем наш файл site, помещаем в папку /sbin, делаем исполняемым. Запускать его нужно с параметрами:
site add – для добавления сайта;
site remove – для удаления.