Virtualmin

Virtualmin GPL est un panneau de contrôle d’hébergement web puissant, ouvert et gratuit. Il est basé sur l’application Web bien connue Webmin. Il dispose d’une interface de ligne de commande, d’une API complète, d’excellentes fonctionnalités de sécurité et d’un excellent support. Il fournit une collection d’outils très faciles à utiliser pour gérer des sites Web, des bases de données de boîtes aux lettres, le développement d’applications Web et plus encore.

Exigences

Virtualmin ne nécessite aucun matériel particulier, mais nous vous recommandons d’installer Virtualmin sur un serveur fraîchement installé pour une expérience optimale.

Nous aurons besoin de définir un nom d’hôte pour notre machine et nous pouvons le faire avec la commande suivante :

Tout d’abord, vérifiez le nom d’hôte actuel en utilisant cette commande :

hostname -f

Pour changer le nom d’hôte, exécutez la commande suivante

hostname newhostname.domain.com

Avant d’installer un paquet sur votre système, il est recommandé de mettre à jour le système et les paquets disponibles. Exécutez la commande suivante pour le faire.

yum -y update

VIrtualmin peut être installé de plusieurs façons, mais nous vous recommandons d’installer Virtualmin en utilisant un script automatisé qui installera automatiquement chaque paquet sous sa responsabilité. Pour ce faire, téléchargez le fichier script en utilisant la commande wget.

Téléchargement de Virtualmin :

wget http://software.virtualmin.com/gpl/scripts/install.sh -O /tmp/virtualmin-install.sh

Le fichier enregistré sous le répertoire / tmp / en tant que virtualmin-install.sh.

Exécuter le script :

Après que le script Virtualmin a été téléchargé avec succès, exécutons le fichier de script. Pour ce faire, nous devrons rendre le fichier script exécutable en utilisant la commande suivante.

chmod +x /tmp/virtualmin-install.sh

Maintenant, le fichier est rendu exécutable alors maintenant nous allons l’exécuter en utilisant sh comme indiqué ci-dessous.

sh /tmp/virtualmin-install.sh

La commande ci-dessus va démarrer l’installation Virtualmin et il se produira un contrat de licence, pour installer le Virtualmin appuyez sur Y , puis appuyez sur ENTRÉE .

Pare-feu

Un pare-feu est installé dans la plupart des systèmes comme solution de pare-feu, ici nous allons construire le programme de pare-feu pour permettre au port 10000 d’être accessible depuis Internet. Il rendra virtualmin accessible pour les réseaux connectés et pour ce faire exécuter la commande suivante.

firewall-cmd –permanent –zone=public –add-port=10000/tcp

Si vous n’avez pas installé firewalld sur votre système, installez d’abord firewalld en utilisant cette commande :

yum install firewalld

Après l’installation de firewalld maintenant démasquer, activez et démarrez le pare-feu avec les commandes ci-dessous:

systemctl unmask firewalld systemctl enable firewalld systemctl start firewalld

Après avoir autorisé le port 10000, exécutez cette commande

firewall-cmd –reload

Ensuite, vous verrez une sortie « Succès ».

Accéder à  Virtualmin

Maintenant notre Virtualmin est installé avec succès et le port 10000 est également exposé par le programme de pare-feu, nous pointerons notre navigateur Web à notre serveur comme https : // yourIPaddress: 10000 dans notre navigateur Web.

Cela affichera un avertissement que votre connexion n’est pas privée mais il vous suffit de l’ignorer et de continuer en cliquant sur le bouton Avancé ** puis de cliquer sur ** votreIPadresse (peu sûre) qui sera au bas du navigateur.

Après cela, vous verrez une page de connexion au webmin. Entrez simplement le nom d’utilisateur et le mot de passe du système pour accéder au panneau de contrôle de Virtualmin.

Si vous ne vous souvenez pas de votre mot de passe, nous vous suggérons de ne pas essayer de vous connecter brutalement comme si vous deviniez le mot de passe, ou de répéter les tentatives de connexion. Parce que si vous le faites, votre adresse IP sera verrouillée pendant plusieurs minutes.

Il est donc préférable de changer le mot de passe et, pour ce faire, exécutez la commande suivante :

passwd

Et créez un nouveau mot de passe puis connectez-vous au webmin.

Vous êtes maintenant connecté et vous verrez un tableau de bord avec l’assistant d’installation .

Mettre à jours le fichier /etc/asterisk/ sip.conf comme suit :

Dans votre navigateur Tapez l’URL suivant : http://ip_serveur/vicidial/admin.php

Dirigez-vous à l’interface suivant :

  1. Admin >> Carriers
  2. Choisir crée un nouveau trunk (Add A New Carrier)

 

Remplir les champs de formulaire comme suit :

Carrier ID : l’identifiant de carrière

Carrier Name : Nome de carrier

Registration String: register => User:mot de passe @sip.cmrp.net:5060/User

Account Entry:

[Carrier_ID]

type=friend

dtmfmode=rfc2833

context=trunkinbound

qualify=no

nat=yes

host=sip.cmrp.net

username=User

secret=Mot de passe

Protocol: sip

Dialplan Entry:

Wholesale:

