Скрипты для apache

Опубликовано 2 Июля, 2008 под тегами Apache, Debian, Apache, Debian

Маялся от безделья вечером, написал несколько скриптов для облегчения жизни :)

Скрипты сделаны по образу a2en* и a2dis* и служат целям:

  1. Создание скриптов полного бэкапа и управление ими
  2. Автоконфигурация apache 2 - создание виртуальных хостов
  3. Быстрое удаление виртуальных хостов.

Расскажу про скрипты более подробно.

Основных два: это a2makesite и a2delsite

a2makesite создает конфиг в /etc/apache2/sites-available с именем, повторяющим имя домена виртуального хоста (по аналогии с конфигом по умолчанию), создает (по желанию пользователя) базу mysql с аналогичным домену названием, пользователя, и генерирует пароль при помощи утилиты pwgen (sudo apt-get install pwgen), после чего в директории /var/www/bak-available создает скрипт резервного копирования базы и структуры сайта.

По выбору пользователя, вызываются a2ensite и a2enbak

a2enbak, в свою очередь, аналогично a2ensite, создает симлинк на выбранный скрипт в /var/www/bak-enabled

Соответственно, чтобы работали бэкапы, нужно в /etc/cron.daily добавить скрипт вида

#!/bin/bash

run-parts –report /var/www/bak-enabled

a2disbak удаляет ранее созданный симлинк на бэкап-скрипт, а a2delsite безвозвратно удаляет конфиг, базу, пользователя, папку, содержащую сайт и скрипты резервного копирования.

Вот такие занятные скриптики. Они еще не до конца отлажены, но у меня неплохо работают. Рекомендую соблюдать осторожность при использовании a2delsite :)

Сами скрипты одним архивом: a2scripts.tar.gz

P.S. Да, все под GPLv2