GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit Apache Subversion s HTTPS Letsencrypt na CentOS 7

Apache Subversion nebo SVN je open source software 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 používá mnoho softwarových vývojářů a open source projektů jako Apache Software Foundation, FreeBSD, GCC a SourceForge.

V tomto článku vám ukážeme, jak nastavit Apache Subversion na nejnovějším serveru CentOS 7. Nainstalujeme a nakonfigurujeme svn software s Apache jako webový server, zabezpečíme jej pomocí Let's encrypt a pro uživatele aktivujeme „Basic Authentication“.

Předpoklady

  • Server CentOS 7
  • Oprávnění uživatele root

Co uděláme

  1. Nainstalujte Apache Httpd na CentOS 7
  2. Nainstalujte Subversion
  3. Nakonfigurujte úložiště Subversion
  4. Vygenerujte SSL Letsencrypt pro CentOS Apache Httpd
  5. Nakonfigurujte virtuálního hostitele Subversion na Apache Httpd
  6. Testování

Krok 1 – Instalace Apache Httpd na CentOS 7

Prvním krokem v této příručce je instalace balíčků Apache httpd do vašeho systému.

Nainstalujte Apache httpd pomocí příkazu yum níže.

yum -y install httpd httpd-tools mod_ssl

A po dokončení instalace musíme přidat službu HTTP do seznamů služeb brány firewall.

Níže spusťte příkazy firewall-cmd.

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

Nyní spusťte službu httpd a přidejte ji, aby se spustila při bootování.

systemctl start httpd
systemctl enable httpd

Na serveru je spuštěn Apache httpd.

Krok 2 – Instalace Apache Subversion (SVN)

V tomto tutoriálu nainstalujeme balíčky subversion ze základního úložiště CentOS 7.

Nainstalujte Subversion a všechny požadované balíčky pomocí příkazu yum níže.

yum -y install subversion subversion-tools mod_dav_svn

Počkejte, až se nainstalují všechny balíčky, a poté zkontrolujte verzi svn.

svn --version

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

Po instalaci Subversion nakonfigurujeme hlavní adresář úložiště Subversion. Vytvoříme nový adresář 'svn', kde budou uloženy všechny zdrojové kódy a úložiště.

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.

Poznámka:

Další pro uživatele SELinuxu spusťte níže uvedené příkazy.

chcon -R -t httpd_sys_content_t /svn/hakase-project
chcon -R -t httpd_sys_rw_content_t /svn/hakase-project

Krok 4 – Vygenerujte Pojďme šifrovat SSL certifikát pro Apache

V tomto tutoriálu nakonfigurujeme server svn tak, aby používal připojení HTTPS s doménou s názvem 'svn.hakase-labs.io'. Použijeme bezplatný certifikát Let's encrypt SSL, který lze vygenerovat pomocí nástroje certbot.

Nainstalujte certbot na server CentOS pomocí příkazu yum níže.

yum -y install certbot

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

Níže spusťte příkazy brány firewall.

firewall-cmd --add-service=https --zone=public --permanent
firewall-cmd --reload

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

systemctl stop httpd

Vygenerujte certifikát Letsencrypt SSL Cert 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

Nyní získáte soubory certifikátů v adresáři '/etc/letsencrypt/live'.

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

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 pro registrované uživatele používající základní autentizaci HTTP.

Přejděte do adresáře '/etc/httpd/conf.d' a vytvořte novou konfiguraci svn 'svn.conf'.

cd /etc/httpd/conf.d/
vim svn.conf

Vložte konfigurace 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 logs/svn_error_log
TransferLog logs/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 logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

Uložte soubor a ukončete editor.

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 níže.

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

Nyní restartujte služby Apache httpd.

systemctl restart httpd

Uživatel 'hakase' má nyní přístup k zobrazení a odeslání zdrojového kódu do úložiště 'hakase-project'.

Krok 6 – Testování

Zobrazení úložiště

Otevřete webový prohlížeč a zadejte adresu URL serveru, moje je tato: https://svn.hakase-labs.io/repo/hakase-project/

Zobrazí se výzva k základnímu ověření uživatele.

Přihlaste se pomocí uživatele a hesla 'hakase' a výsledek je následující.

Importovat projekt do úložiště

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 všechny adresáře š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

Nyní budete požádáni o následující věci.

  • 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 šablon chceme úložiště naklonovat nebo zkopírovat do místního prostředí.

Vytvořte nového normálního uživatele a přihlaste se k uživateli.

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

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

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

A níže se vás na tyto věci znovu zeptá.

  • 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.

A až to bude hotové, zkontrolujte nový adresář 'myproject' a získáte všechny svn šablony.

tree ~/myproject

Potvrdit kód nebo dokumenty

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 uvidíte, že všechny soubory byly přidány do úložiště.

Instalace a konfigurace Apache Subversion s HTTPS Letsencrypt na CentOS 7 byla úspěšně dokončena.


Cent OS
  1. Jak nainstalovat Apache Cassandra na CentOS 8

  2. Jak nainstalovat WordPress Multisite na Centos VPS s Apache

  3. Jak nainstalovat Let’s Encrypt with Apache na CentOS 7

  1. Jak nainstalovat Apache na CentOS 7

  2. Jak nainstalovat Apache Maven na CentOS 7

  3. Jak nainstalovat WordPress s Apache na CentOS 7

  1. Jak nainstalovat Apache Cassandra na CentOS 7

  2. Jak nainstalovat Apache na CentOS 8

  3. Jak nainstalovat Apache Maven na CentOS 8