Publié dans GNU/Linux, Linux, Serveurs, ubuntu

Ajouter une machine Ubuntu(GNU/Linux) dans un domain Active Directory (LDAP)


Les systèmes d’exploitation GNU/Linux  n’ont pas la cote en entreprise c’est un fait,tu as beau essayé  de les défendre les gens (la majorité des DSI) préférerons utiliser  le système Windows et d’après le peu d’expérience que j’ai eu je pense que cette manque de considération est du a une désinformation. Ils te dirons toujours que Linux c’est compliqué et l’argument qui revient souvent est le manque de support en cas de problème.En entreprise on cherche toujours quelqu’un a indexer en cas de problème et malheureusement c’est pas tres viril d’indexer une communauté de bénévoles qui offrent un peu de leur temps libre.

Si jamais vous arrivez à convaincre  vos collègues sur les avantages d’avoir une ou des machines GNU/Linux l’authentification unique ou Single Sing-on en anglais ne doit pas être un frein.

Dans mon scénario on a un contrôleur de domaine avec Active Directory et on veut ajouter des machines Ubuntu dans le domaine et bénéficier des avantages de active directory .

Il existe plusieurs méthodes pour ajouter une machine Ubuntu dans AD mais sur ce tutoriel nous avons choisi de faire avec  le logiciel SSSD.Let’s setup.

Pré-requis :

  • Avoir un serveur Active Directory fonctionnel
  • Installer ubuntu 16.04
  • S’assurer que votre controller de domaine est votre  premier resolver et le mettre dans /etc/resolv.conf
  • Dans ce tuto le domaine sera base.corp et notre serveur serverdc.base.corp

Installation des logiciels

sudo apt install samba sssd krb5-user ntp ntpdate

Configuration de NTP

la premiere étape consiste à synchroniser le serveur AD avec la machine cliente.C’est important pour la bonne marche de Keberos qui présente un dysfonctionnement s’il le serveur et la machine on un décalage de plus de 5 minutes.

sudo service ntp stop
sudo ntpdate -s serverdc.base.corp
sudo service ntp start

Configuration de /etc/hosts & /etc/resolv.conf

/etc/hosts

192.168.1.20 serverdc server.base.corp

/etc/resolv.conf

nameserver 192.168.1.20
domains base.corp
dns-search base.corp

Configuration de Keberos

[libdefaults]
	default_realm = BASE.CORP
[realms]
	BASE.CORP = {
		kdc = serverdc
		admin_server=serverdc
		default_domain=BASE.CORP
	}
[domain_realm]
	.base.corp=BASE.CORP
	 base.corp = BASE.CORP

Toujours mettre en majuscule le domaine

Configuration de SSSD

Le fichier sssd.conf n’existe pas par défaut il faut donc le créer et le mettre dans /etc/sssd.


sudo touch /etc/sssd/sssd.conf
sudo chown root:root /etc/sssd/sssd.conf
sudo chmod 600 /etc/sssd/sssd.conf

Ensuite y mettre les éléments suivants.

[sssd]
services = nss, pam
config_file_version = 2
domains = BASE.CORP

[domain/BASE.CORP]
id_provider = ad
override_homedir = /home/%d/%u
access_provider = simple
simple_allow_users =  admin@snsp.corp,users@snsp.corp
simple_allow_groups = linux-admin,linux-users

Les deux dernières lignes permettent de filtrer la connexion des utilisateurs donc ici seul les 2 utilisateurs appartenant aux groupes lister pourront s’authentifier.Au cas contraire tous les utilisateurs du domaine pourront le faire.

Configuration de Samba

Editer le fichier /etc/samba/smb.conf et modifier la configuration de Workgroup

# Change this to the workgroup/NT-domain name your Samba server will part of
  # workgroup = WORKGROUP
workgroup = BASE
client signing = yes
client use spnego = yes
kerberos method = secrets and keytab
realm = BASE.CORP
security = ads

Relancer les services

sudo service smbd restart
sudo service nmbd restart
sudo service sssd restart
sudo service ntp restart

Ajouter la machine dans le domain

Il faut s’assurer qu’on a un compte qui peut ajouter dans des machines dans le domaine.le mot de passe du compte vous sera demander.

kinit adadmin

Si tout se passe bien on ajouter la machine avec cette commande

sudo net ads join -k

