Ce tutoriel a pour but de vous permettre d’installer un serveur git sur centos/ubuntu puis d’utiliser le logiciel SourceTree depuis votre serveur.

 

Installation de GIT sur CentOS/Ubuntu :

 

Centos :
# yum install git-core
Ubuntu :
# aptget install gitcore

Ajout de comptes utilisateurs pour authentification – nom utilisateur + mot de passe. Chaque utilisateur aura ainsi la possibilité d’accéder au repos crée :

# useradd <nomIdentifiant>
# passwd <nomIdentifiant>

Référence des identifiants entreprise/administrateur apparaissant lors des commits:

# git config --global user.name <nomAdministrateur>
# git config --global user.email <emailAdministrateur>

Vérification de bonne configuration :

# git config --list

Création d’un repo si non présent :

# mkdir -p /opt/git/project.git/
# cd /opt/git/project.git
# git init --bare


 Le dossier git étant le dossier comprenant tout les repos qui seront crées 
par la suite. La racine de l'emplacement pouvant être modifié, 
par exemple dans /home.

 

Configuration de votre dépôt GIT sur SourceTree :

 

Sélectionnez Nouveau dépôt -> Cloner depuis une URL
sourcetree1

Entrez votre accès en SSH de type :

ssh://<identifiant>@<adresseIP/nomDomaine>/<cheminVersProjet>

5 Vous voila connecté sur le repository project.git dans notre cas.
Vous avez maintenant la possibilité de naviguer, observer les modifications faite aux fichiers codes.

Pour un repository vide, glissez vos fichiers dans le répertoire assigné à votre repository sur votre ordinateur (ex: /Users/toto/project)
capture-decran-2016-10-10-a-15-52-02-2

Voici l’exemple d’une insertion de fichiers Android dans SourceTree, certains fichiers se générant automatiquement, il est possible de ne pas les autoriser lors de commit. Pour cela ajouter un fichier .gitignore (ex : touch .gitignore)

Ajoutez maintenant un commit, vous pourrez observer les différentes modifications/commit dans l’onglet historique.

Vous pouvez maintenant envoyer vers le serveur distant votre commit/modifications, en sélectionnant les branches à envoyer.

aa

 

En cas d’erreur sur le push, notamment de permission :

   Création d'un groupe auquel on attribuera les différents droits pour l'attribuer aux utilisateurs.

# groupadd nomGroupe
# usermod -a -G nomGroupe nomUtilisateur


Test d'affiliation au groupe crée.

# groups nomUtilisateur

  Se positionner dans le repository.

# cd repo.git
# sudo chmod -R g+ws *
# sudo chgrp -R nomGroupe *
# git config core.sharedRepository true

Vous pouvez maintenant push /pull .. vos commit/projets.

Pensez à formater vos branches en utilisant l’outils git Flow : repository > git Flow > initialise repository
et tout les outils associés au git Flow.

Les outils de Pull (permettant de mettre à niveau votre code selon les modification push par d’autres utilisateurs, et le Fetch permettant de simplement les afficher pour analyse.

Vous connaissez à présent les bases d’utilisations et la mise en place de git sur votre propre serveur / utilisation de SourceTree.

Ce tutoriel a pour but de vous permettre d’installer rapidement un serveur SMTP par authentification se basant sur l’outil Postfix en configuration pour une distribution centos 6.

Installation de Postfix et de SASL sur CentOS :

# yum install postfix
# yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5

Occupons nous de la configuration, Ci dessous une configuration du modèle par default pour
/etc/postfix/main.cf :

# cat /etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP $mail_name

myhostname = example.tld
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = example.tld
mydestination = example.tld, localhost.localdomain, localhost
transport_maps =
relayhost =
mynetworks = 127.0.0.1/32
#mynetworks = hash:/etc/postfix/networks

smtpd_sasl_path = sasl2/smtpd.conf
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = example.tld
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

recipient_delimiter = +
inet_interfaces = all

smtpd_recipient_restrictions = permit_mynetworks,
        permit_sasl_authenticated,
        reject_unauth_destination,
        reject_rbl_client opm.blitzed.org,
        reject_rbl_client list.dsbl.org,
        reject_rbl_client sbl.spamhaus.org,
        reject_rbl_client cbl.abuseat.org,
        reject_rbl_client dul.dnsbl.sorbs.net

Utilisez smtpd_recipient_restrictions pour vous assurer que votre serveur ne soit pas en Open Relay n’acceptant pas ainsi les spams généraux. Cela permettra d’accepter les connexion sans authentification uniquement que depuis le localhost. En dehors de ce réseau, toutes les connexions se feront par authentification.

Nous allons maintenant relier le processus ( daemon ) Postfix avec celui de Sasl
Dans /etc/postfix/master.cf :

# cat /etc/postfix/master.cf
submission inet n       -       n       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sasl_local_domain=example.tld
  -o header_checks=
  -o body_checks=
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination
  -o smtpd_sasl_security_options=noanonymous,noplaintext
  -o smtpd_sasl_tls_security_options=noanonymous

Maintenant, nous allons ajouter un utilisateur à la base de donnée Sasl

# saslpasswd2 -c -u $hostname $user

Pour éviter tout problème, nous allons modifier les permissions de la base de donnée Sasl, autorisant ainsi Postfix à lire et écrire dans cette dernière.

# chown postfix:postfix /etc/sasldb2
# chmod 660 /etc/sasldb2

Configuration du daemon Sasl

 

# cat /usr/lib/sasl2/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5
# cat /usr/lib/sasl/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

Il ne nous reste plus qu’à redémarrer les processus Sasl et Postfix.

# /etc/init.d/sasld restart
# /etc/init.d/postfix restart

Prêt à être utilisé !

 

Afin de valider le fonctionnement, utilisez les comptes crées dans la base de donnée Sasl, en vérifiant les logs présents dans : /var/log/mailog.

Afin de le faire fonctionner sous Centos 7:

– le fichier SMTPD.CONF doit être crée dans “/etc/sasl2”.

– SYSTEMCTL doit utlisé pour gérer le service SASL : saslauthd.