GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit Apache Subversion pomocí šifrování SSL na Ubuntu 18.04

Apache Subversion nebo SVN je open-source systém pro správu verzí a kontrolu revizí vyvinutý nadací Apache Software Foundation. Používá se k udržování aktuálních a historických verzí zdrojového kódu, dokumentů a webových stránek.

Subversion nebo svn široce používané pro velké projekty a komunitu open source, jako je Apache Software Foundation, FreeBSD, GCC, SourceForge atd.

V tomto článku vám ukážu, jak nastavit Apache Subversion pomocí serveru Ubuntu 18.04 LTS. Nainstalujeme a nakonfigurujeme software svn s Apache jako webovým serverem, povolíme „základní ověřování“ pro uživatele a zabezpečíme přístup pomocí Letsencrypt SSL pro přístup k úložišti.

A pro ty, kteří dávají přednost GIT, je tu návod GIT Ubuntu 18.04.

Předpoklady

  • Ubuntu 18.04
  • Oprávnění uživatele root

Co uděláme

  1. Nainstalujte webový server Apache2 na Ubuntu 18.04
  2. Nainstalujte Apache Subversion (SVN)
  3. Nakonfigurujte úložiště Subversion
  4. Vygenerujte SSL Letsencrypt pro Ubuntu Apache2
  5. Nakonfigurujte virtuálního hostitele Subversion na Apache2
  6. Testování

Krok 1 – Instalace webového serveru Apache2 na Ubuntu 18.04 LTS

V tomto prvním kroku nainstalujeme webový server Apache2 a přidáme nové služby ssh a HTTP do konfigurace firewallu ufw.

Nainstalujte webový server Apache2 pomocí příkazu apt níže.

sudo apt install apache2 apache2-utils -y

Po dokončení instalace přidejte služby SSH a HTTP do konfigurace brány firewall ufw.

Níže spusťte příkazy ufw.

ufw allow ssh
ufw allow http

Povolte bránu firewall.

ufw enable

Nyní spusťte službu Apache2 a povolte její spuštění při každém startu systému.

systemctl start apache2
systemctl enable apache2

Webový server Apache2 je v provozu a služby SSH a HTTP byly přidány do seznamu služeb brány firewall.

Krok 2 – Instalace Apache Subversion (SVN)

V tomto tutoriálu nainstalujeme balíčky subversion a svn libapache z oficiálního úložiště Ubuntu.

Nainstalujte Subversion pomocí příkazu apt níže.

sudo apt install subversion subversion-tools libapache2-mod-svn -y

Nyní zkontrolujte příkaz svn.

svn --version

Na Ubuntu 18.04 Server byl nainstalován Apache Subversion (SVN).

Krok 3 – Konfigurace úložiště Subversion

Po instalaci subversion nakonfigurujeme hlavní adresář úložiště subversion. Vytvoříme nový adresář 'svn', který bude sloužit k uložení všech zdrojových kódů a repozitářů.

Vytvořte nový hlavní adresář '/svn'.

mkdir /svn

A vytvořte nové ukázkové úložiště s názvem 'hakase-project' pomocí příkazu svnadmin níže.

svnadmin create /svn/hakase-project

Nyní změňte vlastníka adresáře '/svn/hakase-project' na uživatele a skupinu 'apache'.

sudo chown -R apache:apache /svn/hakase-project

A bylo vytvořeno úložiště svn.

Krok 4 – Vygenerování certifikátu Letsencrypt SSL

V tomto tutoriálu nakonfigurujeme server svn tak, aby používal připojení HTTPS s doménou s názvem 'svn.hakase-labs.io'. Budeme používat bezplatný SSL Letsencrypt a lze jej vygenerovat pomocí nástroje certbot.

Nainstalujte certbota na server Ubuntu pomocí příkazu yum níže.

sudo apt install certbot -y

Po dokončení instalace musíme přidat službu HTTPS do seznamů služeb brány firewall ufw.

Níže spusťte příkazy ufw.

ufw allow https
ufw reload

Nyní zastavte službu httpd, abychom mohli vygenerovat SSL Letsencrypt pomocí „samostatného“ dočasného webového serveru.

systemctl stop apache2

Vygenerujte SSL Letsencrypt pro název domény 'svn.hakase-labs.io' pomocí příkazu certbot níže.

certbot certonly --rsa-key-size 4096 --standalone --agree-tos --no-eff-email --email [email protected] -d svn.hakase-labs.io

A po jeho dokončení získáte soubory certifikátů v adresáři '/etc/letsencrypt/live'.

Krok 5 – Konfigurace virtuálního hostitele Subversion na Apache2

V tomto kroku vytvoříme novou konfiguraci Apache httpd pro svn přístup. Úložiště svn nakonfigurujeme pomocí názvu domény 'svn.hakase-labs.io' a bude přístupné pouze registrovaným uživatelům používajícím základní autentizaci HTTP.

Přejděte do konfiguračního adresáře '/etc/apache2'.

cd /etc/apache2/

Vytvořte novou konfiguraci virtuálního hostitele subversion 'svn.conf' v adresáři 'sites-available'.