Si vous avez l’erreur suivant « Failed to join domain: failed to lookup DC info for domain ‘BASE.CORP’ over rpc: An internal error occurred. »
Essayer avec la commande suivante.

sudo net ads join -U admin

Maintenant aller regarder dans votre interface d’ajout de machine dans Active Directory vous y verrez la machine.

Vous pouvez maintenant utiliser ssh ou vous connecter directement dans l’interface de login de votre machine

par ssh

 ssh base\\admin@ipdevotremachine
#ou
ssh base@ipdevotremachine

let’s enjoy.

Publicités
Publié dans Python, Serveurs

Installation de Odoo 8.0 (ex openerp) sur ubuntu 14.04 LTS


Odoo est un PGI(progiciel de gestion intégré) qui peut regrouper l’ensemble des fonctions(gestion de stock,comptabilité,vente,RH,CRM,…) d’une entreprise dans un seul programme informatique dans le but de facilité l’interaction avec les différents départements, d’éviter la redondance d’informations pour ne citer que cela .Dans la liste des PGI encore appelé ERP(en anglais) nous pouvons distinguer les EPR opensources(odoo,openbravo,trython,…) et propriétaires(SAP,SAGE,GEAC…),ainsi dans cette article nous allons parler du plus célèbre des ERP opensource. Nous n’allons pas parler de l’aspect fonctionnel pour le moment.Ainsi si vous lisez ces lignes je suppose que vous êtes déjà imprégné sur le sujet et que vous avez décidé de passez à l’installation pour vous familiarisez avec ce système.L’installation peut se faire de plusieurs façons mais nous avons choisi l’installation depuis les sources qui facilite le développement et l’intégration de nouveau module et le déboggage en cas de problème. Pour en savoir plus sur les autres méthodes d’installation vous pouvez visitez la documentation officielle ici

Pre-requis

Nouvelle installation de Ubuntu-server 14.04 si vous n’avez pas l’image vous pouvez aller le télécharger au niveau du site officiel Ici.
L’installation de la machine GNU/Linux ne sera pas détaillée dans ce tutoriel merci de votre compréhension :-p .
N’oubliez pas d’installer openssh-server pour accéder à votre machine à distance(optionnel).

Première étape :

Installation de git et des dépendances

sudo apt-get install git

sudo apt-get install graphviz ghostscript postgresql-client \
python-dateutil python-feedparser python-matplotlib \
python-ldap python-libxslt1 python-lxml python-mako \
python-openid python-psycopg2 python-pybabel python-pychart \
python-pydot python-pyparsing python-reportlab python-simplejson \
python-tz python-vatnumber python-vobject python-webdav \
python-werkzeug python-xlwt python-yaml python-imaging

sudo apt-get install gcc python-dev mc bzr python-setuptools python-babel \
python-feedparser python-reportlab-accel python-zsi python-openssl \
python-egenix-mxdatetime python-jinja2 python-unittest2 python-mock \
python-docutils lptools make python-psutil python-paramiko poppler-utils \
python-pdftools antiword

installer le paquet wkhtmltopdf qui permet d’avoir des rapports en pdf ainsi il faut installer le paquet manuellement au moment au j’écris ces lignes la version disponible dans les depots de Ubuntu n’est pas compatible avec odoo 8.Voici le lien directe pour telecharger la version de Ubuntu Trusty ici

ensuite installer le paquet avec la commande suivante

wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

Deuxième étapes :

Installation et configuration de la base de donnee

sudo apt-get install postgresql
creation de l’utilisateur odoo pour la base de donnée
sudo -u postgres createuser -s odoo

Troisième étapes :

Récupérer le code source de odoo depuis github
wget -O- https://raw.githubusercontent.com/odoo/odoo/8.0/odoo.py | python

Quatrième étapes :

exécuter le serveur
cd odoo
./openerp-server

Maintenant si tout se passe bien notre application sera disponible à l’url suivant http://localhost:8069

NB:

Si pendant le démarrage de l’application vous obtenez l’erreur suivante
raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8

la solution est :
export LC_CTYPE='en_US.utf8'
Et redémarrer l’application à nouveau .

Publié dans apache2, debian, GNU/Linux, html5, serveur web, Serveurs, webdev

Changer le répertoire (/var/www/html) par défaut d’apache2 sur Debian


