GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer Apache Subversion avec HTTPS Letsencrypt sur CentOS 7

Apache Subversion ou SVN est un logiciel open source de gestion des versions et de contrôle des révisions développé par Apache Software Foundation. Il est utilisé pour maintenir les versions actuelles et historiques du code source, des documents et des pages Web.

Subversion est utilisé par de nombreux développeurs de logiciels et projets open source comme Apache Software Foundation, FreeBSD, GCC et SourceForge.

Dans cet article, nous vous montrons comment configurer Apache Subversion sur le dernier serveur CentOS 7. Nous installons et configurons le logiciel svn avec Apache comme serveur Web, le sécurisons avec Let's encrypt et activons "l'authentification de base" pour les utilisateurs.

Prérequis

  • Serveur CentOS 7
  • Privilèges root

Ce que nous allons faire

  1. Installer Apache Httpd sur CentOS 7
  2. Installer Subversion
  3. Configurer le référentiel Subversion
  4. Générer SSL Letsencrypt pour CentOS Apache Httpd
  5. Configurer l'hôte virtuel Subversion sur Apache Httpd
  6. Test

Étape 1 - Installer Apache Httpd sur CentOS 7

La première étape de ce guide consiste à installer les packages Apache httpd sur votre système.

Installez Apache httpd à l'aide de la commande yum ci-dessous.

yum -y install httpd httpd-tools mod_ssl

Et une fois l'installation terminée, nous devons ajouter le service HTTP aux listes de services du pare-feu.

Exécutez les commandes firewall-cmd ci-dessous.

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

Démarrez maintenant le service httpd et ajoutez-le pour qu'il soit lancé au démarrage.

systemctl start httpd
systemctl enable httpd

Apache httpd est opérationnel sur le serveur.

Étape 2 - Installer Apache Subversion (SVN)

Dans ce didacticiel, nous allons installer les packages de subversion à partir du référentiel CentOS 7 de base.

Installez Subversion et tous les packages requis à l'aide de la commande yum ci-dessous.

yum -y install subversion subversion-tools mod_dav_svn

Attendez que tous les packages soient installés, puis vérifiez la version svn.

svn --version

Étape 3 - Configurer le référentiel Subversion (SVN)

Après l'installation de Subversion, nous configurons le répertoire maître du dépôt subversion. Nous allons créer un nouveau répertoire 'svn' où seront stockés tout le code source et les dépôts.

Créez un nouveau répertoire maître '/svn'.

mkdir /svn

Et créez un nouvel exemple de référentiel nommé 'hakase-project' à l'aide de la commande svnadmin ci-dessous.

svnadmin create /svn/hakase-project

Changez maintenant le propriétaire du répertoire '/svn/hakase-project' en utilisateur et groupe 'apache'.

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

Et le dépôt svn a été créé.

Remarque :

Supplémentaire pour les utilisateurs de SELinux, exécutez les commandes ci-dessous.

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

Étape 4 - Générer un certificat SSL Let's encrypt pour Apache

Dans ce tutoriel, nous configurons le serveur svn pour utiliser la connexion HTTPS avec un domaine nommé 'svn.hakase-labs.io'. Nous utiliserons un certificat SSL Let's encrypt gratuit qui peut être généré avec l'outil certbot.

Installez certbot sur le serveur CentOS avec la commande yum ci-dessous.

yum -y install certbot

Une fois l'installation terminée, nous devons ajouter le service HTTPS à la liste des services du pare-feu.

Exécutez les commandes firewalld ci-dessous.

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

Maintenant, arrêtez le service httpd, afin que nous puissions générer le SSL Letsencrypt en utilisant le serveur Web temporaire "autonome".

systemctl stop httpd

Générez le certificat SSL Letsencrypt pour le nom de domaine "svn.hakase-labs.io" à l'aide de la commande certbot ci-dessous.

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

Vous allez maintenant obtenir les fichiers de certificat dans le répertoire '/etc/letsencrypt/live'.

Étape 5 - Configurer l'hôte virtuel Subversion sur Apache Httpd

