рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдХрд┐рд╕реЗ рд╣реИ?
рдпрд╣ рд▓реЗрдЦ рдЯреНрд░рд╛рд╕ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╡рд░реНрдЬрди рдХрдВрдЯреНрд░реЛрд▓ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реАрдХреНрдпреВрдПрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛, рдЬреЛ рдЕрдкрд╛рдЪреЗ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ рд╕рдм рдлреНрд░реА рдУрдкрди рд╕рд┐рд╕реНрдЯрдо рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдардХ рдЖрдо рддреМрд░ рдкрд░ рдХреНрдпреЛрдВ рдкрд░рд┐рдЪрд┐рдд рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдмрдЧ рдЯреНрд░реИрдХрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП, рди рддреЛ рдПрдХ рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рди рд╣реА рдЯреАрдЖрд░рд╕реА рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЬрд╛рдПрдЧреАред
рдпрд╣ рд▓реЗрдЦ рд╕рднреА рдХреЗ рд▓рд┐рдП рд░реВрдЪрд┐рдХрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ "рд▓реБрдХрдЖрдЙрдЯ" рдкрд░ рд╣реИрдВ рдФрд░ рдЯреНрд░рд╛рдХ рдХреЛ рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рднреА рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреА рдкрд╕рдВрдж рдмрдирд╛ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЬрд░реВрд░реА рд╣реЛрдЧрд╛
рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
- рдЗрдВрдЯрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ
- рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ (рд▓реЗрдЦрдХ рджреГрдврд╝рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдорд╢реАрдиреЛрдВ рдФрд░ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдкреНрд░рдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИ);
- OpenSUSE 11.2 рд╕реНрдерд╛рдкрдирд╛ рдбреАрд╡реАрдбреА
- рдЦрд╛рд▓реА рд╕рдордп рдХреЗ рдХрдИ рдШрдВрдЯреЗ рдФрд░ рд╕реБрдВрджрд░ рдХреЛ рдЫреВрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ред
рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк
рдУрдПрд╕ рд╕реНрдерд╛рдкрдирд╛
рдПрдХ рдирдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдПрдВ рдФрд░ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ DE (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧрдВрднреАрд░ рдпрд╛ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде OpenSUSE рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ) рдкрд╛рда рдореЛрдб рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рдУрдПрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╕реЗрдЯрд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╣реИрдВред рдХреЗрд╡рд▓ рдПрдХ рднрд╛рд╖рд╛ рдЪреБрдирдиреЗ рдкрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдЬреЛрдбрд╝рдирд╛
рдЖрд╡рд╢реНрдпрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЬреЛрдбрд╝реЗрдВ:
sudo zypper ar http://download.opensuse.org/repositories/home:/FunkyM:/scm/openSUSE_11.2 FunkyM
sudo zypper ar http://download.opensuse.org/repositories/Apache:/Modules/Apache_openSUSE_11.2 Apache
sudo zypper ar http://download.opensuse.org/repositories/home:/babelworx:/python/openSUSE_11.2 babelworx
sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_11.2 devel
sudo zypper ar http://download.opensuse.org/repositories/devel:/tools:/scm/openSUSE_11.2/ csm
рд╡реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ: рдЕрдЬрдЧрд░-рдЧреЗрдирд╢реА, рдЕрдкрд╛рдЪреЗ 2-mod_wsgi, рдкрд╛рдпрдерди-рдмреЗрдмреЗрд▓, рдЕрдЬрдЧрд░-рдкрд╛рдпрд╕, рдЯреАрдЖрд░рд╕реА, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬред
рдкреНрд░рддреНрдпрдХреНрд╖ рд╕реНрдерд╛рдкрдирд╛
рдЖрдЗрдП рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
sudo zypper in python python-devel python-xml python-setuptools postgresql-server python-psycopg2 subversion swig apache2 apache2-mod_wsgi apache2-mod_python docutils python-pygments python-pytz sqlite3 subversion-python trac-multirepo trac-server trac
рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╕рднреА рдЕрдиреБрд░реЛрдзрд┐рдд рдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рднреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рд╕рдлрд▓ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
рд╕реЛрд░реНрд╕ рдХреЛрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рдирд╛
рдПрдХ svn рднрдВрдбрд╛рд░ рдмрдирд╛рдПрдБ:
sudo mkdir -p /srv/svn/repos
cd /srv/svn/repos
sudo svnadmin create --fs-type fsfs habrahabr
рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрдЧреНрд░рд╣рдг рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
sudo mkdir /srv/svn/user_access
sudo touch /srv/svn/user_access/habrahabr_passwdfile
рдФрд░ рджреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛрдбрд╝реЗрдВ: рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛:
sudo htpasswd2 /srv/svn/user_access/habrahabr_passwdfile admin
sudo htpasswd2 /srv/svn/user_access/ habrahabr_passwdfile user
рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╣реА рдЕрдзрд┐рдХрд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВ:
sudo mkdir -p /srv/svn/repos/abacus/dav
sudo chown -R wwwrun:www habrahabr/{dav,db,locks}
sudo chown root:www /srv/svn/user_access/habrahabr_passwdfile
sudo chmod 640 /srv/svn/user_access/habrahabr_passwdfile
PostgreSQL рд╕реЗрдЯрдЕрдк
Trac рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DBMS рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред
рдЪрд▓реЛ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
sudo /sbin/service postgresql start
рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ:
sudo vim /var/lib/pgsql/data/pg_hba.conf
рдФрд░ рд▓рд╛рдЗрди рдХреА рдЬрдЧрд╣:
host all all 127.0.0.1/32 ident
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд▓рд┐рдП:
host trac trac 127.0.0.1/32 password
рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдлрд┐рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд╕рд╛рде рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ:
su<br>su postgres
рдПрдХ рдирдпрд╛ trac рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдБ:
createuser --pwprompt --encrypted --no-adduser --no-createdb trac
рдФрд░ рдЙрд╕реА рдирд╛рдо рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕:
createdb --encoding=UNICODE --owner=trac trac
рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ рддрд╛рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдВ:
sudo /sbin/service postgresql restart
Trac рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛
Trac рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдПрдБ:
sudo trac-admin /srv/trac/habrahabr initenv
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
sudo trac-admin /srv/trac/habrahabr initenv
рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрддреЗ рд╣реИрдВ:
habrahabr
postgres://trac:secret@127.0.0.1:5432/trac
svn
/srv/svn/repos/habrahabr
рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╕рдлрд▓ рд░рд╣рд╛, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╣реА рдЕрдзрд┐рдХрд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВ:
sudo chown -R wwwrun /srv/trac/habrahabr
рдЯреНрд░рд╛рдХ рдХреЗ рд╕рд╛рде рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЕрдиреБрджрд╛рди рджреЗрдВрдЧреЗ (рд╣рдо рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рд╕рдмрд╡рд░реНрд╕рди рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди рдмрдирд╛рдП рдЧрдП рдереЗ) рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░:
trac-admin /srv/trac/habrahabr permission add admin TRAC_ADMIN
Cgi рдлрд╝рд╛рдЗрд▓ рдмрджрд▓реЗрдВ:
sudo vim /usr/share/trac/cgi-bin/trac.cgi
рдХреЛрд╢рд┐рд╢ рдФрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмреАрдЪ рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:
try:
import os
os.environ['TRAC_ENV'] = "/srv/trac/habrahabr"
from trac.web import cgi_frontend
рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк
рдЕрдкрд╛рдЪреЗ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЕрдкрд╛рдЪреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ:
sudo vim /etc/sysconfig/apache2
рдФрд░ APACHE_SERVER_FLAGS рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдорд╛рди рд╕реЗрдЯ рдХрд░реЗрдВ:
APACHE_SERVER_FLAGS="TRAC_CGI"
рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП Trac рдореЙрдбреНрдпреВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ:
sudo vim /etc/apche2/conf.d/trac.conf
рдФрд░ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ <рд╕реНрдерд╛рди "/ trac"> рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдмрджрд▓реЗрдВ, рдЗрд╕реЗ рдирд┐рдореНрди рд░реВрдк рдореЗрдВ рд▓рд╛рдПрдБ:
SetEnv TRAC_ENV "/srv/trac/habrahabr"
Order allow,deny
Allow from all
AuthType Basic
AuthName "Trac"
AuthUserFile /srv/svn/user_access/habrahabr_passwdfile<br> Require valid-user
рд╢реЗрд╖ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдкрдХреЛ рдирд┐рдореНрди рдЬреИрд╕рд╛ рдХреБрдЫ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:
рд╡реЗрдм рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:
sudo /sbin/service apache2 start
Trac рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ Trac рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдПрдХ рд╕рдорд╛рди рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЕрдЧрд░ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗ:
рддрдм рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкреЛрд░реНрдЯ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рднреВрд▓рдХрд░ рднреА рдЯреНрд░рд╛рдИ рдХреЛ
рдирд┐рд╖реНрдХрд░реНрд╖
рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Trac рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рддрд░реАрдХрд╛ рд╣реИред рдЖрдк рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╕рд░реНрд╡рд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рдмрд╡рд░реНрд╕рди рдФрд░ рдЕрдкрд╛рдЪреЗ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
tracd --port 8000 /srv/trac/habrahabr
рдЕрднрд┐рдЧрдорди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрддреЗ рдкрд░ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛: http: // localhost: 8000ред