Si vous créez des sites web ( amateur ou pro) avec une distribution GNU/Linux  vous devez connaître forcement apache2 et savoir pour que votre application soit disponible à travers l’adresse 127.0.0.1 il faut déposer les fichiers sur le répertoire par défaut du serveur web apache2(/var/www/html) .Et si vous utilisez des éditeurs de texte  graphique comme  Sublim-text ou Brackets ou ce que vous voulez … vous devez alors les démarrer en mode administrateur(root) pour pouvoir éditer convenablement vos fichiers qui sont dans le répertoire /var/www/html et cela n’est pas très conviviale dans un environnement de test .Voila donc c’est pour cette raison que nous allons changer  le répertoire et le pointer dans un répertoire ou un utilisateur simple pourra éditer les fichiers sans disposer de droit administrateur.Maintenant  chacun peut y aller avec ces propres raisons :-p .Bon changeons ce répertoire une bonne fois pour toute :-).

1-Créons un dossier de destination

 mkdir  /home/hostname/websites

2-Donnons ensuite tous les droits à l’utilisateur « www-data » qui exécute Apache2 et ensuite attribuons un accès total à l’utilisateur simple pour ce répertoire :

chown www-data /home/hostname/websites -Rf 
sudo chmod 775 -R /home/hostname/websites
3-Editons le fichier de configuration d’apache

 sudo nano /etc/apache2/sites-available/000-default.conf

Regardons la directive « Documentroot »qui pointe vers « /var/www/html » ensuite nous allons donc changer cette directive pour y mettre  « /home/hostname/websites » .

4-Nous devons faire la même chose en changeant le chemin (/var/www/html) dans le tag « Directory » par le nouveau(/home/hostname/websites)

sudo nano /etc/apache2/apache2.conf

Enfin nous pouvons ensuite redémarrer Apache 2 pour que les changements de configuration soient pris en compte :
sudo service apache2 restart

NB : cet usage n’est pas recommandé dans un environnement de production l’aspect sécurité n’est pas pris en compte.

Publié dans Linux, Serveurs

La vidéo sur demande (VOD) avec VLC


Ce billet va nous permettre de partager un flux multimédia (vidéo ,son, etc … ) sur votre réseau local ou sur internet (en tant qu’amateur :p  ) en faisant du streaming avec le logiciel libre VLC . Je vous laisse imaginer le scénario dans lequel vous pourriez l’utiliser. Bref « actons » maintenant 🙂

Prérequis :

  • Disposer d’une machine linux (Debian Sid / Ubuntu Precise )
  • Installer VLC (sudo apt-get install vlc)
  • disposer de contenu multimedia (video ,son)   🙂

First Step :Démarrer le serveur

sudo vlc-wrapper --ttl 12 -vvv --color -I telnet --telnet-password passer --rtsp-host 192.168.1.2:554
  • 12 est le TTL des paquets stream  (indique le nombre de sauts (routeurs) que peut avoir le paquet stream).
  • telnet activer la connection telnet.
  • passer le mot de passe pour se connecter a telenet
  • 192.168.1.2 est l’adresse de l’hôte .
  • 554 est le port pour faire passer le stream .

 

 

Second Step : Ajouter les médias

Pour ce faire on se connecte au serveur via telnet on voit sur la capture précédente que le serveur VLC écoute sur le port 4212

La connexion au serveur est effective on passe à l’ajout d’une  vidéo

pour verifier si notre vidéo est bien dans le serveur on utilise la commande show

final Step : Test …

ouvrir vlc « Média » ==> « Ouvrir un flux réseau »

Lire et voilà la ça roule …  enjoy 😉

Publié dans Linux, Serveurs

Configuration de squid avec webmin


Squid

Un serveur Squid est un serveur mandataire ou « proxy » capable d’utiliser les protocoles http ,ftp ,https…etc.Squid garde les meta-données et plus particulièrement les données les plus fréquemment utilisées en mémoire. Il conserve aussi en mémoire les requêtes DNS,ainsi que les requêtes ayant échoué. Les requêtes DNS sont non bloquantes.

Principe de Fonctionnement :

Si un hôte du réseau demande l’adresse d’un noeud distant situé sur un autre réseau, et que cet hôte passe par un service proxy, le proxy va renvoyer à l’hôte sa propre adresse Ethernet. Une fois cette opération réalisée, tous les paquets envoyés par l’hôte seront à destination de l’adresse Ethernet du proxy. Le proxy aura en charge de transmettre ces paquets à l’adresse effective du noeud distant.

