Чтобы поднять необходимую конфигурацию: Trac и Mercurial под Apache, мне пришлось
- Установить программное обеспечение
apt-get install apache2
apt-get install libapache2-mod-auth-plain
apt-get install libapache2-mod-macro
apt-get install libapache2-mod-wsgi
apt-get install binutils
apt-get install python-setuptools
apt-get install mercurial
easy_install genshi
easy_install trac
easy_install TracMercurial - Подключить второй диск, на котором будут данные
mkdir /data
Диск был уже отформатирован, так что с fdisk/mkfs возиться не пришлось.
mount /dev/xvdd /data
nano /etc/fstab - Включить необходимые модули в Apache. Делается это очень круто, созданием симлинков в нужной папке.
ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load
Работает такой метод за счёт включения файлов по маске
ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
ln -s /etc/apache2/mods-available/wsgi.load /etc/apache2/mods-enabled/wsgi.load
ln -s /etc/apache2/mods-available/wsgi.conf /etc/apache2/mods-enabled/wsgi.conf
ln -s /etc/apache2/mods-available/macro.load /etc/apache2/mods-enabled/macro.loadInclude mods-enabled/*.load
Особенностью является так же то, что основной файл кончигурации - apache2.conf, а не httpd.conf как я привык.
Include mods-enabled/*.conf - Настроить Apache, это я уже умел.
У python 2.7.0 нет стандартного модуля WSGI, так что подключил 2.6.6. Компилировать было лень.
Ещё настроил бекапирование данных.
apt-get install libio-socket-ssl-perl
apt-get install sendemail
и bash скрипт
#!/bin/bash
date2stamp () {
date --utc +%Y-%m-%d-%H-%M-%S
}
timestamp=$(date2stamp)
for path in /mnt/data/backup/*.tar.gz
do
rm $path
done
cd /mnt/data/
rm -rf /mnt/data/backup/mercurial
mkdir /mnt/data/backup/mercurial
for path in /mnt/data/mercurial/*
do
name=$(basename $path)
hg clone $path /mnt/data/backup/mercurial/$name
tar --create --file=/mnt/data/backup/mercurial-$name-$timestamp.tar.gz --gzip backup/mercurial/
rm -rf /mnt/data/backup/mercurial/$name
done
rm -rf /mnt/data/backup/trac
mkdir /mnt/data/backup/trac
for path in /mnt/data/trac/*
do
name=$(basename $path)
trac-admin $path hotcopy /mnt/data/backup/trac/$name
tar --create --file=/mnt/data/backup/trac-$name-$timestamp.tar.gz --gzip backup/trac/
rm -rf /mnt/data/backup/trac/$name
done
for path in /mnt/data/backup/*.tar.gz
do
name=$(basename $path)
sendemail -f backup-collector@triflesoft.org -u "$name" -m "Backup." -a $path -t backup-collector@triflesoft.org -s smtp.triflesoft.org:25 -o tls=yes -xu backup-collector@triflesoft.org -xp BaCkuPpa$$Word
done
0 коммент.:
Отправить комментарий