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 .

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.

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 😉

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.

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

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

Configuration de Kannel

Configuration et installation de Kannel
On va installer kannel et le configurer dans un but pédagogique. Donc ceci consiste à mettre en place un serveur qui permettra d’envoyer et de répondre à un sms automatiquement.
L’aspect théorique est laissé au soin du lecteur des liens seront mis en annexes pour les utilisateurs désirant approfondir leurs connaissances. Ce qui veut dire que seul l’aspect pratique sera  mise en exergue!
I.Installation
Allez sur le site de kannel et télécharger le paquet gateway (dans ce tutos le version 1.4.3 est utilisé)
et décompresse en tapant la commande «sudo tar xzvf Téléchargements/gateway-1.4.3.tar.gz »,compiler et installer
pour les novices voici les différentes commandes à taper
==>récupérer le paquet avec la commande wget

sudo wget http://kannel.org/download/1.4.3/gateway-1.4.3.tar.gz

==>décompresse le paquet avec la commande tar

 sudo tar xzvf  gateway-1.4.3.tar.gz

==>Se déplacer dans le répertoire de gateway-1.4.3

cd  gateway-1.4.3/

==> installons les dépendances de kannel les deux paquets libxml2 et libxml2-dev

sudo aptitude install libxml2-dev libxml2

==>maintenant nous pouvons compiler notre cher gateway

sudo ./configure

si tout est OK on continue

 sudo ./configure && sudo make

si tout est OK on continue et on l’installe

sudo make bindir=/usr/bin/kannel install

voilà ca devrait faire l’affaire notre serveur SMS est installé sans problème reste maintenant la configuration
II.Configuration
La configuration est assez simplement il nous faut un modem GSM(on utilisera un téléphone portable de marque NOKIA série 6230i comme modem GSM) et  également une clé bluetooth pour relier notre modem à l’ordinateur(vous pouvez aussi utiliser un câble ca ne gène pas)
en première lieu nous allons essayer d’établir une liaison série entre le modem et l’ordinateur en utilisant La technologie RFCOMM.
Ouvrons un terminal et lançons nous à la recherche de notre cher ami le modem mais avant tout veillez penser à activé le bluetooth sur votre portable
==>heureusement qu’on a des outils comme hcitools lançons la recherche !

 sudo hcitool scan

Scanning …
00:1E:E2:69:F4:5C €lw@n$
hohé suis la  !!!
si vous ne voyez pas le « hohé suis la »   redemander votre machine !
vous n ‘êtes pas sérieux quand même c’était une blague :-p
continuons notre …
==>notre cher modém est la tout heureux maintenant relions le à notre machine en utilisant RFCOMM

 sudo rfcomm connect 0 00:1E:E2:69:F4:5C 1

Connected /dev/rfcomm0 to 00:1E:E2:69:F4:5C on channel 1
Press CTRL-C for hangup
cela veut dire qu’on c’est connecté sur le device rfcomm0 dans le canal 1
tout se passe bien alors? bah oui! 🙂
Alors on a relié notre périphérie en liaison série avec notre machine il nous reste à configurer notre serveur.
Avant d’y aller faisons un petit tour au niveau des commandes AT et regardons si on peut testé notre chér modeme.
Installons minicom vous savez installer maintenant sinon on s’arrête là! 😉  bon pas de soucis pour les fainéants copier et coller!

sudo aptitude install minicom et attendre la fin de l’installation

toujours dans notre terminal tapez

sudo minicom -s pour configurer minicom avec notre modem

=>Aller dans configuration du port série tapez A
=>changer le Port série :/dev/xxx en /dev/rfcomm0
=>appuyer sur Entrer pour sauvegarder
=>sur Entre a nouveau pour sortir
=>aller dans Enregistrer config. sous dfl pour sauvegarder la configuration par défaut
=> Puis sortir
si tout est OK vous devriez avoir quelques du genre
Bienvenue avec minicom 2.4
OPTIONS: I18n
Compilé le Jan 25 2010, 06:49:09.
Port /dev/rfcomm0
Tapez CTRL-A Z pour voir l’aide concernant les touches spéciales
OK
Maintenant voyons si notre SIM est bien en place
tapez toujours de le même terminal AT+CPIN ? Entrer
AT+CPIN?
+CPIN: READY
OK
Voilà le résultat attendu donc tout est OK ! Je vous encourage à lire la documentation sur les commandes AT ils sont intéressantes et permettes de faire des choses extra…. si vous maitrisez python ou C/C++ je vous assure que leur combinaison fait des ravages!à bon entendeur …..  🙂
Revenons à nos moutons!c’était quoi encore ……haa OK!la fameuse configuration de kannel! 😉
Ouvrons un autre terminal et créer d’ abord le répertoire /etc/kannel

sudo mkdir /etc/kannel

Créons le fichier /etc/kannel/kannel.conf

sudo vim etc/kannel/kannel.conf

bon chacun y vas avec son éditeur favori  😉
le fichier de configuration se compose de 5 groupe voir 6
=>le premier est le groupe core
=>le second le groupe smsc
=>le troisième est le smsbox
=>le quatrième est le sendsms-user
=>le cinquième est le sms-service
=>le sixième est le modems
voilà notre fichier de configuration toute préte

#-------------------------------------------------------

#CORE
group = core
admin-port = 13000
admin-password = bar
smsbox-port = 13001
log-file = “/var/log/kannel/bearerbox.log”
log-level=1
access-log = “access.log”
log-level=1
unified-prefix = “00221,+221,00”
bearerbox-host = localhost
#———————————————
# SMSBOX SETUP
group = smsbox
bearerbox-host = localhost
sendsms-port = 13013
sendsms-url = “/cgi-bin/sendsms”
global-sender = 13013
sendsms-chars = “0123456789 +-”
log-file = “/tmp/smsbox.log”
log-level = 0
access-log = “access.log”
#———————————————
# SMSC CONNECTIONS
group = smsc
smsc=at
modemtype=nokiaphone
host = localhost
device=/dev/rfcomm0
speed=9600
validityperiod =167
#———————————————-
#MODEM
group = modems
id = nokiaphone
name = “Nokia Phone”
detect-string = “Nokia Mobile Phone”
need-sleep = true
enable-mms = true
#———————————————
# SEND-SMS USERS
group = sendsms-user
username = tester
password = foobar
max-messages = 3
concatenation = true
#user-deny-ip = “*.*.*.*”
user-allow-ip = “*.*.*.*”
#———————————————
# SERVICES
group = sms-service
keyword = test
text = “test kannel is valide!”
******FIN DU FICHIER DE CONFIGURATION******
Telecharger le fichier ici
III.Test
maintenant tout est fin prés démarrons notre serveur!;)
++ouvrons un terminal

sudo /usr/local/sbin/bearerbox  /etc/kannel/kannel.conf

++ouvrir un autre terminal

 sudo /usr/local/sbin/smsbox  /etc/kannel/kannel.conf



Envoyer un sms depuis votre navigateur
ouvrer votre navigateur favori et go ahead...;-)

http://localhost:13013/cgi-bin/sendsms?username=tester&password=foobar&to=xxxxxxxxxxx&text=test+kannel+configuration
remplacer le “x” par le numéro de destinataire
en partant de la on peut s’imaginer une interface propre écrite dans votre langage préféré(python,php,java…..) pour envoyer des messages