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.

Le noyau Linux peut devenir un formidable routeur. Il suffit d’installer et de configurer les paquets Quagga.

Qu’est-ce que Quagga ?
Quagga est constitué de plusieurs outils comme Zebra.

INSTALLATION DES PAQUETS

1- Utiliser yum
# yum install quagga

2- Editer /etc/sysctl.conf, activer l’ip forwarding, autoriser le BGP multihomed et désactiver les filtres « rp filter »
net.ipv4.ip_forward=1
net.ipv4.conf.lo.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0

3- Démarrage de Zebra au boot
# chkconfig zebra on

4- Quagga propritétaire de ses fichiers de conf
# chown quagga /etc/quagga/*

5- Iptraf : outils de supervision du trafic
# yum install iptraf

6- Ethtool : gestion des interfaces réseau
# yum install ethtool

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.

 

  • S’applique à :
  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux

Le programme d’installation automatique de Plesk obtient les packs depuis les répertoires de base de votre OS.

Si MySQL 5.5 n’est pas listé dans le répertoire de base, il n’est pas disponible dans le programme d’installation automatique de Plesk.

Utilisez le répertoire Atomic pour mettre à niveau MySQL sur les systèmes basés sur RPM :

# wget -q -O - http://www.atomicorp.com/installers/atomic | sh
# yum upgrade mysql

Le but de ce serveur est de monter un tunnel L2TP avec le LAC (L2TP  Access Concentrator), puis de monter un tunnel PPP par modem à travers le tunnel L2TP.
Pour la vérification des authentifications il sollicite le serveur radius.

Configuration du loopback :

# nano /etc/sysconfig/network-script/ifcfg-lo

DEVICE=lo
IPADDR=xx.xx.xx.xx
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback

Autorisation du « forward » entre le réseau et les tunnels

# AUTORISER LE FORWARD

# nano /etc/sysctl.conf

mettre net.ipv4.ip_forward = 1

aussi en temporaire avant le redémarrage
# echo 1 > /proc/sys/net/ipv4/ip_forward

Installation Libcli sur x86

Téléchargement de la libcli

wget http://downloads.sourceforge.net/project/libcli/libcli/1.9.3/libcli-1.9.3.tar.gz?r=http://sourceforge.net/projects/Flibcli/&ts=1287128221&use_mirror=freefr

Décompression
# tar xzvf libcli-*.tar.gz

Entrer dans le répertoire
# cd libcli-*

Compilation
# make

Installer
# make install PREFIX=/usr

Ou installation Libcli sur x86_64

Téléchargement de la libcli
# wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/libcli-1.8.6-2.el6.rf.x86_64.rpmInstallation du rpm
# rpm -Uvf libcli-1.8.6-2.el6.rf.x86_64.rpm 

Télécharger le fichier

# wget http://downloads.sourceforge.net/project/l2tpns/l2tpns/2.1.21/l2tpns-2.1.21.tar.gz?r=http://sourceforge.net/projects/l2tpns/&ts=1287128144&use_mirror=freefr

Décompresser le fichier :
# tar xzvf l2tpns-*

Entrer dans le dossier
# cd l2tpns-*

Recompiler
# make

Installer
# make install

Configuration du serveur L2TPNS

Le serveur L2TPNS se lance avec la configuration du fichier /etc/l2tpns/ startup-config. La mise en place du pool d’adresse IP des modems clients permet de créer les routes vers les tunnels au démarrage du serveur L2TPNS. Ces IP peuvent êtes récupérées de façon dynamiques ou statique (à préciser dans la configuration du routeur)

Fichier de configuration du serveur /etc/l2tpns/

# Debugging level
set debug 3# Log file: comment out to use stderr, use « syslog:facility » for syslogset log_file « /var/log/l2tpns »

