Прочитав эту статью, я осознал, что Trac+SVN очень помогут в работе и решил настроить эту связку у себя на машине.
С недавних пор я использую Убунту линукс, потому установка и настройка проходили с учетом особенностей данной системы. LAMP у меня уже был установлен ранее, так же как и inadyn. В итоге я получил достаточно гибкую и удобную систему управления своими проэктами, к которой есть доступ по сети. Интересно, как сделать? (в конце ждет бонус ;)
Новичкам советую пройти Семь Шагов от mdevils
Открываем консоль и пишем:
Теперь у вас установлен веб-сервер Apache, PHP и MySQL, а также модуль для работы с базами. Если вам нужны дополительные модули для PHP, то их установить достаточно легко, например:
Для управления модулями Apache и виртуальными хостами существуют команды: a2enmod (включает модуль), a2ensite (включает хост), a2dismod и a2dissite (выключают модуль и хост).
Alt+F2
там пишем знакомое
Открываем браузер:
http://localhost — для проверки работы апача
http://localhost/phpinfo.php — для проверки PHP
Наш любимый
Alt+F2
Меняем AllowOverride None на AllowOverride All, вот так:
Alt+F2
меняем первые две строки на:
Теперь к нему доступ будет происходить только по 80-му порту.
Alt+F2
А тут по 443, порту SSL
https://localhost — проверяем (скорее всего скажет, что неправильный сертификат)
А для того, чтобы апач не ругался при перезагрузке:
Alt+F2
Итак, у нас теперь есть готовый веб-сервер с PHP и MySQL.
Есть несколько подходов к организации репозиториев, можно использовать для каждого проекта новый репозиторий, а можно использовать один репозиторий на несколько проектов. Первый способ лучше подходит для крупных компаний и для работы средней группы разработчиков над проектом, чтобы не путаться в большом потоке данных; второй проще, и лучше подходит для фрилансеров и небольших студий, на нем я и остановился.
Теперь создадим правило для Apache:
Alt+F2
Повторяем практически идентичные операции, только для Trac
Alt+F2
Вот и все. По-моему ничего не забыл :)
Итого:
http://localhost — обычный доступ
https://localhost — безопасный доступ
http://localhost/svn — SVN, требует авторизации
http://localhost/trac — сам Trac
http://localhost/trac/login — вход в Trac, требует авторизации
У многих из нас есть широкополосный интернет, для доступа к вашему вышенастроенному серверу можно использовать ваш айпи-адрес. Но мне, например, такое не нравится. Для подобных целей есть достаточно удобный сервис DynDNS. После регистрации вы можете создать свой домен и привязать его к вашему адресу. У меня адрес меняется динамически, каждый раз редактировать на сайте я его не хочу. Для этого существует небольшой клиент inadyn
Alt+F2
Теперь нужно добавить его в кронтаб, чтобы запускался автоматически
добавляем строку
сохраняем и выходим
в одной из следующих статей расскажу о настройке Eclipse для работы с PHP и Subverion.
ПС спасибо людям из этой темы за поднятие кармы до уровня написания постов ;)
С недавних пор я использую Убунту линукс, потому установка и настройка проходили с учетом особенностей данной системы. LAMP у меня уже был установлен ранее, так же как и inadyn. В итоге я получил достаточно гибкую и удобную систему управления своими проэктами, к которой есть доступ по сети. Интересно, как сделать? (в конце ждет бонус ;)
Новичкам советую пройти Семь Шагов от mdevils
Установка Apache+PHP+MySQL
Открываем консоль и пишем:
sudo aptitude update
sudo aptitude install apache2 php5 php5-mysql mysql-server
Теперь у вас установлен веб-сервер Apache, PHP и MySQL, а также модуль для работы с базами. Если вам нужны дополительные модули для PHP, то их установить достаточно легко, например:
sudo aptitude install php5-gd php5-imagick php5-xsl
— устанавливает библиотеки GD, Imagick, XSL.mysqladmin -u root password ваш_пароль_для_root
— устанавливает пароль администраторской учетной записи для доступа к БД.Настройка
Для управления модулями Apache и виртуальными хостами существуют команды: a2enmod (включает модуль), a2ensite (включает хост), a2dismod и a2dissite (выключают модуль и хост).
sudo a2enmod php5
— включаем модуль PHPsudo /etc/init.d/apache2 force-reload
— перезагружаем апачAlt+F2
gksu gedit /var/www/phpinfo.php
там пишем знакомое
<?php phpinfo() ?>
, сохраняем и закрываем.Открываем браузер:
http://localhost — для проверки работы апача
http://localhost/phpinfo.php — для проверки PHP
Наш любимый mod_rewrite
sudo a2enmod rewrite
— активируем сам модульAlt+F2
gksu gedit /etc/apache2/sites-available/default
Меняем AllowOverride None на AllowOverride All, вот так:
<Directory /> Options FollowSymLinks AllowOverride All </Directory>
sudo /etc/init.d/apache2 force-reload
— да, сервер нужно перезапускать после внесения изменений в настройках :)Вам надо SSL? Пожалуйста
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/apache.pem
— создаем сертификатsudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
— копируем настройки для будущего хостаAlt+F2
gksu gedit /etc/apache2/sites-available/default
меняем первые две строки на:
NameVirtualHost *:80
<VirtualHost *:80>
Теперь к нему доступ будет происходить только по 80-му порту.
Alt+F2
gksu gedit /etc/apache2/sites-available/ssl
NameVirtualHost *:443 <VirtualHost *:443> … DocumentRoot … SSLEngine on SSLCertificateFile /etc/apache2/apache.pem
А тут по 443, порту SSL
a2enmod ssl
— включаем SSL модульa2ensite ssl
— включаем хостsudo /etc/init.d/apache2 force-reload
— уже пора запомнить, перезагружаем апач.https://localhost — проверяем (скорее всего скажет, что неправильный сертификат)
А для того, чтобы апач не ругался при перезагрузке:
Alt+F2
gksu gedit /etc/apache2/httpd.conf
ServerName localhost
Итак, у нас теперь есть готовый веб-сервер с PHP и MySQL.
А как же насчет Trac и SVN?
Есть несколько подходов к организации репозиториев, можно использовать для каждого проекта новый репозиторий, а можно использовать один репозиторий на несколько проектов. Первый способ лучше подходит для крупных компаний и для работы средней группы разработчиков над проектом, чтобы не путаться в большом потоке данных; второй проще, и лучше подходит для фрилансеров и небольших студий, на нем я и остановился.
Subversion
sudo apt-get install trac libapache2-svn subversion python-subversion libapache2-mod-python
— устанавливаем необходимые компонентыsudo a2enmod mod_python
— включаем модуль для работы с Python’омsudo groupadd svn
— создаем группу для работу с SVNsudo usermod -a -G svn имя_вашего_пользователя
— добавляем вашего пользователя в созданную группуsudo usermod -a -G svn www-data
— добавляем пользователя Apache в группуsudo mkdir /var/svn
— папка для будущего репозиторияsudo svnadmin create /var/svn
— создаем сам репозиторийsudo chown -R www-data:svn /var/svn
— меняем права папке для доступа пользователям из группы SVNsudo chmod -R g+ws /var/svn
sudo htpasswd -c -m /etc/apache2/svn.htpasswd имя_вашего_пользователя
— создайте пароль, который будет в последствии использоваться в Apache для доступа к папкеТеперь создадим правило для Apache:
Alt+F2
gksu gedit /etc/apache2/conf.d/svn
<Location "/svn"> DAV svn SVNPath /var/svn AuthType Basic AuthName "SVN Repositories" AuthUserFile /etc/apache2/svn.htpasswd Require valid-user </Location>
Trac
Повторяем практически идентичные операции, только для Trac
sudo mkdir /var/trac
sudo trac-admin /var/trac initenv
sudo chown -R www-data:svn /var/trac
sudo chmod -R g+ws /var/trac
sudo htpasswd -c -m /etc/apache2/trac.htpasswd имя_вашего_пользователя
Alt+F2
gksu gedit /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>
Вот и все. По-моему ничего не забыл :)
Итого:
http://localhost — обычный доступ
https://localhost — безопасный доступ
http://localhost/svn — SVN, требует авторизации
http://localhost/trac — сам Trac
http://localhost/trac/login — вход в Trac, требует авторизации
Обещанный бонус
У многих из нас есть широкополосный интернет, для доступа к вашему вышенастроенному серверу можно использовать ваш айпи-адрес. Но мне, например, такое не нравится. Для подобных целей есть достаточно удобный сервис DynDNS. После регистрации вы можете создать свой домен и привязать его к вашему адресу. У меня адрес меняется динамически, каждый раз редактировать на сайте я его не хочу. Для этого существует небольшой клиент inadyn
sudo aptitude install inadyn
— устанавливаемAlt+F2
gksu gedit /etc/inadyn.conf
— создаем файл настройки--username ваше_имя_в_системе_DynDNS --password ваш_вароль --update_period 60000 --alias название.вашего.хоста --background
sudo /usr/sbin/inadyn
— запускаем клиентТеперь нужно добавить его в кронтаб, чтобы запускался автоматически
export EDITOR=gedit
sudo crontab -e
добавляем строку
@reboot /usr/sbin/inadyn
сохраняем и выходим
sudo crontab -l
— проверяем, записалось лиps -A | grep inadyn
— смотрим, запущен или нетСпасибо за внимание
в одной из следующих статей расскажу о настройке Eclipse для работы с PHP и Subverion.
ПС спасибо людям из этой темы за поднятие кармы до уровня написания постов ;)