GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare Apache Subversion con HTTPS Letsencrypt su CentOS 7

Apache Subversion o SVN è un software di controllo delle versioni e delle versioni open source sviluppato dalla Apache Software Foundation. Viene utilizzato per mantenere le versioni attuali e storiche del codice sorgente, dei documenti e delle pagine Web.

Subversion è utilizzato da molti sviluppatori di software e progetti open source come Apache Software Foundation, FreeBSD, GCC e SourceForge.

In questo articolo, ti mostriamo come configurare Apache Subversion sul server CentOS 7 più recente. Installiamo e configuriamo il software svn con Apache come web server, lo proteggiamo con Let's encrypt e attiviamo "Autenticazione di base" per gli utenti.

Prerequisiti

  • Server CentOS 7
  • Privilegi di root

Cosa faremo

  1. Installa Apache Httpd su CentOS 7
  2. Installa Subversion
  3. Configura il repository Subversion
  4. Genera SSL Letsencrypt per CentOS Apache Httpd
  5. Configura Subversion Virtual Host su Apache Httpd
  6. Test

Passaggio 1:installa Apache Httpd su CentOS 7

Il primo passo in questa guida è installare i pacchetti httpd di Apache sul tuo sistema.

Installa Apache httpd usando il comando yum di seguito.

yum -y install httpd httpd-tools mod_ssl

E al termine dell'installazione, è necessario aggiungere il servizio HTTP agli elenchi dei servizi firewalld.

Esegui i comandi firewall-cmd di seguito.

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

Ora avvia il servizio httpd e aggiungilo per essere avviato all'avvio.

systemctl start httpd
systemctl enable httpd

Apache httpd è attivo e funzionante sul server.

Passaggio 2:installazione di Apache Subversion (SVN)

In questo tutorial, installeremo i pacchetti di subversion dal repository CentOS 7 di base.

Installa Subversion e tutti i pacchetti richiesti usando il comando yum qui sotto.

yum -y install subversion subversion-tools mod_dav_svn

Attendi che tutti i pacchetti siano installati, quindi controlla la versione svn.

svn --version

Passaggio 3:configurazione del repository Subversion (SVN)

Dopo l'installazione di Subversion, configuriamo la directory del repository di Subversion principale. Creeremo una nuova directory 'svn' in cui verranno archiviati tutto il codice sorgente e i repository.

Crea una nuova directory principale '/svn'.

mkdir /svn

E crea un nuovo repository di esempio chiamato 'hakase-project' usando il comando svnadmin di seguito.

svnadmin create /svn/hakase-project

Ora cambia il proprietario della directory '/svn/hakase-project' con l'utente e il gruppo 'apache'.

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

E il repository svn è stato creato.

Nota:

Aggiuntivo per gli utenti SELinux, esegui i comandi di seguito.

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

Fase 4:genera Let's encrypt SSL Certificate per Apache

In questo tutorial, configuriamo il server svn per utilizzare la connessione HTTPS con un dominio denominato 'svn.hakase-labs.io'. Utilizzeremo un certificato SSL Let's encrypt gratuito che può essere generato con lo strumento certbot.

Installa certbot sul server CentOS con il comando yum di seguito.

yum -y install certbot

Al termine dell'installazione, è necessario aggiungere il servizio HTTPS all'elenco dei servizi firewalld.

Esegui i comandi firewalld di seguito.

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

Ora interrompi il servizio httpd, così possiamo generare SSL Letsencrypt utilizzando il server web temporaneo 'standalone'.

systemctl stop httpd

Genera il certificato SSL Letsencrypt per il nome di dominio 'svn.hakase-labs.io' utilizzando il comando certbot di seguito.

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

Ora otterrai i file del certificato nella directory '/etc/letsencrypt/live'.

Passaggio 5:configurazione dell'host virtuale Subversion su Apache Httpd

In questo passaggio creeremo una nuova configurazione httpd di Apache per l'accesso svn. Configurare il repository svn utilizzando un nome di dominio 'svn.hakase-labs.io' e sarà accessibile solo per gli utenti registrati che utilizzano l'autenticazione di base HTTP.

Vai alla directory '/etc/httpd/conf.d' e crea una nuova configurazione svn 'svn.conf'.

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

Incolla le configurazioni di seguito.

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

Salva il file ed esci dall'editor.

Successivamente, dobbiamo creare un nuovo elenco di utenti che potranno visualizzare e inviare file al repository.

Crea un nuovo utente chiamato 'hakase' usando il comando htpasswd qui sotto.

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

Ora riavvia i servizi httpd di Apache.

systemctl restart httpd

L'utente 'hakase' ora ha accesso per visualizzare e inviare il codice sorgente al repository 'hakase-project'.

Fase 6 - Test

Visualizzazione del repository

Apri il tuo browser web e digita l'URL del server, il mio è questo: https://svn.hakase-labs.io/repo/hakase-project/

E ti verrà mostrata la richiesta di autenticazione utente di base.

Accedi con l'utente e la password 'hakase', e di seguito è riportato il risultato.

Importa un progetto nel repository

Ora importeremo i modelli di progetto di esempio svn nel repository 'hakase-project'.

Crea una nuova directory di progetto svn-templates.

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

Aggiungi tutte le directory dei modelli al repository 'hakase-project' usando il comando svn di seguito.

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

Ora ti verrà chiesto di seguire le cose.

  • Digita 'p' per aggiungere permanentemente il certificato Letsencrypt.
  • Digita l'utente e la password 'hakase'.
  • E digita 'sì' per confermare il salvataggio della password non crittografata.

Controlla il "progetto hakase" dal browser web e otterrai tutte le directory dei modelli su di esso.

Clone il repository

Dopo aver creato e caricato la directory dei modelli svn, vogliamo clonare o copiare il repository nell'ambiente locale.

Crea un nuovo utente normale e accedi all'utente.

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

Clona il repository 'hakase-project' nella directory locale denominata 'myproject' come utente 'hakase'.

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

E ti verrà chiesto di nuovo di queste cose di seguito.

  • Digita 'p' per aggiungere permanentemente il certificato Letsencrypt.
  • Digita l'utente e la password 'hakase'.
  • E digita 'sì' per confermare il salvataggio della password non crittografata.

E quando è completo, controlla la nuova directory 'myproject' e otterrai tutti i modelli svn.

tree ~/myproject

Commit The Code o Documents

Vai alla directory 'mioprogetto'.

cd myproject/

Crea alcuni file nella directory '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

Aggiungi e impegna.

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

Controlla il repository dal browser web e vedrai che tutti i file sono stati aggiunti al repository.

L'installazione e la configurazione di Apache Subversion con HTTPS Letsencrypt su CentOS 7 sono state completate con successo.


Cent OS
  1. Come installare Apache Cassandra su CentOS 8

  2. Come installare Apache su CentOS 7

  3. Come installare Apache Maven su CentOS 7

  4. Come installare WordPress Multisite su Centos VPS con Apache

  5. Come installare Let's Encrypt con Apache su CentOS 7

Come installare Apache Subversion su CentOS 8

Come installare Apache con Virtual Host su CentOS 8

Come velocizzare Apache con Varnish Cache su CentOS 7

Come installare Drupal su CentOS 7 con Apache

Come installare WordPress su CentOS 7.1 con Apache

Come installare Apache con PHP-FPM su CentOS 8