OpenSUSE рдореЗрдВ рддреНрд╡рд░рд┐рдд Trac рд╕реНрдерд╛рдкрдирд╛

рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ, рдХрдИ рдПрдХ рдмрдЧрдЯреНрд░реИрдХреНрдЯрд░ рдХреА рдкрд╕рдВрдж рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ (рдФрджреНрдпреЛрдЧрд┐рдХ рдпрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд) рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ, рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд░реБрдЪрд┐ рдХреЗ рд╕рд╡рд╛рд▓ рдкрд░ рдЦреЛрдЬ рдЗрдВрдЬрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рддреНрд╡рд░рд┐рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ Tracред рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЬрдм рдЗрд╕ рдЕрджреНрднреБрдд рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрдИ рдХреЛ Trac рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрдИ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛рдП рдФрд░ рдЯреНрд░рд╛рдХ рдХреЗ рд╕рд╛рде (рдпрд╛ рд╢рд╛рдпрдж рджреЛрд╕реНрдд рдмрдирд╛рдПрдВ) рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдмрд╕ред



рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐



рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдХрд┐рд╕реЗ рд╣реИ?


рдпрд╣ рд▓реЗрдЦ рдЯреНрд░рд╛рд╕ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╡рд░реНрдЬрди рдХрдВрдЯреНрд░реЛрд▓ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реАрдХреНрдпреВрдПрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛, рдЬреЛ рдЕрдкрд╛рдЪреЗ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ рд╕рдм рдлреНрд░реА рдУрдкрди рд╕рд┐рд╕реНрдЯрдо рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдардХ рдЖрдо рддреМрд░ рдкрд░ рдХреНрдпреЛрдВ рдкрд░рд┐рдЪрд┐рдд рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдмрдЧ рдЯреНрд░реИрдХрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП, рди рддреЛ рдПрдХ рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рди рд╣реА рдЯреАрдЖрд░рд╕реА рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЬрд╛рдПрдЧреАред

рдпрд╣ рд▓реЗрдЦ рд╕рднреА рдХреЗ рд▓рд┐рдП рд░реВрдЪрд┐рдХрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ "рд▓реБрдХрдЖрдЙрдЯ" рдкрд░ рд╣реИрдВ рдФрд░ рдЯреНрд░рд╛рдХ рдХреЛ рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рднреА рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреА рдкрд╕рдВрдж рдмрдирд╛ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред



рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЬрд░реВрд░реА рд╣реЛрдЧрд╛


рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:

рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк



рдУрдПрд╕ рд╕реНрдерд╛рдкрдирд╛


рдПрдХ рдирдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдПрдВ рдФрд░ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ 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ред



All Articles