cd sites-available/
vim svn.conf

Vložte konfiguraci níže.

<VirtualHost svn.hakase-labs.io:80>

ServerName svn.hakase-labs.io
DocumentRoot /var/www/html
Redirect permanent / https://svn.hakase-labs.io

</VirtualHost>

<VirtualHost svn.hakase-labs.io:443>

DocumentRoot /var/www/html
ServerName svn.hakase-labs.io

SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/letsencrypt/live/svn.hakase-labs.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/svn.hakase-labs.io/privkey.pem

ErrorLog /var/log/apache2/svn_error_log
TransferLog /var/log/apache2/svn_access_log
LogLevel warn

<location /repo>
DAV svn
SVNParentPath /svn/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/svn.users
Require valid-user
</location>

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>

SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog /var/log/apache2/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

Uložte a ukončete.

Dále musíme vytvořit nový seznam uživatelů, kteří budou moci prohlížet a odevzdávat soubory do úložiště.

Vytvořte nového uživatele s názvem 'hakase' pomocí příkazu htpasswd.

sudo htpasswd -cm /etc/subversion/svn.users hakase

Povolte modul SSL na Apache a povolte virtuálního hostitele svn spuštěním příkazů níže.

sudo a2enmod ssl
sudo a2ensite svn

Restartujte službu Apache2.

systemctl restart apache2

Konfigurace virtuálního hostitele pro subversion byla vytvořena a uživatel 'hakase' má nyní přístup k zobrazení a odevzdání zdrojového kódu do úložiště 'hakase-project'.

Krok 6 – Testování

Zobrazit úložiště

Otevřete webový prohlížeč a zadejte adresu URL serveru, moje je níže).

https://svn.hakase-labs.io/repo/hakase-project/

Zobrazí se vám základní ověření uživatele.

Přihlaste se pomocí uživatele a hesla 'hakase' a získáte úložiště prázdných stránek, jak je uvedeno níže.

Importovat projekt do úložiště SVN

Nyní naimportujeme vzorové šablony projektu svn do úložiště 'hakase-project'.

Vytvořte nový adresář projektu svn-templates.

mkdir -p ~/svn-templates/{trunk,branches,tags}

Přidejte adresář šablon do úložiště 'hakase-project' pomocí příkazu svn níže.

svn import -m 'Initial import' ~/svn-templates/ https://svn.hakase-labs.io/repo/hakase-project/ --username hakase

Budete dotázáni na některé věci, jednejte následujícím způsobem.

  • Zadáním „p“ trvale přidáte certifikát Letsencrypt.
  • Zadejte uživatele a heslo „hakase“.
  • A zadáním „ano“ potvrďte uložení nešifrovaného hesla.

Zkontrolujte 'hakase-project' z webového prohlížeče a získáte v něm všechny adresáře šablon.

Klonování úložiště

Po vytvoření a nahrání adresáře svn templates se pokusíme naklonovat úložiště do místního prostředí.

Přihlaste se k jinému než root/normálnímu uživateli.

useradd -m -s /bin/bash misaka
su - misaka

Naklonujte do úložiště 'hakase-project' místní adresář s názvem 'myproject' jako uživatel 'hakase'.

svn co https://svn.hakase-labs.io/repo/hakase-project/ ~/myproject --username hakase

Zkontrolujte nový adresář 'myproject' a získáte všechny svn šablony.

tree ~/myproject

Potvrdit zdrojový kód

Přejděte do adresáře 'myproject'.

cd myproject/

Vytvořte nějaké soubory v adresáři 'trunk'.

echo 'this is my repo' > trunk/test-hakase.txt
echo 'this is my repo01' > trunk/test-hakase01.txt
echo 'this is my repo02' > trunk/test-hakase02.txt

Přidat a potvrdit

svn add trunk/* --username hakase
svn commit -m 'new file added' --username hakase

Zkontrolujte úložiště z webového prohlížeče a zjistíte, že všechny soubory byly přidány do úložiště.

Instalace a konfigurace Apache Subversion na serveru Ubuntu 18.04 LTS byla úspěšně dokončena.


Ubuntu
  1. Jak zabezpečit Nginx pomocí Lets Encrypt na Ubuntu 20.04 / 18.04

  2. Zabezpečte Apache pomocí Lets Encrypt na Ubuntu 18.04

  3. Jak zabezpečit Apache pomocí Lets Encrypt na Ubuntu 18.04

  1. Zabezpečte Apache pomocí Lets Encrypt na Ubuntu 20.04

  2. Jak nainstalovat Nextcloud s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  3. Jak nainstalovat Webmin a zabezpečit jej pomocí Lets Encrypt SSL na Ubuntu 20.04 LTS

  1. Jak nainstalovat fóra Vanilla s Apache a nechat šifrovat SSL na Ubuntu 20.04 LTS

  2. Jak nainstalovat TYPO3 CMS s Lets Encrypt SSL na Ubuntu 20.04

  3. Jak nainstalovat Concrete5 CMS s Apache a zdarma Lets Encrypt SSL na Ubuntu 20.04