Устанавливаем svn и trac в Ubuntu server на VirtualBox Windows 7
За несколько лет накопилось разных проектов, которые лежали в куче папок, очень много. Периодически поправляя в них что-то, потом забываешь что и где это было поправлено. Поэтому было решено все проекты загрузить в систему контроля за версиями (SVN). Очень удобно. А Trac позволяет посмотреть изменения в версиях.
Описаний установки в интернете я нашел великое множество, но ни одно из них меня не удовлетворило, потому что по ним не смог поставить. Как оказалось это всё клоны одной статьи по установке, скопипастенной со всеми ее ошибками. Поэтому методом проб и ошибок, а установка svn и trac для меня вообще новое, хотя самой системой я пользовалься, но никогда не устанавливал, появился на свет этот мануал, доработанный и проверенный.
Основная система в которой производятся манипуляции, Windows 7 x64. Из программного обеспечения нам понадобятся:
1. ubuntu-10.10-server-i386.iso - я устанавлиивал именно эту версию, потому что считаю что она стабильная. 11.04 и 11.10 работают криво, и сделать в них ничего не получилось.
2. VirtualBox for Windows x86/x64 - сама программа для создания виртуальных машин.
3. Tortoisesvn x64 (черепаха) и Russian lang for tsvn x64 - программа для работы с svn, она очень простая и для несложных проектов вполне подойдет. Если необходимо проводить с проектом более сложные манипуляции, то лучше воспользоваться Eclipse Classic, с установленным plugin subversion, можно делать гораздо больше.
Все программы которые я использовал бесплатные, в скачивании кряков или кейгенов нет необходимости.
Для себя я решил, что буду устанавливать виртуальную машину на внешнем накопителе, во-первых на компе постоянно что-то меняется и переустанавливается, во-вторых я могу контролировать свой переносной жесткий диск и даже в случае его потери никто не сможет прибрать к себе мои проекты (никто не поймет что это за файл, если и поймет никто не сможет обойти пароль, если обойдет, то найти проекты и посмотреть не сможет - потому что это часы работы, а если предположить что еденицы могут все это сделать, то скорей всего нашедший винч будет отформатирован и использован под свои нужды), а востановить я смогу из копии на компьютере.
Устанавливаем VirtualBox. Ничего сложного в установке нету. Всё ставится по умолчанию.После установки VirtualBox, в вашей системе появился новый «Виртуальный» сетевой адаптер «VirtualBox Host-Only Enthernet Adapter». Взаимодействие между ним, и существующим сейчас соединением мы и настроим.
Для этого открываем «свойства» текущего соединения к Интернет, а затем вкладку «доступ».
Для Win7 я сначала открыл «Центр управления сетями и общим доступом», затем выбрал «Подключение по локальной сети 2» -> Кнопка «Свойства» -> Обратите внимание на то, чтобы был отмечен флажок «VirtualBox Bridget Networking Driver», выберите вкладку «Доступ»:
В открывшимся окне отметьте флажок «Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера», а в списке «Подключение домашней сети» выберите «VirtualBox Host-Only Network»:
Затем нажмем «Ок». Появится предупреждение, что адаптеру «VirtualBox Host-Only Network» будет присвоен адрес 192.168.137.1:
Запомним этот адрес, и ответим «Да». Закроем окно состояния «Подключение по локальной сети 2». Откроем свойства сети «VirtualBox Host-Only Network». Нам надо установить флажок «VirtualBox Bridget Networking Driver» и для этого сетевого адаптера:
После этого нажмем «Ок», «Закрыть».
Теперь давайте настроим VirtualBox. Откройте меню «Файл» -> «Настройки». В появившемся окне выберите строку «Сеть», и нажмите кнопку с изображением отвертки:
В открывшимся окне «Детали виртуальной сети хоста» вы увидите IP адрес хоста, и маску будущей виртуальной локальной сети.
Откройте вкладку «DHCP сервер», и т.к. он нам не нужен, на ней ничего не должно быть отмечено-заполнено:
Если это не так, поправьте, затем нажмите «Ок» для выхода из окна «Деталей виртуального хоста».
Далее, перейдем на строку «Общее». Здесь нас интересует папка для хранения наших «виртуальных компьютеров». Точнее их две: для самих ВM и для их «жестких дисков». Но это зависит от версии VirtualBox? в последней версии выбираем место только одной папки, в которой все находится, я выбрал внешний жесткий диск. Вы выбирайте как вам удобнее.
На этом настройка VirtualBox завершена.
Теперь надо создать и настроить виртуальную машину в VirtualBox. Для создания ВM выберите меню «Машина» – «Создать», откроется «мастер» создания нового «ВM»:
Нажимаем «Далее», ставим имя – «ubuntu», операционная система – «Linux», версия – «Ubuntu»:
Нажимаем «Далее», выбираем объем оперативной памяти:
У меня физической памяти на ПК 4Gb, поэтому я выделил 1Gb. Хотя если вы собираетесь пользоваться только svn и trac то вам 512 mb хватит за глаза. Нажимаем «Далее», отмечаем флажок «Загрузочный ЖД» и ставим переключатель на «Создать новый ЖД»:
Нажимаем «Далее». Запустится «мастер» создания нового «виртуального ЖД». Рисунок приводить не буду, просто жмем «Далее».
На следующем шаге предлагается выбрать тип файла для виртуального диска. Я выбрал «Динамически расширяющийся образ» т.к. неизвестно сколько будут занимать проекты, да еще и со всякими изменениями. Поэтому образ по мере увеличения ваших проектов будет расширяться.
Жмем «Далее». В следующем окне я оставил все настройки по умолчанию, а именно: расположение – «ubuntu», объем – 8 ГБ:
Нажимаем «Далее» и в следующем окне нажимаем «Готово» и еще раз «Готово». Вот такое получается:
Теперь нам необходимо указать какой привод DVD мы будем использовать, а также настроить тип сетевого соединения. Так как я в основном пользуюсь исошниками (образами DVD), то я смонтировал образ ubuntu-10.10-server-i386.iso в Virtual Clone Drive, чтоб не заморачиваться с записью образа на болванку. Откройте меню «Машина» – > «Свойства». Затем выделите пункт «Носители» и выберите строку с изображением DVD диска (пока там надпись «пусто»). Справа, в поле «Привод», поставьте ваш, более ничего здесь не меняйте:
Затем в списке слева, выберите строку «Сеть», тип подключения – «Виртуальный адаптер хоста», имя – «VirtualBox Host-Only Enthernet Adapter». Раскройте секцию «дополнительно»:
У вас могут отличаться от моего «тип адаптера» и МАС адрес. Но у меня они стали такими «по умолчанию», т.е. ничего в секции «дополнительно» я не менял. Даже если у вас другие параметры – советую оставить ваши. Принципиально важны два параметра: тип подключения – «Виртуальный адаптер хоста», имя – «VirtualBox Host-Only Enthernet Adapter». Ну и конечно должен быть «Кабель подключен». Закройте окно «Свойства», нажав «Ок».
Теперь нам надо установить сам Ubuntu server. Монтируем образ в Virtual Clone Drive или Deamon Tools и нажимаем кнопку "старт".Я ставил русскую версию, так патриотичнее :) В установке нет ничего сложного там все понятно, НО лучше посидеть перед экраном, есть один нюанс, а именно, несмотря на то, что мы не выбрали использование DHCP сервера, автоматические настройки сети все-таки происходят!
Для предотвращения этого, необходимо нажать «Enter» в тот момент, когда на экране идет «Настройка сети с помощью DHCP», это вызовет «Отмену» автоматической настройки. Затем нужно выбрать «Настроить сеть вручную». Я ввел такие параметры сети:
IP = 192.168.137.3
Маска = 255.255.255.0
Шлюз = 192.168.137.1
Сервер DNS = 192.168.137.1
В самом конце вам предложат список того что установить. Всё устанавливать не надо, отметте как на рисунке:Перед перезагрузкой в конце установки, не забудьте «размонтировать» привод DVD или вынуть реальный DVD из реального привода. Хотя у меня он размонтировался самостоятельно перед перезагрузкой.
По окончании установки, если набрать в броузере IP 192.168.137.3, откроется приветствие Apache.
Открываем окно вашего запущенного сервера. Все производимые нами действия будут производиться в консоли нашего виртуального сервера.
Прежде чем устанавливать svn и trac поставте себе Midnight Commander. Это двухоконный файловый менеджер, наподобии farmanager или total comander. Вызывается он в консоли командой mc, если хотите в нём редактировать что-то, то нужно запустить его от имени root тоесть команда будет в консоли sudo mc. Устанавливаем:
sudo apt-get install mc
А также поддержку мышки в mc, это удобно чтоб не путаться в клавишах:
sudo apt-get install gpm
Теперь приступим к установке SVN.
1. Ставим trac, python и subversion :
sudo apt-get install trac libapache2-svn subversion python-subversion libapache2-mod-python
2. Включаем модуль питона :
sudo a2enmod python
Настраиваем SVN.
1. Создаем группу для работы с SVN :
sudo groupadd svn
2. Добавляем себя (ваше имя пользователя в Ubuntu) в группу svn :
sudo usermod -a -G svn имя_пользователя
3. Добавляем apache в группу svn :
sudo usermod -a -G svn www-data
4. Создаем папку для будущего репозитория :
sudo mkdir /var/svn
5. Создаем репозиторий :
sudo svnadmin create /var/svn
6. Меняем права к папке для доступа пользователям из группы svn :
sudo chown -R www-data:svn /var/svn
7. Разрешаем на запись группе и владельцу :
sudo chmod -R g+ws /var/svn
8. Создаем пароль для доступа к папке с репозиторием, который впоследствии будет использоваться apache'ем :
sudo htpasswd -c -m /etc/apache2/svn.htpasswd имя_пользователя
9. Теперь создадим правило для Apache для доступа к svn-репозиторию :
Нажимаем Alt+F2 вводим логин и пароль, потом набираем для редактирования:
sudo nano /etc/apache2/conf.d/svn
вписываем туда следующие строки:
<Location "/svn">
DAV svn
SVNPath /var/svn
AuthType Basic
AuthName "SVN Repo"
AuthUserFile /etc/apache2/svn.htpasswd
Require valid-user
</Location>
10. SVN установлен! Он доступен по адресу http://192.168.137.3/svn (после перезагрузки виртуального сервера!) Перезагрузить надо обязательно! Делается это командой в консоли:
sudo reboot
Настраиваем Trac
1. Создаем папку для Trac'а :
sudo mkdir /var/trac
2. Создаем среду для работы Trac с SVN :
sudo trac-admin /var/trac initenv
3. Меняем права к папке с trac'ом :
sudo chown -R www-data:svn /var/trac
sudo chmod -R g+ws /var/trac
4. Создаём пароль для админ-доступа к папке с trac'ом, который впоследствии будет использоваться apache'ем :
sudo htpasswd -c -m /etc/apache2/trac.htpasswd имя_пользователя
5. Создадим правило для Apache для доступа к trac'у :
Нажимаем Alt+F2 вводим логин и пароль, потом набираем для редактирования:
sudo nano /etc/apache2/conf.d/trac
вписываем туда следующие строки:
<LocationMatch "/trac/login">
AuthType Basic
AuthName "Projects"
AuthUserFile /etc/apache2/trac.htpasswd
Require valid-user
</LocationMatch>
<Location "/trac">
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/trac
PythonOption TracUriRoot /trac
</Location>
6. Trac установлен! Он доступен по адресу http://192.168.137.3/trac (после перезагрузки виртуального сервера) Перезагрузить надо обязательно! Делается это командой в консоли:
sudo reboot
Устанавливаем плагин TracWebAdmin
1. Чтобы устанавливать плагины для trac'а - нам нужен пакет "python-setuptools" Он в принципе устанавливается по умолчанию с trac, но если не установлен то:
sudo apt-get install python-setuptools
2. Переходим в папку, где лежат trac-плагины :
cd /var/trac/plugins
3. Будем ставить TracWebAdmin из svn-репозитария :
sudo svn co
http://svn.edgewall.org/repos/trac/plugins/0.10/webadmin
адрес репозитория может измениться, поэтому вводим его сначала в браузере и проверяем, есть там то что нам надо или нет.
4. Переходим в папку с webadmin'ом и собираем его установочный egg-файл :
cd webadmin
sudo python setup.py bdist_egg
5. Переходим в папку со свежеиспеченным установщиком командой...
cd /var/trac/plugins/webadmin/dist
...выводим создержимое папки...
dir
... и копируем имя egg-файла.
6. Устанавливаем TracWebAdmin :
sudo easy_install имя_egg_файла
7. Включаем наш плагин в конфигурацию trac'а :
Нажимаем Alt+F2 вводим логин и пароль, потом набираем для редактирования:
sudo nano /etc/trac/trac.ini
Вписываем строчки:
[components]
webadmin.* = enabled
8. Добавляем себя в админы trac'а :
sudo trac-admin /var/trac permission add имя_пользователя TRAC_ADMIN
Перезагружаемся:
sudo reboot
В начале статьи я писал про "черепаху" повторяться как ей пользоваться не вижу смысла, поэтому дам ссылку: Учимся работать с Tortoise SVN и MERGE
Теперь у вас готовая система svn-trac для работы с вашими проектами. Удачи вам. Если есть какието вопросы, пишите.
Источник: Dnny
Комменты к посту