Pour les réponses, un processus identique est mis en place. Le site consulté, ne retourne les réponses qu’au serveur proxy. Le serveur proxy se charge de ventiler les pages au bon destinataire du réseau local.

Voir, pour le fonctionnement des serveurs cache et la configuration des navigateurs avec ce type de serveur, le document sur le W3 et les scripts CGI.

Squid est un service serveur proxy-cache sous linux. Les objets consultés par les clients sur internet, sont stockés en cache disque par le serveur. A partir du deuxième accès, la lecture se fera en cache, au lieu d’être réalisée sur le serveur d’origine. De ce fait il permet “ d’accélérer ” vos connexions à l’interne en plaçant en cache les documents les plus consultés. On peut aussi utiliser la technique du service serveur mandataire pour effectuer des contrôles d’accès aux sites.

Configuration de Squid

-la configuration de Squid se fera via webmin qui est un gestionnaire graphique de serveurs. Pour ce procurer webmin aller a l’adresse suivante http://www.webmin.com/                                                                                                                                                                                                                                     Apres son installation vous pouvez accéder a webmin via  https://localhost:10000

Voici la page de démarrage de Webmin qui nous donne les informations sur notre système et sur le version de webmin.

Squid overview

Installation

apt-get install squid3

On a un aperçu générale des fonctionnalités de Squid.

Configuration des ports et de l’interface d’écoute

Pour ce serveur la première des choses est de configurer un port et une interface pour pouvoir traiter et renvoyer les requêtes clients.

Par défaut le port est 3128 mais on peut le changer et mettre un numéro de port arbitraire et aussi définir une adresse IP valide pour notre interface d ‘écoute.

Configuration du Cache

Dans ce étape on définie la taille du cache et les étages. Dans cette partie on peut délimiter la taille des fichiers à télécharger par les utilisateurs.

Définition des ALC

On définie les ACLs Suivants les types de paramètres

on crée une ACL avec l’option “créer une nouvelle ACL” et on choisit ce qu’on veut interdire on a une liste déroulante qui propose plusieurs type de restrictions. On vas s’intéresser aux heures de connexions des utilisateurs. Mais avant tout il est préférable de définir notre réseau Local ou ces restrictions vont s’appliquer

Définition du réseau local

On attribut un nom et la plage s’adresse IP qu’on veut filtrer

Définition des ALC pour les heures de connexions

On veut interdire la connexion pendant les heures de cours par exemple de 08-12h30 et de 15h30-18h aussi parallèlement autoriser la connexion les week-end. Donc on peut dire au serveur d’ autoriser le trafic à des heures précises ainsi nous pouvons créer trois ALC:

  • Autoriser le trafic du lundi au vendredi de 12h-30 à 15h30

  • Autoriser le trafic du lundi au vendredi de 18h-00 à 23h-00

  • Autoriser le trafic pendant les week-end

Exemple de configuration avec Webmin:

on configure de la même manière pour les deux autres ACLs et on passe à leur application.

Application des acls

Une fois les ACLs crées on passe à leur application toujours dans la même fenêtre on ouvre à l’ onglet “Restrictions du proxy” et on ajoute nos ACLs.

Application des acls

pour ajouter une ACL on doit savoir si on doit autorisé la règle ou l’ interdire dans notre cas nous avions définie des heures ou les utilisateurs pouvaient se connecter donc on vas autorise. Implicitement il y a un “deny all” qui se trouve en bas des restrictions donc ce qui veut dire que tout ce qui n’est pas autorisé est interdit.

Après on peut sauvegarder et redémarrer le serveur! Pour tester notre configuration vous pouvez attribuer des adresses IP à des machines clientes et au niveau du navigateur aller dans préférence changer les paramètres du proxy et y mettre l’adresse IP du serveur et le numéro de port que vous avez définie précédemment.

Publié dans Kannel, Serveurs

Tester Kannel avec un Fakesmsc


Bon kannel c’est compliqué  il n’y a  pas beaucoup de modèle de téléphone compatible pour faire des testes voilà la chanson que j’attends tous les jours( venant des utilisateurs de rapidsms )  et maintenant c’est révolue 🙂 . Ce billet s’adresse à ceux qui ont déjà installer kannel, si ce n’est pas le cas alors suiver ce lien installation de kannel .bon a l’attaque!!!! 😉