exten => _90x.,1,AGI(agi://127.0.0.1:4577/call_log)

exten => _90x.,2,Dial(SIP/00${EXTEN}@Carrier_ID,,tTo)

exten => _90x.,3,Hangup

Premium :

exten => _x.,1,AGI(agi://127.0.0.1:4577/call_log)

exten => _x.,2,Dial(SIP/00${EXTEN}@Carrier_ID,,tTo)

exten => _x.,3,Hangup

Paramétrage Espace Client :

     En fin cliquez sur Enregistrer

Ce tutoriel a pour but de vous permettre de push vos projets android vers votre repository git via Android Studio.

 

Présence et « Test » Git

 

Vous devez dans un premier temps vérifier si GIT est installé sur votre Ordinateur pour cela, lancez Android Studio, dans le projet que vous voulez push vers votre git :

Windows : File > Settings > Version Control > Git
Mac : Android Studio > Preferences > Version Control > Git

GitCheck

Dans le cas ou la configuration de GIT n’est pas présente et renvoi une erreur en cliquant sur le bouton « Test« ; Rendez vous sur : Técharger GIT

Téléchargez la version selon votre système d’exploitation.
Lors de l’installation vérifiez le chemin d’installation, il vous permettra de le notifier dans le champs précédent (Path to Git executable)
Windows : C:\Program Files\Git
Mac : /usr/bin/git

Pour les utilisateurs Windows, il est préférable de sélectionner l’option d’installation Git Bash :

Git Bash

 Mise en place du Version Control Integration

Nous allons initialiser l’utilisation de GIT sous Android Studio en activant le VCI (pour les projets ayant été initialisé sans version control)
Windows / Mac : VCS > Enable Version Control Integration..

VcsEnable1

Sélectionnez Git dans la liste déroulante, constatez qu’une configuration est possible avec la plupart des outils..

VcsEnable2

Une fois le VCS activé, le menu VCS change et donne accès aux outils d’un outils de gestion GIT et notifiant dans les Projects Files d’Android Studio les fichiers non envoyé vers le repository via un jeu de couleur.

VCSActive

Mise en place du Git Ignore

gitIgnore

Téléchargez le .gitignore et mettez le à la racine de votre projet Android. Il permettra  de ne pas Push des fichiers propre à votre machine et non utile pour le fonctionnement de l’application. (Il se peut que votre navigateur interprète le fichier; Copiez le contenu et collez le dans un fichier; renommez le en « .gitignore » une fois enregistré, dans votre Gestionnaire de fichier/Finder;
Sous Windows pensez à activer les fichiers cachés ;
Sous Mac :
#defaults write com.apple.finder AppleShowAllFiles YES
#killall Finder

 Configuration du repository distant

Windows :
Rendez vous dans votre répertoire GIT, en général – C:\Program Files\Git
Ouvrez git-bash (donnée via l’installation spécifique de git)
# cd /chemin/vers/Projet/Android
# git remote add origin ssh://user@adresseWeb/opt/git/repository.git

Mac :
Ouvrez le Terminal
# cd /chemin/vers/Projet/Android
# git remote add origin ssh://user@adresseWeb/opt/git/repository.git

Ajout De Git en Local

Windows / Mac : VCS > Git > Add

vcsadd

Maintenant les fichiers sont ajouté au GIT en local, dans l’attente de Push vers le repository git.

Récupération des configurations du Repository (GitFlow)

Dans le cas d’une initialisation et utilisation de la branche develop pour la gestion du projet, nous devons Pull le projet afin d’ensuite utiliser la branche « develop », la ou vous enverrez votre code sur le repository distant.

Capture d’écran 2017-05-04 à 17.13.09

Sélectionnez la double flèche de recherche afin de récupérer les branches du repository distant, sélectionnez « origin/develop » et lancez le Pull.

pull

Configuration pour utilisation de la branche Develop

 

Windows :
Rendez vous dans votre répertoire GIT, en général – C:\Program Files\Git
Ouvrez git-bash (donnée via l’installation spécifique de git)
# cd /chemin/vers/Projet/Android
# git branch --set-upstream develop origin/develop

Mac :
Ouvrez le Terminal
# cd /chemin/vers/Projet/Android
# git branch --set-upstream develop origin/develop

 

Nous allons maintenant définir la branche  sélectionnée par défaut lors de l’envoi vers le repository distant.

develop1

develop2

On observe que la branche actuelle est la master, que l’on remplace par la develop via l’option Checkout – Les branches locales et distantes doivent être égales sous peine d’erreur.
#Can't update: no tracked branch
No tracked branch configured for branch master.
To make your branch track a remote branch call

 

La configuration est maintenant terminée, nous allons push notre premier commit.

  Procédure d’envoi vers le repository distant

Nous allons détecter et nommer un commit  : VCS > Commit Changes…
commit
 

 

 

 

Nous arrivons sur l’interface de mise en forme du commit

Capture d’écran 2017-05-05 à 09.38.08 (1) Lors de votre premier commit uniquement sur un projet , il est obligatoire de sélectionner tout les fichiers du projet, notamment ceux contenus dans Unversioned Files. Par la suite des sélections différentes seront proposées dans cette interface..

(2) Dans ce cadre, vous notez vos commit , correspondant aux modifications/ajouts que vous avez faits, par exemple mise en place du module A , ajout de l’activité Test..

(3) Dans le cadre Author, vous notez votre nom, permet de notifier dans le commit la personne ayant fait les modification.

(4) Toutes les informations sont indiquées, vous pouvez  maintenant valider le Commit and Push…

 

Validez le commit

Capture d’écran 2017-05-05 à 09.57.01

 

 

 

Nous sommes maintenant sur la validation du push, observons bien que la branche locale develop envoi bien vers la branche distante origin:develop, et non sur la origin:master. Valider par un Push

Capture d’écran 2017-05-05 à 10.09.12

Des identifiants de connexion seront demandés, mot de passe de l’Android Studio & mot de passe SSH du repository.

 

 Une fois le tout validé, Push successful: Pushed 1 commit to origin/develop, votre système d’envoi est fonctionnel.

Capture d’écran 2017-05-05 à 10.15.15

 

Lors de prochains commit/push uniquement les fichiers modifiés seront proposés.

 

 

 

 

 

 

 

 Roy Baptiste – CMRP

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.

 

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