Subversion je open-source systém pro sledování verzí. Uchovává soubory v centrálním úložišti a poskytuje kontrolu verzí nad adresáři nebo soubory. Jako vývojář můžete stáhnout soubory projektu z úložiště, provést v nich změny a vrátit je zpět.

Subversion má také serverovou komponentu, kterou můžete použít k hostování svých projektů. Funguje podobně jako běžný souborový server.

Jak nainstalovat Subversion

Instalace Subversion je jednoduchá. Pro zahájení své distribuce můžete použít příslušný příkaz:

# Debian, Ubuntu
sudo apt Nainstalujte subversion apache2 libapache2-mod-svn

# CentOS, Fedora, RHEL
sudo dnf Nainstalujte subversion apache2 mod_dav_svn

Všimněte si, že tento příkaz také nainstaluje webový server Apache2. Pokud chcete přistupovat k úložišti Subversion přes HTTP nebo WebDAV, budete potřebovat webový server. Můžete také použít HTTPS, stačí k tomu nainstalovat a nakonfigurovat digitální certifikát.

Jakmile spustíte tento příkaz, můžete zkontrolovat, zda je subversion správně nainstalován. Nyní byste měli být schopni spustit svn a můžete zobrazit aktuální verzi pomocí --verze volba:

Konfigurace serveru s Subversion

Pokud instalace proběhla hladce, můžete nyní začít pracovat na konfiguraci úložiště, se kterou budete používat svn. K tomu budete samozřejmě muset vytvořit nové úložiště. Nejprve vytvořte složku v kořenovém adresáři, do které umístíte své úložiště:

sudo mkdir /subversion

Pokud potřebujete přistupovat ke svému úložišti pomocí WebDAV přes HTTP, budete muset Apache přidělit vlastnictví jeho adresáře. Protože Apache používá www-data uživatel ve výchozím nastavení autorizujte tohoto uživatele následovně:

sudo chown www-data: www-data /subversion

Nyní můžete přejít na www-data a začněte pracovat na svém úložišti. Příkaz, který byste použili k přihlášení jako www-data uživatel je:

sudo su -s /bin/bash www-data

Nyní jste uživatelem Apache a po tomto kroku si můžete vytvořit úložiště Subversion následovně:

svnadmin vytvořit /subversion/myrepo

Nyní máte úložiště Subversion. Aby bylo toto úložiště o něco bezpečnější a aby bylo možné identifikovat jeho uživatele, je dalším krokem vytvoření uživatele a nastavení hesla. Chcete-li to provést, použijte následující příkaz:

htpasswd -cmb /subversion/passwd myadmin mypass

Podle tohoto příkazu bude vaše uživatelské jméno můjadmin a vaše heslo bude mypass. Tyto hodnoty můžete změnit na cokoliv, co je vhodné pro vaše podmínky.

Vaše úložiště Subversion je nyní připraveno k použití. V této fázi můžete ukončit www-data uživatele pomocí výstup příkaz.

Nyní můžete odeslat požadovaný projekt nebo soubor do vašeho úložiště pomocí příkazu níže:

import sudo svn <adresu vašeho-projektu> soubor:///subversion/myrepo -m "První závazek"

Tento příkaz používá import parametr pro odeslání všeho ve složce projektu do vašeho úložiště Subversion. Přitom musíte přidat zprávu odevzdání s příponou -m parametr.

Použití přístupových metod v Subversion

Možná jste si všimli, že používáte soubor:// protokol pro přidání projektu do vašeho úložiště. Toto je jen jeden z několika síťových protokolů, které můžete použít pro přístup k úložišti svn. Můžete také použít protokol WebDAV přes HTTP nebo HTTPS nebo vlastní subversion svn protokol.

Přímý přístup do úložiště

Jak jste viděli, můžete použít soubor:// protokol pro přístup k místnímu úložišti. Zde je návod, jak si můžete rezervovat místní repo do svého aktuálního adresáře:

svn co soubor:///subversion/myrepo

Když zkontrolujete repo, svn zobrazí seznam souborů, které obsahuje:

Přístup pomocí WebDAV

Chcete-li integrovat své úložiště Subversion s Apache, budete muset nakonfigurovat některá nastavení.

Pro první krok aktivujte dav, dav_svn, a dav_fs moduly pomocí následujících příkazů:

sudo a2enmod dav dav_fs dav_svn

Po aktivaci požadovaných modulů můžete nyní upravovat /etc/apache2/mods-enabled/dav_svn.conf soubor. Vytvořte soubor, pokud ještě neexistuje, a změňte jeho obsah následovně:

<Umístění / podvrácení>
DAV svn
SVNPath /subversion/myrepo
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd
Vyžadovat platný-uživatel
</Location>

The AuthUserFile nastavení odkazuje na soubor, který jste dříve vytvořili pomocí htpasswd. Přidáním zde udělíte přístup k úložišti všem uživatelům uvedeným v souboru za předpokladu, že se ověří platným heslem.

Jakmile tento soubor vytvoříte a uložíte, restartujte službu Apache2 pomocí následujícího příkazu:

sudosystemctlrestartovatapache2.servis

Nyní, když otevřete webový prohlížeč a přejděte na http://localhost/subversion/, uvidíte obsah svého úložiště. Když přejdete na tuto adresu, požádá vás o uživatelské jméno a heslo:

Přihlaste se pomocí uživatelského jména (např. můjadmin) a heslo (mypass), které jste nastavili dříve. Ke svému úložišti Subversion můžete přistupovat pomocí WebDAV po zadání uživatelského jména a hesla:

Přístup pomocí SSL a WebDAV

The https:// protokol má téměř stejnou konfiguraci jako http:// protokol, jen s několika důležitými rozdíly. Abych uvedl příklad, .conf soubor, který musíte použít během konfigurace, je jiný. Musíte také nainstalovat digitální certifikát. Protože jak víte, toto je pracovní logika Metoda šifrování SSL.

Můžeš vytvořit digitální certifikát sami, nebo si můžete nainstalovat ten, který vydal příslušný úřad. Za předpokladu, že jste nainstalovali digitální certifikát, je to, co musíte udělat, jednoduché.

Rozdíl v tomto kroku jsou změny, které provedete v konfiguračním souboru. Níže je ukázkový konfigurační soubor pro použití SSL a WebDAV:

<Umístění / podvrácení>
DAV zapnuto
SSLRequireSSL
Možnosti Žádný
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd
Vyžadovat platný-uživatel
</Location>

Jak vidíte, rozdíl mezi https:// a http:// protokolů není tolik, pokud jde o změny v konfiguračním souboru. Po těchto změnách budete muset restartovat apache2 servis. Běh systemctl restartujte apache2.service udělat to tak.

Proč používat Subversion?

Jako nástroj pro sledování verzí si Subversion pamatuje každou změnu souborů a adresářů. Umožňuje vám přistupovat ke starým verzím softwaru nebo dokumentů, se kterými pracujete, a najít jejich rozdíly. To usnadňuje správu projektů, zejména pokud je váš vývojový tým velký nebo distribuovaný.

Kromě Subversion existuje mnoho systémů pro správu verzí pro Linux, o kterých byste možná měli uvažovat.