[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
subversion [2011/08/22 14:42]
fucik
subversion [2011/08/22 15:21]
fucik
Line 1: Line 1:
-====== Subversion ======+====== Subversion & Git ======
  
 Subversion (''svn'') je nástroj pro archivaci (a v případě potřeby obnovu) starších verzí softwaru, který vyvíjíte. Pokud se vás v jednom projektu hrabe víc, Subversion vám pomůže ohlídat, abyste si vzájemně neničili práci. Subversion (''svn'') je nástroj pro archivaci (a v případě potřeby obnovu) starších verzí softwaru, který vyvíjíte. Pokud se vás v jednom projektu hrabe víc, Subversion vám pomůže ohlídat, abyste si vzájemně neničili práci.
Line 9: Line 9:
 ===== Subversion/Git Server (po prestavbe 08/2011) ===== ===== Subversion/Git Server (po prestavbe 08/2011) =====
  
-Serversvn.ms.mff.cuni.cz+Server svn.ms.mff.cuni.cz
  
 Mili kolegove,  Mili kolegove, 
Line 29: Line 29:
           - /home/DATA/git  (repozitare git)           - /home/DATA/git  (repozitare git)
           - /home/DATA/trac (data Tracu pro obe verze repozitaru)           - /home/DATA/trac (data Tracu pro obe verze repozitaru)
 +           
 +   Co je nove:
 +    - podpora zalozeni repozitare Git
 +    - podpora propojeni systemu Trac s git repozitarem
 +    - pristup ke git repozitari pres https a ssh
  
  
Line 36: Line 41:
   - rozhodnete se, zda budete vytvaret SVN nebo GIT repozitar   - rozhodnete se, zda budete vytvaret SVN nebo GIT repozitar
   - pro vytvoreni projektu pouzijete skript (kteremu date jeste jmeno projektu):   - pro vytvoreni projektu pouzijete skript (kteremu date jeste jmeno projektu):
-     SVN<code>/home/howto/Setup_svn-trac_repository.sh <jmeno_projektu></code> + 
-     GIT<code>/home/howto/Setup_git-trac_repository.sh <jmeno_projektu></code> +     SVN <code> /home/howto/Setup_svn-trac_repository.sh <jmeno_projektu> </code> 
-  - repozitare se vzdy vytvori i s Trac rozhranim; pokud ho vylozene nechcete, smazte struktury Tracu: + 
-    <code>rm -rf /home/DATA/trac/<jmeno_projektu></code>+     GIT <code> /home/howto/Setup_git-trac_repository.sh <jmeno_projektu> </code> 
 + 
 +Repozitare se vzdy vytvori i s Trac rozhranim; pokud ho vylozene nechcete, smazte struktury Tracu: 
 + 
 +    <code> rm -rf /home/DATA/trac/<jmeno_projektu> </code>
                
-  - pak se rozhodnete kterymi cestami budete s projektem pracovat - nejlepsi je asi nakonfigurovat vsechny (viz. nize) - tedy svn, webovy pristup do svn a Trac (take webovy). Vsude jsou prednastaveny nejake zakladni ucty, ale nejlepsi je tyto veci upravit podle vlastnich potreb. Napriklad nemusite chtit, aby ufal/maly... mel rw prava ve vasem projektu, jak tomu defaultne je! Podrobnosti jsou uvedené níže. Autentifikační soubory, které jsou uložené přímo u vašeho repozitáře ve složce ''conf'', jsou určené pro přístup protokolem ''svn'', zatímco soubory uložené na centrálních místech ''/home/DATA/'' jsou určené pro přístup protokolem ''https''.+Pak se rozhodnete kterymi cestami budete s projektem pracovat - nejlepsi je asi nakonfigurovat vsechny (viz. nize) - tedy svn, webovy pristup do svn/gitu a Trac (take webovy). Vsude jsou prednastaveny nejake zakladni ucty, ale nejlepsi je tyto veci upravit podle vlastnich potreb. Napriklad nemusite chtit, aby ufal/maly... mel rw prava ve vasem projektu, jak tomu defaultne je! Podrobnosti jsou uvedené níže. Autentifikační soubory, které jsou uložené přímo u vašeho repozitáře ve složce ''conf'', jsou určené pro přístup protokolem ''svn'', zatímco soubory uložené na centrálních místech ''/home/DATA/'' jsou určené pro přístup protokolem ''https''.
  
 ==== Konfigurace webového rozhraní SVN (preferováno) ==== ==== Konfigurace webového rozhraní SVN (preferováno) ====
Line 48: Line 57:
 <code>    svn --username ufal checkout https://svn.ms.mff.cuni.cz/svn/$PROJEKT</code> <code>    svn --username ufal checkout https://svn.ms.mff.cuni.cz/svn/$PROJEKT</code>
  
-Co se tyce svn weboveho rozhrani, tak ten modul ma nasledujici konfiguraky (viz. /etc/httpd/conf.d/subversion.conf)+Co se tyce svn weboveho rozhrani, modul ma nasledujici konfiguracni soubory
-  * uzivatele: ''AuthUserFile /home/svn/users/passwords'' (Ondrej tomu laicky rika .htaccess) +  * uzivatele: ''AuthUserFile /home/DATA/repository_passwords'' (Ondrej tomu laicky rika .htaccess) 
-  * jejich opravneni: ''AuthzSVNAccessFile /home/svn/permissions/svnauthz.conf'' (zde se rika, zda RO nebo RW) +  * jejich opravneni: ''AuthzSVNAccessFile /home/DATA/svnauthz.conf'' (zde se rika, zda RO nebo RW) 
-O zbytek se stara webovy modul subversion - ja mu jen rikam tohle.+O zbytek se stara webovy modul subversion.
  
-Konfiguraky jsou globalni, tj. pro vsechny projekty spolecne.+Konfiguraky jsou globalni, tj. pro vsechny projekty spolecne, v svnauthz.conf jsou pro jednotlive projekty sekce.
  
 O přidávání uživatelů a hesel viz níže. O přidávání uživatelů a hesel viz níže.
  
-=== Přidávání vlastních uživatelů pro webové přístupy (SVN i Trac) ===+=== Přidávání vlastních uživatelů pro webové přístupy (SVN, GIT i Trac) ===
  
-Vlastni uzivatele pro webove pristupy pridate do centralniho souboru webovych hesel v ''/home/svn/users/passwords'' (na coz prava mate) pomoci:+Vlastni uzivatele pro webove pristupy pridate do centralniho souboru webovych hesel v ''/home/DATA/repository_passwords'' (na coz prava mate) pomoci:
  
-    htpasswd -bs /home/svn/users/passwords <uzivatelske_jmeno> <heslo>+    htpasswd -bs /home/DATA/repository_passwords <uzivatelske_jmeno> <heslo>
 nebo nebo
-    htpasswd -s /home/svn/users/passwords <uzivatelske_jmeno>+    htpasswd -s /home/DATA/repository_passwords <uzivatelske_jmeno>
     # na heslo budete dotázáni, heslo se nezobrazí ani na terminálu     # na heslo budete dotázáni, heslo se nezobrazí ani na terminálu
 +
 +==== Konfigurace pristupu ke Git repozitari ====
 +
 +Ke Git repozitarum je mozne v principu pristupovat dvema zpusoby:
 +
 +   * nahledem pres Gitweb rozhrani: https://svn.ms.mff.cuni.cz/git (standardni webove overovani)
 +
 +   * git klientem pres https: <code> git clone https://svn-ufal.ms.mff.cuni.cz/git/<repository_name.git> </code>
 +
 +   * pres ssh: <code> git clone user@svn.ms.mff.cuni..cz:/home/DATA/git/<repository_name>.git </code>
 +
 +V teto konfiguraci git neumi rozlisovat RO a RW uzivatele (jedine pres ssh a ACL prava). Pri pristupu pres https
 +je pouzivan autentizacni soubor /home/DATA/repository_passwords, ale alternativa /home/DATA/svnauthz.conf chybi.
 +Tuto funkcionalitu castecne doplnuje opt system Gitosis, ale prozatim jsem ho neinstaloval. Komunikace pri jeho pouziti probiha pres ssh, na serveru bezi Gitosis server pod uzivatelem Gitosis a uzivatele jsou rozlisovani diky certifikatum pro ssh, ktere
 +jsou pro ne po jednom vygenerovany.
 +
  
 ==== Konfigurace protokolu SVN (raději nepoužívat, nekryptovaný přenos) ==== ==== Konfigurace protokolu SVN (raději nepoužívat, nekryptovaný přenos) ====
Line 73: Line 98:
  
 Pristupova prava pro svn protokol se urcuji pro kazdy projekt nezavisle, v adresari conf v dane repository (jak je vytvorena mym skriptem), tj. napr.: Pristupova prava pro svn protokol se urcuji pro kazdy projekt nezavisle, v adresari conf v dane repository (jak je vytvorena mym skriptem), tj. napr.:
-    vim /home/svn/repos/$PROJEKT/conf/passwd  # vytvořit uživatele +    vim /home/DATA/svn/$PROJEKT/conf/passwd  # vytvořit uživatele 
-    vim /home/svn/repos/$PROJEKT/conf/authz   # nastavit jim práva+    vim /home/DATA/svn/$PROJEKT/conf/authz   # nastavit jim práva
  
-Vzory nastaveni pristupu jsou zde: ''/home/svn/repos/default/conf''+Vzory nastaveni pristupu jsou zde: ''/home/DATA/svn/default/conf''
  
 Pozor - hesla se tu nastavuji jako textove retezce, neni to htaccess! Po siti tedy tecou nekryptovane! Pozor - hesla se tu nastavuji jako textove retezce, neni to htaccess! Po siti tedy tecou nekryptovane!
Line 84: Line 109:
 Trac poskytuje webové rozhraní k repozitáři a dalším službám kolem správy projektu. Používá tutéž evidenci uživatelů a hesel jako webový (''https'') přístup k svn, tedy: Trac poskytuje webové rozhraní k repozitáři a dalším službám kolem správy projektu. Používá tutéž evidenci uživatelů a hesel jako webový (''https'') přístup k svn, tedy:
  
-    AuthUserFile /home/svn/users/passwords+    AuthUserFile /home/DATA/repository_passwords
  
-Při přístupu k webovému rozhraní Trac vyžaduje http autentizaci (zde tedy zadáte jméno a heslo, které máte zavedené v souboru ''/home/svn/users/passwords''). Systém práv (na rozdíl od autentizace) má Trac vlastní a můžete ho upravovat přes webové rozhraní nebo příkazem ''trac-admin''. Pokud v daném projektu nejste zavedeni, dostanete se k němu s nějakými výchozími právy.+Při přístupu k webovému rozhraní Trac vyžaduje http autentizaci (zde tedy zadáte jméno a heslo, které máte zavedené v souboru ''/home/DATA/repository_passwords''). Systém práv (na rozdíl od autentizace) má Trac vlastní a můžete ho upravovat přes webové rozhraní nebo příkazem ''trac-admin''. Pokud v daném projektu nejste zavedeni, dostanete se k němu s nějakými výchozími právy.
  
 Takto spustíte konfigurační skript pro Trac vašeho projektu: Takto spustíte konfigurační skript pro Trac vašeho projektu:
-    trac-admin /home/trac/$PROJEKT+    trac-admin /home/DATA/trac/$PROJEKT
  
 Chcete-li mít přístup k nastavení Tracu pro tento projekt i přes webové rozhraní Tracu, uvnitř ''trac-admin'' zadejte tento příkaz (nahraďte ''$USER'' svým uživatelským jménem v Tracu): Chcete-li mít přístup k nastavení Tracu pro tento projekt i přes webové rozhraní Tracu, uvnitř ''trac-admin'' zadejte tento příkaz (nahraďte ''$USER'' svým uživatelským jménem v Tracu):
Line 103: Line 128:
 == V tracu chybí tlačítko Browse Source == == V tracu chybí tlačítko Browse Source ==
  
-Ověřte, že v souboru ''/home/trac/PROJEKT/conf/trac.ini'' máte nastavenu proměnnou ''repository_dir'' na ''/home/svn/repos/PROJEKT''.+Ověřte, že v souboru ''/home/trac/PROJEKT/conf/trac.ini'' máte nastavenu proměnnou ''repository_dir'' na ''/home/DATA/svn/PROJEKT''.
  
 == V prohlížení kódu se neukazuje Unicode == == V prohlížení kódu se neukazuje Unicode ==

[ Back to the navigation ] [ Back to the content ]