# Write pid to this file
set pid_file « /var/run/l2tpns.pid »
# Shared secret with LAC
set l2tp_secret « xxxxxxxxx »
# MTU of interface for L2TP traffic
set l2tp_mtu 2000
# PPP counter and timer values
set ppp_restart_time 3
set ppp_max_configure 10
set ppp_max_failure 5
# Only 2 DNS server entries are allowed
set primary_dns xx.xx.xx.xx
# Can have multiple radius server entries, but ony one radius secret
set primary_radius xx.xx.xx.xx
set primary_radius_port 1812
set radius_secret « xxxxx »
# Acceptable authentication types (pap, chap) in order of preference
set radius_authtypes « pap »
# Allow multiple logins for the same username
set allow_duplicate_users no
# Write usage accounting files into specified directory
set accounting_dir « /var/run/l2tpns/acct »
# Listen address for L2TP
set bind_address xx.xx.xx.xx
# Gateway address given to clients
set peer_address xx.xx.xx.xx
# Maximum number of downstream packets per 0.1s to handle for each
# session (0 = ulimited)
set packet_limit 0

Dans le fichier /etc/l2tpns/ip_pool

10.0.0.1/27
10.10.45.0/24
xx.xx.xx.xx/xx

Lancement du service

Démarrer le serveur en mode console :
# l2tpns

Démarrer le serveur en démon :
# l2tpns –d

Il arrive que l’accès à votre panneau de contrôle Plesk ne soit plus accessible et que à la place vous ayez un message du type « Plesk Fatal Exception error« .

En général un redémarrage du service Plesk corrige le défaut. Cependant, ce message d’erreur s’éffiche aussi quand d’autres services sont en panne et donc le seul redémarrage de Plesk ne permet pas de remettre en route votre activité !

A vérifier en premier lieu, c’est l’état du service mysql via la commande :

service mysqld status

Si le résultat de cette commande vous donne mysqld is stopped et que lorsque vous essayez de le redémarrer vous avez le message suivant Another MySQL daemon already running with the same unix socket c’est que le problème se situe sur le fichier /var/lib/mysql/mysql.sock

La solution est donc de renomer le fichier mysql.sock en mysql.sock.back pour conserver une trace de l’ancien fichier au cas ou. Ensuite, il nous reste plus qu’à démarrer le service mysql et redémarrer le service Plesk :

  1. service mysqld start
    Starting mysqld:                                          [  OK  ]
  2. service psa restart
    Stopping sw-engine-fpm:                          [  OK  ]
    Starting sw-engine-fpm:                             [  OK  ]

Vous pourrez ainsi récupérer votre interface Plesk et remettre en route par la même occasion l’ensemble de vos domaines.

Il arrive qu’après le redémarrage de votre serveur sous Plesk, le service nginx refuse de redémarrer à son tour et est en erreur.

Voici les erreurs qui vont s’afficher dans votre console soit en faisant un restart ou un status sur le service nginx  :

  • nginx dead but pid file exists
  • Not starting nginx as it is disabled in config

Il faut donc forcer la désactivation de nginx puis le réactiver pour qu’il puisse fonctionner de nouveau normalement en utilisant les deux commandes suivantes (attention au double « – » pour les deux commandes) :

  1. Désactivation du service nginx : /usr/local/psa/admin/bin/nginxmng --disable
  2. Activation du service nginx : /usr/local/psa/admin/bin/nginxmng --enable

Vous pourrez vérifier que le service nginx tourne normalement avec la commande service nginx status qui affichera nginx (pid  PID_ID) is running…

Voici la procédure pour installer le service NTP sur votre serveur et qu’il puisse se mettre à jour et à l’heure automatiquement :

  1. Installer le service NTP : yum install ntp
  2. Activer le service NTP au démarrage : chkconfig ntpd on
  3. Fixer le serveur à partir duquel vous allez vous mettre à jour/heure : ntpdate pool.ntp.org
    Ici nous avons choisi le serveur pool.ntp.org, vous pourrez en trouver d’autres directement depuis google.
  4. Lancer le service NTP : /etc/init.d/ntpd start
  5. Mettre en tâche cron la mise à jour du service NTP : echo ’30 * * * * root /usr/sbin/ntpd -q -u ntp:ntp’ > /etc/cron.d/ntpd

 

1. Télécharger le dernier « EPEL » repo :

  • CentOS 6 32 Bit : wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
  • CentOS 6 64 Bit : wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2. Installer le repo précédemment téléchargé : rpm ivh epelrelease68.noarch.rpm

3. Installer le module « php-mcrypt » : yum install phpmcrypt

4. Une fois l’installation terminée, redémarrez le service Apache : service httpd restart

5. Vous pouvez vérifier que le module php-mcrypt est bien installé sur votre serveur avec la commande : php m | grep i mcrypt