Outils du site

fr:taf:mmorpg:infrastructure:mercurial

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. — 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 ?

Compétences demandées

* Administration linux

Difficulté estimée ou temps restant à y passer

Tâches liées

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 :

  1. Mettre en place un dépôt mono-utilisateur (tester accès web éventuellement) ;
  2. Mettre en place plusieurs dépôts et vérifier les accès ;
  3. Mettre en place d'autres utilisateurs et tester les commits/push/pull en groupe, sur différents dépôts ;
  4. Installer le CMS de gestion avec interface web (SCM Manager) sauf si d'autres perspectives web directes sont envisageables pour interfacer avec LDAP ;
  5. 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
fr/taf/mmorpg/infrastructure/mercurial.txt · Dernière modification: 2016/09/14 06:46 (modification externe)