Instalarea și configurarea serverului cu acces SVN depozit prin protocolul HTTP

Instalarea și configurarea serverului SVN cu acces la depozitul prin protocolul HTTP.


Mi-a luat un server SVN
astfel încât chiar și cu posibilitatea de a vizualiza repertoare de conținut
în browser-ul obișnuit
Fără un fel de ssl și alte pribludy.
„Googled“ o tona de articole pus încă pe server.
După 2 zile kolupany, a decis să liniuta pe un articol, poate veni cineva din :) la îndemână

Deci, avem:
$ Uname -r
7.0-RELEASE-p6

obiective:
sistem de control al versiunii (Subversion)
Accesul la arhive pe protocolul HTTP (Apache)
Beautiful "arhive web halbă".
(Sunt folosind Trac. Ce și apoi voi scrie, și „boturi“ plin :))

Setare:
pune MySQL
Pentru depozitare, de grup, și Trac `un jurnal va utiliza baza de date MySQL.
Cu toate acestea, recomand pentru a instala MySQL foarte primul din listă, pentru tot felul de motive :)

Pune serverul apache httpd
Am pus indian 2.2, dar cred că nu contează :)
la momentul instalării, porturile a fost versiunea 2.2.9
$ Cd / usr / porturi / www / apache22
$ Make config

$ Make install curat

punerea piton
Python este necesar pentru sistemul Trac.
Verificați pentru a vedea dacă Python deja instalat:
$ Pkg_info | grep piton
În cazul în care răspunsul este da, care este mai mult decât probabil (lista va fi ceva de genul: h.h.h-python XX)
Apoi sări peste acest pas dacă piton nu este instalat, atunci:
$ Cd / usr / porturi / lang / python25
$ Make config

$ Make install curat

a pus subversiune
Pentru versiunea 1.5.4_2
$ Cd / usr / porturi / devel / subversiune
$ Make config

$ Cd. / Py-subversiune
$ Make install curat

instalarea Trac
La momentul instalării în porturi a fost versiunea 0.11.2
$ Cd / usr / porturi / www / Trac
(Toate opțiunile sunt lăsate în mod implicit)
$ Make install curat

a pus mod_python
Pentru a funcționa corect, Trac, are nevoie de sprijinul limbajului Python indian.
$ Cd / usr / porturi / www / mod_python3
$ Make install curat

Pune MySQL-python
Necesitatea de a MySQL învățat să-l înțeleagă,
care-l împinge la python, iar în cazul nostru face Trac :)
$ Cd / usr / porturi / baze de date / py-MySQLdb
$ Make install curat

Deci, cu instalarea terminat.
Nu am nici o vopsea opțiune pentru orice scop indică
Dar nu este nimic de prisos aici, ele sunt toate necesare pentru a funcționa normale :)
Dacă s-ar putea fi interesat de asta și ce - puteți căuta în Google, sau cere în acest thread :)

Între timp - va continua, cu :)

Acum, tot ceea ce este necesar pentru a configura un Whopper.

Configurare:
Configurarea Apache 2.2
$ Editare /usr/local/etc/apache22/httpd.conf
De obicei, la asamblarea modulelor în configurația Subversion se adaugă,
în cazul în care dintr-o dată nu, atunci se adaugă:

Adăugarea podgruzku python_module:

Acum, cel mai important - a crea „gazde“ dvs. :)
De fapt - Eu doar atât de convenabil,
în cazul în care depozitul nu este disponibil pentru domain.com/svn, și pe svn.domain.com.
Așa că am trecut printr-o defalcare în gazde virtuale.
Da, și poate fi mai târziu util,
atunci când necesitatea de a se fixa pe o mașină de mai mult de un site :)

Deci:
$ Editare /usr/local/etc/apache22/extra/httpd-vhosts.conf
Eliminați toate exemplele citate în acesta gazdă și de a crea propriile lor:

Creați o gazdă pentru SVN`a nostru

Acum a crea un bloc pentru noastre „bot de web“ pentru a SVN`u

Ei bine, cred că am configurat Apache :) Run este devreme, pentru că vor fi mulți pereche :)
Dar deja otkonfiguren și poate despre el să uite :)

Configurarea MySQL
Ei bine, cred că ceea ce mysql`a de configurare pot fi luate din nou din același articol Fox,
edisntvennoe - avem nevoie pentru a crea o bază de date și utilizator pentru ea.
$ Mysql -uroot -p

mysql> CREATE DATABASE Trac DEFAULT CARACTERULUI SET utf8 COLLATE utf8_general_ci;
mysql> GRANT Privilegii PE * LA TRAC TRAC @ localhost IDENTIFICAT cu 'ukazat_parol.';

Ei bine, toate sobstno :)

Creați toate directoarele necesare.
Ei bine, pentru început ne uităm prin chiar deasupra și să vedem ce fel am folosit.
Asta e tot ce ai nevoie pentru a le crea :)
Și apoi serverul dvs. vă va suna aceste cuvinte :)

Și astfel:
$ Mkdir -p /usr/local/www/apache22/domain.com
$ Mkdir -p / usr / local / www / apache22 / SVN
$ Mkdir -p / usr / local / www / apache22 / Trac / proj
$ Cd / usr / local / www / apache22 / SVN
$ Mkdir myproject

Acum vom da dreptul la directorul:
$ Chown -R www: www / usr / local / www
Cu toate drepturile)

