Первая часть
Сразу хочу заметить, что статья эта не претендует на авторитетность — делал всё в первый раз на удалённой машине с Линуксом. Соответственно, прошу особо не пинать, а лучше высказывать замечания — как что-то можно было сделать по-другому, или советы по настройке. Всё нижеперечисленное было сделано по мануалам из гугла.
С Subversion и Trac пришлось помучаться — здесь напишу финальный, заработавший вариант.
UPD: Рекомендуется сначала попробовать поставить из репозитория, указав соответствующий источник
Subversion — руководствовался в основном этим.
Качаем и ставим Subversion — свеженький
На этом установка Subversion заканчивается (да-да, всё очень просто), и начинается его настройка.
При установке svn должен был ругнуться, что не будет ничего писать в httpd.conf — это и к лучшему.
Сделаем всё сами, ручками.
Проверьте — закинул ли svn при установке такие модули. Если нет — они лежат в папке /tmp/subversion-1.5.0/subversion/ — в соответствующих каталогах.
Разрешаем их в Апаче
Затем идём в apache2.conf и вставляем туда (в конец) следующее:
Потом идём в /etc/nginx/nginx.conf и там прописываем секцию для созданного субдомена — как это делать — описано в предыдущей статье. Из файловых исключений можно убрать всё — иначе не будут показываться исходные тексты файлов.
Осталось создать сам репозиторий.
И пароль!
Вуаля, — если при заходе на svn.чтовытампрописали — вы можете залогиниться и видите SVN — то всё прошло успешно!
Единственное, что я не сумел побороть — это
Писал, что неверный протокол — тут, как я понял, на уровне ядра заморочка. Если кто-то поможет — буду очень рад.
Мне пришлось делать
SVN заработал!
Осталось настроить Trac!
Я не стал особо морочиться и пошёл по инструкции.
Как вариант — можно сделать так
Трак установился, теперь создадим для него папку и базу.
Создаём MySQL-базу «trac». Затем
Что касается MySQL — то указываем вместо sqlite —
База trac должна быть пустой.
На вопрос про путь к svn — отвечаем — /var/svn
Если вы всё сделали правильно — то Trac нам об этом сразу скажет.
Настроим авторизацию Траку
Остаётся только запустить trac!
Где realm — то, что вы указали при создании пароля, -s — сингл-проект, -p — порт 8000, звёздочка — что любой трак-проект. Вроде так.
Теперь при заходе
your.ip.is.here:8000 — вуаля — перед нами Трак!
Уф, вроде всё. Мог забыть какие-то возникшие косяки — экспериментировал немного — пишите, постараюсь ответить и дополнить.
Сразу хочу заметить, что статья эта не претендует на авторитетность — делал всё в первый раз на удалённой машине с Линуксом. Соответственно, прошу особо не пинать, а лучше высказывать замечания — как что-то можно было сделать по-другому, или советы по настройке. Всё нижеперечисленное было сделано по мануалам из гугла.
С Subversion и Trac пришлось помучаться — здесь напишу финальный, заработавший вариант.
UPD: Рекомендуется сначала попробовать поставить из репозитория, указав соответствующий источник
apt-get install subversion
Subversion — руководствовался в основном этим.
apt-get install apache2-threaded-dev # ставим apxs2
apt-get install libapache2-svn python-subversion libapache2-mod-python
a2enmod mod_python # заготовка на будущее, под трак - включаем Питон
Качаем и ставим Subversion — свеженький
cd /tmp
wget subversion.tigris.org/downloads/subversion-1.5.0.tar.bz2
bunzip subversion-1.5.0.tar.bz2
tar -xvf subversion-1.5.0.tar.bz2
cd subversion-1.5.0
./configure --with-apxs=/usr/bin/apxs2
make
make check # самая долгая операция
make install
На этом установка Subversion заканчивается (да-да, всё очень просто), и начинается его настройка.
При установке svn должен был ругнуться, что не будет ничего писать в httpd.conf — это и к лучшему.
Сделаем всё сами, ручками.
cd /etc/apache2/mods-available
echo "LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so" > dav_svn.load
echo "LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so" > authz_svn.load
Проверьте — закинул ли svn при установке такие модули. Если нет — они лежат в папке /tmp/subversion-1.5.0/subversion/ — в соответствующих каталогах.
Разрешаем их в Апаче
cd ../mods-enabled
ln -s ../mods-available/dav.load
ln -s ../mods-available/dav_svn.load
Затем идём в apache2.conf и вставляем туда (в конец) следующее:
<VirtualHost *>
ServerName svn.yourdomain.com
DocumentRoot /var/svn
ServerAdmin svn@youdomain.com
ErrorLog /var/log/apache2/svn-error.log
CustomLog /var/log/apache2/svn-access.log combined
<Location />
DAV svn
SVNPath /var/svn
SVNIndexXSLT "/svnindex.xsl"
AuthType Basic
AuthName "Your Domain's Subversion Repository"
AuthUserFile /etc/apache2/svn.htpasswd
Require valid-user
Потом идём в /etc/nginx/nginx.conf и там прописываем секцию для созданного субдомена — как это делать — описано в предыдущей статье. Из файловых исключений можно убрать всё — иначе не будут показываться исходные тексты файлов.
Осталось создать сам репозиторий.
mkdir /var/svn
svnadmin create /var/svn
chown -R www-data:www-data /var/svn
И пароль!
cd /etc/apache2/
htpasswd -c svn.htpasswd yourname
/etc/init.d/apache2 reload
Вуаля, — если при заходе на svn.чтовытампрописали — вы можете залогиниться и видите SVN — то всё прошло успешно!
Единственное, что я не сумел побороть — это
cd /tmp/subversion-1.5.0/tools/xslt
svn import svnindex.xsl svn.yourdomain.com/svnindex.xsl -m "Improved web interface."
svn import svnindex.css svn.yourdomain.com/svnindex.css -m "Improved web interface."
Писал, что неверный протокол — тут, как я понял, на уровне ядра заморочка. Если кто-то поможет — буду очень рад.
Мне пришлось делать
cd /tmp/subversion-1.5.0/tools/xslt
svn import svnindex.xsl file:///var/svn/svnindex.xsl -m "Improved web interface."
svn import svnindex.css file:///var/svn/svnindex.xsl -m "Improved web interface."
SVN заработал!
Осталось настроить Trac!
Я не стал особо морочиться и пошёл по инструкции.
apt-get install build-essential # для easy=install
easy-install Trac
Как вариант — можно сделать так
cd /tmp
wget ftp.edgewall.com/pub/trac/Trac-0.11.tar.gz
tar -xvf Trac-0.11.tar.gz
cd Trac-0.11
python ./setup.py install
Трак установился, теперь создадим для него папку и базу.
Создаём MySQL-базу «trac». Затем
mkdir /var/trac
trac-admin /var/trac initenv
Что касается MySQL — то указываем вместо sqlite —
mysql://user:pass@host:port/trac
База trac должна быть пустой.
На вопрос про путь к svn — отвечаем — /var/svn
Если вы всё сделали правильно — то Trac нам об этом сразу скажет.
Настроим авторизацию Траку
htdigest -c .htauth realm username # где realm - название проекта английскими буквами, username - ваше имя пользователя для трака
# введите пароль
trac-admin /var/trac
# в запущенном trac-admin ввести
permission add username TRAC_ADMIN
Остаётся только запустить trac!
tracd -p 8000 --auth=*,/var/trac/.htauth,realm /var/trac -s
Где realm — то, что вы указали при создании пароля, -s — сингл-проект, -p — порт 8000, звёздочка — что любой трак-проект. Вроде так.
Теперь при заходе
your.ip.is.here:8000 — вуаля — перед нами Трак!
Уф, вроде всё. Мог забыть какие-то возникшие косяки — экспериментировал немного — пишите, постараюсь ответить и дополнить.