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