a crea depozit
$ Svnadmin crea / usr / local / www / apache22 / SVN / myproject

Acum, creați un Fail-bază cu parole la depozitul nostru.
$ Htpasswd -cm / usr / local / www / apache22 / svn / svn-passwd admin

Pentru a adăuga mai mulți utilizatori, utilizați comanda:
$ Htpasswd -m / usr / local / www / apache22 / svn / svn-passwd user-name

Fail crea privilegii de utilizator pentru magazia.
$ Editare / usr / local / www / apache22 / svn / svn-acces

Ei bine, cred că toate astea :)

Adăugarea administratorului nostru:
$ Trac-admin / usr / local / www permisiunea / apache22 / TRAC / proj add admin TRAC_ADMIN

După crearea magaziei, puteți edita config Fail.
$ Editare /usr/local/www/apache22/trac/proj/conf/trac.ini
puteți edita pe gustul tau :)
Există setări în principal mărunte
Practic, am făcut deja în crearea trac`a de proiect.

Ei bine, asta e practic tot.
Proiectul este complet configurat.

Acum, rulați:
$ Echo 'apache22_enable = "DA"' >> /etc/rc.conf
$ /usr/local/etc/rc.d/apache22 de start
Dacă totul este în regulă, apoi verificați dacă munca :)
$ Ps AXW | grep httpd

mmm. Da, ei sunt aici, în principiu, nu au nevoie :)
Doar ce am de gând să - Nu-mi amintesc (de mult apuse)
Deci, el a luat parametrii articolului Fox.

Totul se întâmplă la un ordin de mărime mai ușor în cazul proiectelor este buna mysql mare în cele din urmă Mona juzat gesturi nu de prisos ca să spunem așa. în cazul în care există TRAC de ce dav O_O

hmm. la asamblarea pitonul fără FIRE
Trac a dat persistent eroare „neacceptată sistem de control al versiunii“ SVN „“

MICRO. care prezintă cu MySQL deoarece am fost înainte, ca să-l NoDo ceva pentru a încărca))
Dove este necesară pentru a putea repozitoriu orice client descărcare SVN.
În caz contrar, va trebui să ridice un demon SVN-server,
Și pentru ce este necesar, dacă Apache este destul de rău?

Kam. Destul de ciudat, dar am întâlnit această problemă numai atunci când am decis prostește să colecteze SVN în primul rând, și doar apoi un piton.
Fără firele de lucru normale.

Ne pare rău, de fapt, scoala mea :)
Multumesc pentru pont, corectat.
Am verifica configurările lor merge într-adevăr Python cu fire.
Fără ele - nu funcționează :(

Versiune Posed 1.4.6_1
$ Cd / usr / porturi / devel / subversiune
$ Make config

[X] legări PYTHON Python

1.5.0_3 în această opțiune nu mai există :(

Articolul rectificat.
Pentru 1.5.0_3 au nevoie de noi manipulare.

În primul rând, există o linie
= BROKEN nbsp nbsp depinde de Apr-db42-1.3.2 și Apr-1.3.2 care intră în conflict unele cu altele

În al doilea rând,
[Root @ bu]: / usr / porturi / devel / py-subversiune # make config
===> Opțiuni neschimbate

În consecință, după ce make install nimic curat nu apare, iar eu nu pot adăuga un modul pentru Apache.

Uita-te cu atentie articolul.
Aceste acțiuni au fost prescrise pentru versiunea 1.5.0_3

Nu aș fi scris acest lucru în cazul în care nu au fost colectate la domiciliu.
Toate etapele au fost efectuate secvențial pe serverul meu, și numai după ce sunt documentate aici.

Cum sunt lucrurile de asamblare stau acum - nu am un indiciu.

Voi încerca una dintre aceste zile (după cum am ajunge acasă) va arata ca azi.
Apoi am atinge scopul.

Mmm. toate conectate cu durere în jumătate. totul funcționează. în principiu, în conformitate cu doar pași ușor diferite momente și altceva Oo editat. Uhh, capul meu nu se fierbe, somn, somn dispar. FenX Arigato)

Pentru versiunea curentă de subversiune în porturi (1.5.1)
$ Cd / usr / porturi / devel / subversiune
$ Make config
Selectați opțiunile dorite
$ Cd. / Py-subversiune
$ Make install curat

articol va actualiza mai târziu.

N-am vrut să kompilitso mod_python3 fără FIRE în Apache. și încă mai era ceva.

Am observat, de asemenea, acest fenomen în timpul actualizării.
Vechea versiune a Campiglio și a lucrat prikrasno.
De aceea, încă nu am actualizat articolul.
Acum ischyu toate școlile care pot vstryat cu noi versiuni = \

Sunt pe forum, cu privire la acest subiect deja semnate.
Dezvoltatorii SVN`a pe această temă recomanda
păstrează depozitul SVN într-un mod separat,
de pe site.
sau pur și simplu nu utilizați DocumentulRădăcină directivă.

Îmi plac lucrările de țestoasă fără aceste distorsiuni.

Când instalarea:
$ Cd. / Py-subversiune
$ Make install curat

A existat o eroare în patch-uri, care a ajutat :):

ln -s /usr/local/include/pth/pth.h /usr/local/include/python2.6/
ln -s /usr/local/include/pth/pthread.h/usr/local/include/python2.6/