====== Mettre en place les dépôts mercurial pour le serveur ====== Ça semble en place et fonctionnel ; quelques ajustements à faire avec l'utilisation, sans doute. --- //[[user:zatalyz|Zatalyz]] 2015/10/24 14:20// ===== Description ===== Un dépôt pour le code, et un dépôt pour les datas, il est nécessaire de faire un contrôle d'accès. Basé sur notre annuaire LDAP. SSH peut être lié à LDAP, et permettre une authentification et une gestion des droits basée sur les groupes, ou sur des ACL si on utilise les droits sur les fichiers. ===== Qui travaille dessus ? ===== {{tag>pour:Shepeng pour:YannK pour:Zatalyz}} ===== Compétences demandées ===== * Administration linux ===== Difficulté estimée ou temps restant à y passer ===== ===== Tâches liées ===== - [[fr:taf:mmorpg:tuto_source]] ===== Commentaires ===== Le serveur de de test en installé, on va virtualiser le système pour permettre un transfert aisé. Puis juste un apt-get install à faire pour mercurial. Les étapes suivies seront les suivantes : - Mettre en place un dépôt mono-utilisateur (tester accès web éventuellement) ; - Mettre en place plusieurs dépôts et vérifier les accès ; - Mettre en place d'autres utilisateurs et tester les commits/push/pull en groupe, sur différents dépôts ; - Installer le CMS de gestion avec interface web ([[https://www.scm-manager.org/|SCM Manager]]) sauf si d'autres perspectives web directes sont envisageables pour interfacer avec LDAP ; - Installer le plugin LDAP du CMS ou le plugin direct pour Mercurial et tester avec nos comptes LDAP. ==== mise en place ==== Installé avec cette méthode : https://bitbucket.org/sdorra/scm-manager/wiki/RPM%20and%20DEB%20packages puis apt-get install default-jre Faut tester :) : Changé le port dans /etc/default/scm-server : http://37.187.121.150/scm/ Installé le plugin ldap et essai de config : pb de connexion tls à résoudre Installé mercurial et configuré scm pour l'utiliser Créé une partition pour /home et une pour les dépôts (/var/lib/scm/repository de mémoire, à vérifier) Cloné deux dépöts : ryzomcore et liria Création d'une entrée DNS : depots.khaganat.net Il faudrait aussi installer le https sur ce serveur, même avec un certificat auto-signé. ==== pour cacher les mots de passes ==== Deux solutions : utiliser TLS ou faire un VPN. La première solution est plus joli, c'est ce qu'il faut faire. La seconde est plus bricolé, mais c'est ce que je sais faire, ça ira plus vite. Je commence donc par ça. === Création d'un serveur VPN sur vpsweb === apt-get update apt-get install openvpn easy-rsa cp -rp /usr/share/easy-rsa /etc/openvpn cd /etc/openvpn/easy-rsa/ Modif de vars # These are the default values for fields # which will be placed in the certificate. # Don't leave any of these fields blank. export KEY_COUNTRY="FR" export KEY_PROVINCE="NPC" export KEY_CITY="Lilles" export KEY_ORG="khanat@khaganat.org" export KEY_EMAIL="khanat@khaganat.org" export KEY_OU="TeamServeur" Création de l'autorité de certification . ./vars ./clean-all ./build-ca Config du serveur root@vps155855:/etc/openvpn/easy-rsa# ./build-key-server vpsweb root@vps155855:/etc/openvpn/easy-rsa# cp keys/ca.crt keys/vpsweb.key keys/vpsweb.crt .. root@vps155855:/etc/openvpn/easy-rsa# ./build-dh root@vps155855:/etc/openvpn/easy-rsa# cp keys/dh2048.pem .. config : ;mute 20 port 1194 proto udp dev tun ca ca.crt cert vpsweb.crt #crl-verify /etc/openvpn/serveur/crl.pem key vpsweb.key dh dh2048.pem server 10.10.100.0 255.255.255.0 ifconfig-pool-persist ipp.txt #client-config-dir ccd client-to-client keepalive 10 120 comp-lzo persist-key persist-tun status openvpn-status.log verb 3 Puis redémarrage d'openvpn. Exemple de config d'un client D'abord faire sa clé sur le serveur et la déplacer sur le client par ssh : ./build-key nomduclient, dans easy-rsa client dev tun proto udp remote vpsweb.khaganat.net 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client.crt key client.key comp-lzo verb 3 {{tag>statut:Fini}}