Apache Subversion (známý běžně jako SVN) je velmi oblíbený open source systém pro správu verzí. Systém správy verzí vám umožňuje zaznamenávat změny souboru nebo sady souborů po určitou dobu, takže si můžete v případě potřeby vyvolat konkrétní verze.
Chcete-li mít kontrolu verzí pro svůj projekt, musíte nejprve nainstalovat server SVN do svého Ubuntu stroj.
Instalace serveru SVN na Ubuntu 18.04 LTS
Zde nainstalujeme a nakonfigurujeme subversion Apache na Ubuntu 18.04 LTS.
Krok 1. Nainstalujte Apache
Než budeme pokračovat v instalaci, nejprve aktualizujeme úložiště.
sudo apt-get update
sudo apt-get install apache2
Zkontrolujte stav Apache.
sudo systemctl status apache2
Pokud služba ještě není spuštěna, pak .start Apache.
sudo systemctl start apache2
Povolte Apache při spouštění systému.
sudo systemctl enable apache2
Ověřte instalaci Apache. Stačí otevřít webový prohlížeč a zadat IP adresu webového serveru nebo název hostitele. Pokud vidíte výchozí stránku Apache, instalace Apache je úspěšná.
Krok 2. Nainstalujte Apache Subversion
Nainstalujte subversion a požadované balíčky
sudo apt-get install subversion libapache2-mod-svn
Po instalaci automaticky povolí potřebné moduly SVN (dav_module , dav_svn_module, authz_svn_module ).
Seznam povolených modulů
sudo apachectl -M
Pokud moduly svn nejsou povoleny. spusťte níže uvedené příkazy a povolte jej
sudo a2enmod dav
sudo a2enmod dav_svn
sudo a2enmod authz_svn
Po povolení těchto modulů musíme restartovat službu Apache.
sudo service apache2 restart
Krok 3. Konfigurace Apache Subversion
Nyní vytvoříme úložiště SVN. Zde používáme adresář „/opt“ k vytvoření našeho úložiště.
Vytvořte adresář svn.
sudo mkdir -p /opt/svn
Vytvořte úložiště svn. Zde vytvoříme úložiště s názvem „fosslinuxrepo“
sudo svnadmin create /opt/svn/fosslinuxrepo
Změna vlastnictví úložiště.
sudo chown -R www-data:www-data /opt/svn/fosslinuxrepo/
Změna oprávnění úložiště.
sudo chmod -R 775/ opt/svn/fosslinuxrepo
Přidat uživatele Subversion. Zde vytvoříme soubor s hesly v adresáři „/etc“.
sudo htpasswd -cm /etc/svn-auth-users fosslinux
Vytvořte druhého uživatele.
sudo htpasswd -m /etc/svn-auth-users fosslinux2
Vytvořte soubor virtuálního hostitele Apache pro SVN- k tomu musíme nejprve změnit adresář na „/etc/apache2/sites-available/“
cd /etc/apache2/sites-available/
Vytvořte soubor virtuálního hostitele a zde vytvoříme soubor s názvem „fosslinuxsvn.conf“.
sudo vim fosslinuxsvn.conf
Přidejte do souboru následující řádky.
<VirtualHost *:80> ServerName svn.fosslinux.com ServerAlias svn.fosslinux.com <Location /svn> DAV svn SVNParentPath /opt/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/svn-auth-users Require valid-user </Location> ErrorLog ${APACHE_LOG_DIR}/svn.fosslinux.com-error.log CustomLog ${APACHE_LOG_DIR}/svn.fosslinux.com-access.log combined </VirtualHost>
Změňte „svn.fosslinux.com“ na název hostitele.
Uložte a ukončete soubor.
Zakázat výchozí soubor virtuálního hostitele.
sudo a2dissite 000-default.conf
Povolit nově vytvořený soubor virtuálního hostitele.
sudo a2ensite fosslinuxsvn.conf
Zkontrolujte syntaxi Apache.
sudo apachectl -t
Poté restartujte Apache.
sudo systemctl restart apache2
Krok 4. Otestujte nakonfigurovanou subverzi Apache
Otevřete webový prohlížeč a zadejte adresu URL repo a stiskněte Enter.
http://svn.fosslinux.com/svn/fosslinuxrepo/
Nahraďte sv.fosslinux.com svým názvem hostitele.
Když se zobrazí vyskakovací okno Authentication, zadejte již vytvořené uživatelské jméno a heslo pro přístup do úložiště svn.
Nyní můžete vidět vytvořené úložiště.
Pojďme nyní vytvořit projekt nazvaný “RnD_works” uvnitř úložiště.
svn mkdir file:///opt/svn/fosslinuxrepo/RnD_works -m "added RnD_works repository"
svn mkdir file:///opt/svn/fosslinuxrepo/RnD_works/trunk -m "added RnD_works trunk repository"
svn mkdir file:///opt/svn/fosslinuxrepo/RnD_works/branches -m "added RnD_works branches repository"
svn mkdir file:///opt/svn/fosslinuxrepo/RnD_works/tags -m "added RnD_works tags repository"
Pojďme zkontrolovat, zda lze tento nový projekt zobrazit v úložišti.
Klikněte a otevřete „RnD_works“
Pokud chcete smazat vytvořený projekt, můžete jej smazat pomocí níže uvedeného příkazu.
svn delete file:///opt/svn/fosslinuxrepo/RnD_works -m "delete RnD_works repository"
Krok 5. Naplánujte zálohování úložiště
Vytvořte záložní složku.
sudo mkdir -p /etc/backcups
Změnit uživatele na uživatele root.
sudo su -
Upravit crontab.
crontab -e
V následujícím příkazu naplánujeme zálohování svn každý den o půlnoci.
0 0 * * * svnadmin dump /opt/svn/fosslinuxrepo > /etc/backcups/svnbackups-$(date +%Y%m%d).dump
Poté uložte a ukončete.
Krok 6. Obnovení úložiště
Pokud potřebujete obnovit úložiště svn ze záložního souboru, použijte níže uvedené příkazy.
Vytvořte nové úložiště.
svnadmin create /opt/svn/restorerepo
Obnovit zálohu:
svnadmin load /opt/svn/restorerepo < /etc/backups/svnbackups-20190204.dump
To je vše. Doufáme, že vám tento článek pomohl úspěšně nakonfigurovat subversion. Máte-li jakékoli dotazy nebo připomínky, navštivte prosím sekci Komentáře níže.