Pre-requis

  • Installer kannel et bien configurer 😉

Ajouter la configuration de fakesmsc a kannel.conf

Ajouter un groupe au fichier kannel.conf

group=smsc
smsc = fake
smsc-id=smsctest
port =1000
connect-allow-ip =127.0.0.1

Démarrer le teste

Démarrer d’ abord votre Bearerbox et votre smsbox ensuite avec un autre terminal aller dans le dossier Gateway

Format: test/fakesmsc [-H host] [-r port] [-i interval] [-m max] <msg>

Exemple:

sudo  test/fakesmsc -r 1000 -i 0.1 -m 1 "1 2 text test"

comme vous le voyez on a des options avec fakesmsc

  • Host : c’est l’adresse du serveur définie au niveau du fichier de configuration par défaut c’est 100.100.100.100
  • Port : c’est le numéro de port définie au niveau du fichier de configuration part défaut c’est egale a 10000
  • Intervall :c’est le temps en seconde d’une génération de message
  • Max :c’est le nombre de message qu’on peut envoyer  par défaut c’est égal a -1 qui veut dire l’infinie 🙂
  • <msg> dans le message on définie deux numeros arbitraires le premier vas representer le recpeteur et l’autre l’emetteur  et ensuite on definie le type du message dans notre cas c’est text et enfin le mot cle du service suivie de ces options.

Source

Publié dans Linux, Serveurs

Configuration d’un serveur DNS avec ubuntu 10.04


Configuration d’un serveur DNS dans Ubuntu 10.04

l’aspect théorique sera laisser au soins du lecteur faite des recherches sur les différentes options du serveur DNS la documentations ne manque pas sur le net.Je vous mettrais des annexes en fin de configuration

==>sudo aptitude install bind9 bind9-utils


Premiére Partie Configuration

1-créer des zones

-Zone directe & Zone indirecte
éditer le fichier avec votre éditeur favoris
on auras besoin de créer des zones une zone directe et une zone indirecte et de définir leur emplacement dans le fichier de configuration.
Remplacez exemple.sn par le nom de domaine de votre choix. Et l’adresse IP 192.168.1.5 aussi par celle de votre serveur
sudo vim /etc/bind/named.conf.local


//
// Do any local configuration here
// 

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include « /etc/bind/zones.rfc1918 »;

zone « exemple.sn » {
type master;
file « /etc/bind/zones/exemple.sn »;
};

zone « 1.168.192.in-addr.arpa » {
type master;
notify no;
file « /etc/bind/zones/reverse.zone »;
};


2- Créer un repertoire de zones
il n’est pas forcer de créer un répertoire de zones mais moi je le trouve intéressent du moment qu’on peut avoir à gérer plusieurs zones

=> mkdir /etc/bind/zones
3-Copier les fichiers de base des la différents fichier zones

*cp /etc/bind/db.local /etc/bind/zones/exemple.sn 


*cp /etct/bind/db.127 /etc/bind/zones/reverse.zone



4-éditer les nouveaux fichiers de zones

a)éditer le fichier exemple.zone pour les enregistrement directe @IP=>Nom

sudo vim /etc/bind/zones/exemple.zone

;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.exemple.sn. root.exemple.sn. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.exemple.sn.
@ IN A 127.0.0.1
@ IN AAAA ::1
ns IN A 192.168.1.5
www IN CNAME ns

b)éditer le fichier de configuration inverse reverse.zonr pour les enregistrement inverse Nom=>@IP

sudo vim /etc/bind/zones/reverse.zone

;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.elwan.sn. root.elwan.sn. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
5 IN PTR ns.exemple.sn.





     

  1. editer le fichier resol.conf
  2.  


changer l’adresse du serveur dans le fichier resol.conf effacer ou commenter tout et mettre votre adresse du serveur DNS

sudo vim /etc/resol.conf

# Generated by NetworkManager
nameserver 192.168.1.5


Deuxieme etape Test

1-redemarer le serveur
sudo /etc/init.d/bind9 restart
ou
sudo service bind9 restart

2-Tester le serveur DNS
nous allons utiliser le commande nslookup

=> nslookup ns.exemple.com
si tout marche on doit avoir ceci
Server: 192.168.1.5
Address: 192.168.1.5#53 

Name: exemple.sn
Address: 192.168.1.5