Dans cette étape, nous allons créer une nouvelle configuration Apache httpd pour l'accès svn. Nous allons configurer le référentiel svn en utilisant un nom de domaine 'svn.hakase-labs.io', et il ne sera accessible qu'aux utilisateurs enregistrés utilisant l'authentification de base HTTP.

Allez dans le répertoire '/etc/httpd/conf.d' et créez une nouvelle configuration svn 'svn.conf'.

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

Collez les configurations ci-dessous.

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

Enregistrez le fichier et quittez l'éditeur.

Ensuite, nous devons créer une nouvelle liste d'utilisateurs qui pourront afficher et valider des fichiers dans le référentiel.

Créez un nouvel utilisateur nommé "hakase" à l'aide de la commande htpasswd ci-dessous.

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

Redémarrez maintenant les services Apache httpd.

systemctl restart httpd

L'utilisateur 'hakase' a maintenant un accès pour afficher et valider le code source dans le référentiel 'hakase-project'.

Étape 6 - Tester

Affichage du référentiel

Ouvrez votre navigateur Web et saisissez l'URL du serveur, la mienne est celle-ci : https://svn.hakase-labs.io/repo/hakase-project/

Et l'invite d'authentification de base de l'utilisateur s'affichera.

Connectez-vous avec l'utilisateur et le mot de passe 'hakase', et voici le résultat.

Importer un projet dans le référentiel

Nous allons maintenant importer les exemples de modèles de projet svn dans le référentiel 'hakase-project'.

Créez un nouveau répertoire de projet svn-templates.

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

Ajoutez tous les répertoires de modèles au référentiel 'hakase-project' à l'aide de la commande svn ci-dessous.

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

Maintenant, on vous demandera les choses suivantes.

  • Tapez 'p' pour ajouter définitivement le certificat Letsencrypt.
  • Tapez l'utilisateur et le mot de passe 'hakase'.
  • Et tapez "oui" pour confirmer l'enregistrement du mot de passe non chiffré.

Vérifiez le 'hakase-project' à partir du navigateur Web, et vous obtiendrez tous les répertoires de modèles dessus.

Cloner le référentiel

Après avoir créé et téléchargé le répertoire de modèles svn, nous souhaitons cloner ou copier le référentiel dans l'environnement local.

Créez un nouvel utilisateur normal et connectez-vous à l'utilisateur.

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

Clonez le référentiel 'hakase-project' dans le répertoire local nommé 'myproject' en tant qu'utilisateur 'hakase'.

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

Et vous serez à nouveau interrogé sur ces éléments ci-dessous.

  • Tapez 'p' pour ajouter définitivement le certificat Letsencrypt.
  • Tapez l'utilisateur et le mot de passe 'hakase'.
  • Et tapez "oui" pour confirmer l'enregistrement du mot de passe non chiffré.

Et quand c'est terminé, vérifiez le nouveau répertoire 'myproject' et vous obtiendrez tous les modèles svn.

tree ~/myproject

Valider le code ou les documents

Allez dans le répertoire 'monprojet'.

cd myproject/

Créez des fichiers dans le répertoire '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

Ajouter et valider.

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

Vérifiez le référentiel à partir du navigateur Web et vous verrez que tous les fichiers ont été ajoutés au référentiel.

L'installation et la configuration d'Apache Subversion avec HTTPS Letsencrypt sur CentOS 7 ont été effectuées avec succès.


Cent OS
  1. Comment installer Apache Cassandra sur CentOS 8

  2. Comment installer Apache sur CentOS 7

  3. Comment installer Apache Maven sur CentOS 7

  4. Comment installer WordPress Multisite sur Centos VPS avec Apache

  5. Comment installer Let's Encrypt avec Apache sur CentOS 7

Comment installer Apache Subversion sur CentOS 8

Comment installer Apache avec l'hôte virtuel sur CentOS 8

Comment accélérer Apache avec Varnish Cache sur CentOS 7

Comment installer Drupal sur CentOS 7 avec Apache

Comment installer WordPress sur CentOS 7.1 avec Apache

Comment installer Apache avec PHP-FPM sur CentOS 8