Ahoj všichni, dnes v tomto tutoriálu nainstalujeme Apache SVN také populární jako Subversion na náš CentOS 7 nebo RHEL 7, což je úžasný nástroj pro systém správy verzí, který je vhodný od malých projektů až po velké projekty. Zde je tedy několik informací o tom, co skutečně je Apache SVN (Subversion).
Apache Subversion (často zkráceně SVN, za názvem příkazu svn) je systém pro správu verzí a revizí softwaru distribuovaný jako svobodný software pod licencí Apache. Vývojáři používají Subversion k udržování aktuálních a historických verzí souborů, jako je zdrojový kód, webové stránky a dokumentace. Jeho cílem je být většinou kompatibilním nástupcem široce používaného Concurrent Versions System (CVS).
Komunita svobodného softwaru Subversion široce využívala:například v projektech jako Apache Software Foundation, Free Pascal, FreeBSD, GCC, Mono a SourceForge. Google Code také poskytuje hosting Subversion pro jejich projekty svobodného softwaru. CodePlex nabízí přístup k Subversion a také k dalším typům klientů.
Podnikový svět také začal přijímat Subversion. Zpráva společnosti Forrester Research z roku 2007 uznala Subversion za jediného lídra v kategorii Standalone Software Configuration Management (SCM) a za silného hráče v kategorii Software Configuration and Change Management (SCCM).
Pojďme tedy nainstalovat SVN do našeho stroje CentOS nebo RHEL 7. Aby naše Subversion fungovala, musíme nejprve nainstalovat webový server. Níže jsou uvedeny kroky, které nám umožní jej plně nastavit hned po vybalení.
1. Instalace webového serveru
Než tedy nainstalujeme webový server, budeme muset aktualizovat úložiště balíčků yum:
# yum update
Nyní nainstalujeme server Apache jako webový server pro úložiště SVN.
# yum -y install httpd httpd-tools
Nyní musíme povolit http přes náš firewall. Můžete to udělat pomocí příkazu níže.
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --reload
Pokud se zobrazí chyba, jakou jsme dostali výše, musíte si být jisti, že firewall není nainstalován nebo neběží. Budete tedy muset nainstalovat firewall pomocí "yum install firewalld" a spusťte službu pomocí „systemctl start firewalld "bez uvozovek(""), jak je uvedeno výše.
Nyní chceme spustit náš Apache a ověřit, zda funguje dobře, na adrese http://localhost nebo http://ip-address.
# systemctl start httpd.service
2. Instalace Subversion
Jakmile je webový server Apache nainstalován, budeme muset provést následující příkaz k instalaci subversion.
# yum -y install subversion subversion-tools mod_dav_svn
3. Konfigurace Subversion
Poté, co dokončíme instalaci subversion, můžeme nyní začít vytvářet úložiště podle požadavků. V našem případě vytvoříme /svn jako základ a vytvoříme v něm úložiště.
Poznámka:Můžete vybrat adresář, ve kterém chcete vytvořit úložiště, a nahradit jím /svn.
# mkdir /svn
Nyní vytvoříme úložiště s názvem „linoxiderepo“ v adresáři „/svn/“ jako
# svnadmin create /svn/linoxiderepo
Změňte oprávnění úložiště tak, aby je Apache mohl číst a zapisovat.
# chown -R apache:apache /svn/linoxiderepo/
Pokud máte v systému povolen SELinux, spusťte následující příkaz.
# chcon -R -t httpd_sys_content_t /svn/linoxiderepo/
# chcon -R -t httpd_sys_rw_content_t /svn/linoxiderepo/
4. Konfigurace serveru Apache
Nakonfigurujte virtuální hostitele v Apache.
# nano /etc/httpd/conf.d/svn.conf
Umístěte následující obsah.
<location /svn>
DAV svn
SVNParentPath /svn
</location>
Poté budeme muset restartovat server apache, aby se projevil.
# systemctl reload httpd.service
Nyní bychom měli mít přístup k SVN pomocí vašeho oblíbeného prohlížeče, budeme muset přejít na http://our-ip-address/svn/linoxiderepo . Nebude po nás vyžadovat žádné heslo k zobrazení, takže naše úložiště SVN je veřejně přístupné. Pokud pak chceme zabezpečit naše úložiště SVN, budeme muset postupovat podle níže uvedených kroků.
5. Zabezpečení SVN:(Volitelné)
Výše uvedené nastavení umožní anonymním uživatelům prohlížet a odevzdávat soubory. Chcete-li anonymní přístup zastavit, musíte upravit konfiguraci Apache, která byla vytvořena jen dva kroky předtím.
# nano /etc/httpd/conf.d/svn.conf
Do tohoto souboru přidáme následující obsah.
<location /svn>
DAV svn
SVNParentPath /svn/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/svn.users
Require valid-user
</location>
Vytvořil soubor s hesly pro uživatele.
# htpasswd -cm /etc/subversion/svn.users arun
Nyní restartujte server apache.
# systemctl reload httpd.service
6. Testování Subversion
Nakonec můžeme navštívit url http://our-ip-address/svn/linoxiderepo v našem prohlížeči a zkontrolovat obsah, budete požádáni o zadání uživatelského jména a hesla (Pokud jste nastavili Secure SVN).
Po úspěšném přihlášení bude obsah uveden níže.
Vytvořte adresář šablon a importujte do SVN.
# mkdir -p /tmp/repository/project/{trunk,branches,tags}
# svn import -m 'Initial Import' /tmp/repository/project/ http://192.168.12.103/svn/linoxiderepo
V prohlížeči po importu.
Závěr
Hurá! Úspěšně jsme nainstalovali Apache SVN (Subversion) spolu s webovým serverem Apache pro hostování úložiště v našem CentOS 7. Tento návod je také použitelný pro RHEL 7 (Hat Enterprises Linux). Apache SVN je úžasný nástroj pro systém správy verzí, který je vhodný od malých vývojových projektů až po velké projekty. Budeme potřebovat klienta SVN, jako je Tortoisesvn pro Windows a Rapidsvn pro Linux, což jsou dobré rozhraní GUI pro systém revizí Subversion. Takže pokud máte nějaké dotazy, komentáře, zpětnou vazbu, napište nám do pole komentářů níže a dejte nám vědět, co je třeba přidat nebo vylepšit. Děkuji! Užijte si Apache SVN (Subversion).