Howtos:Install OCS on debian/fr

From OCS Inventory NG
Jump to: navigation, search

Contents

Installer et configurer OCS Inventory NG 2.0 sur Debian Squeeze

Contexte

  • Un serveur Debian Squeeze brut de pomme
  • Besoin d'un serveur OCS Inventory NG pour l'inventaire, le déploiement et la recherche sur le réseau

Prérequis

Les paquets make et buid-essential doivent être installés.

Installer et configurer le serveur de base de données

   aptitude install mysql

Dans /etc/mysql/my.cnf

   max_allowed_packet    = 32M

Installer le serveur web

   aptitude install apache2 php5 php5-mysql php5-gd

Installer mod_perl

   aptitude install libapache2-mod-perl2

Installer les modules perl nécessaires

Pour commencer, les modules packagé par Debian

   apt-get install libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl
   libapache-dbi-perl libnet-ip-perl libsoap-lite-perl

Ensuite les modules non packagés. Pour commencer, on met à jour CPAN

   perl -MCPAN -e shell
   install CPAN
   reload CPAN

Ensuite on installe les modules

SERVEUR :

   YAML
   XML::Entities

CLIENT :

Nmap::Parser

Module optionnel packagé (voir le README à la racine de l'agent unifié pour de plus amples informations) :

   libproc-daemon-perl

Module optionnel non packagé (voir le README à la racine de l'agent unifié pour de plus amples informations) :

   Proc::PID::File

Pour les scans ipdiscover et snmp, installer nmap et snmp

   aptitude install nmap snmp

Installer le serveur OCS Inventory NG 2.x.x

Téléchargement de la dernière version du serveur sur www.ocsinventory-ng.org et copie dans

/usr/src/

On dézippe le fichier

   tar -zxvf OCSNG_UNIX_SERVER-x.x.x.tar.gz

Lancer le setup.sh présent dans le dossier d'installation du serveur OCSNG_UNIX_SERVER-x.x.x et suivre la procédure (présente sur le wiki OCS)

Créer un utilisateur "ocs" avec les droits GRANT dans mysql. On peut par la suite limiter ses droits sur la base "ocsweb".

Pour plus de sécurité, créer un utilisateur différent de "ocs" qui est le compte par défaut

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'ocs'@'localhost' IDENTIFIED BY 'ocs' WITH GRANT OPTION;

Se connecter à la l'interface d'administration

   http://serveur/ocsreports

Renseigner les différents champs ( Identifiant/Mot de passe/Nom de la BDD/Serveur) Dans cet exemple :

   ocs / ocs / ocsweb / localhost

Valider et attendre la fin d'exécution du script.

L'interface est maintenant accessible.

Supprimer le fichier install.php dans ocsreports, créer un nouveau compte rattaché au profil SuperAdministeur, et supprimer le compte par défaut (admin)

Configurer le HTTPS sur le serveur web

Pour utiliser la fonction de déploiement, il faut activer le SSL sur le serveur web, et le configurer correctement. Pour celà, il faut tout d'abord générer le certificat SSL. Il sera par la suite renommé en cacert.pem pour être placé dans le répertoire des agents.

Créer le certificat SSL

Créer les clés SSL publique et privée

   openssl genrsa -des3 -out nunux.key 1024

Si la commande est bien prise en compte, une passphrase vous est demandée :

   Generating RSA private key, 1024 bit long modulus
   .................++++++
   .........++++++
   e is 65537 (0x10001)
   Enter pass phrase for nunux.key: salut
   Verifying -
   Enter pass phrase for nunux.key:salut

Fixer la configuration

Enregistrer la passphrase dans le fichier pour ne pas avoir à la renseigner à chaque boot :

   mv nunux.key nunux-old.key
   openssl rsa -in nunux-old.key -out nunux.key

Si la commande est bien prise en compte, la passphrase vous est demandée :

   Enter pass phrase for ardonroyan-old.key: salut
   writing RSA key

Créer le certificat

   openssl req -new -key nunux.key -out nunux.csr

Vous devez répondre aux questions ci-dessous :

La réponse la plus importante est le CN du certificat. Il faut indiquer le hostname du serveur ou son adresse IP si pas de serveur DNS. Le contrôle SSL se base sur cette valeur. Si le contrôle SSL est activé sur les agents (obligatoirement sur l'agent unix unifié, configurable sur l'agent Windows avec l'option SSL=0/1), le serveur va comparer le CN du certificat de l'agent (cacert.pem) avec le hostname ou adresse IP du serveur web. D'où son importance.

       You are about to be asked to enter information that will be incorporated
       into your certificate request.
       What you are about to enter is what is called a Distinguished Name or a DN.
       There are quite a few fields but you can leave some blank
       For some fields there will be a default value,
       If you enter '.', the field will be left blank.
       -----
       Country Name (2 letter code) [AU]:FR
       State or Province Name (full name) [Some-State]:Region
       Locality Name (eg, city) :Ville
       Organization Name (eg, company) [Internet Widgits Pty Ltd]:Entreprise
       Organizational Unit Name (eg, section) :Service
       Common Name (eg, YOUR name) : LE HOSTNAME DU SERVEUR OU ADRESSE IP SI PAS DE SERVEUR DNS
       Email Address :moi@monFAI.com
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password :  <<<<------- vous n'êtes pas obligé de spécifier un mot de passe (ENTREE pour continuer)
       An optional company name :


Auto-signer le certificat

    openssl x509 -req -days 3650 -in nunux.csr -signkey nunux.key -out nunux.crt


Si la commande est bien prise en compte, ce message apparait :

   Signature ok
   subject=/C=FR/ST=Region/L=Ville/O=Entreprise/CN=hostname.domaine.local     /emailAddress=moi@monFAI.com
   Getting Private key


Mettre en place le certificat

On place ces 2 fichiers dans le répertoire des certificats :

   cp nunux.crt /etc/ssl/certs/
   cp nunux.key /etc/ssl/private/

Activer SSL

On vérifie le fichier default-ssl pour s'assurer que les chemins vers la clé et le certificats sont valides. Dans /etc/apache2/sites-available/default-ssl on doit retrouver ces lignes :

   SSLCertificateFile    /etc/ssl/certs/nunux.crt
   SSLCertificateKeyFile /etc/ssl/private/nunux.key

On peut maintenant activer le SSL, mais on va attendre d'avoir déclaré le VirtualHost SSL (chapitre 9)

Configurer php pour le déploiement de paquets

Pour pouvoir déployer des paquets OCS, ou tout simplement déployer l'agent sur des postes Windows via le Packager, il faut autoriser l'upload de gros fichiers. Par défaut, php n'autoriser pas l'upload de fichiers suppérieurs à 4Mo.

Modification de la configuration PHP

Il faut donc modifier le fichier php.ini

    max_execution_time = 180
    max_input_time = 180
    memory_limit = 256M
    upload_max_filesize = 300M   
    post_max_size = 300M  

Configurer le serveur OCS pour le déploiement de paquets

La configuration se fait en 2 temps.

Interdire http sur download

Par défaut, /download se trouve dans /var/lib/ocsinventory-reports

On peut maintenant interdire les accès en http à /download Pour celà, il faut modifier le fichier ocsinventory-reports.conf Dans /etc/apache2/conf.d/ocsinventory-reports.conf , déclarer l'alias /download et interdit à tous.

################################################################################
# Deployment packages download area
#
# Alias to put Deployement package files outside Apache document root directory
#
Alias /download "/var/lib/ocsinventory-reports/download"
    <Directory "/var/lib/ocsinventory-reports/download">
        deny from all
    </Directory>

Autoriser https sur download

Modifier /etc/apache2/sites-available/default-ssl pour autoriser l'accès aux répertoires en https.

 Alias /download /var/lib/ocsinventory-reports/download
    <Directory /var/lib/ocsinventory-reports/download>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

On peut maintenant activer la configuration SSL.

   a2ensite default-ssl

Et enfin, redémarrer apache.

   /etc/init.d/apache2 restart

On peut maintenant tester le résultat, via un navigateur.

http://serveur/download > Forbidden

https://serveur/download > OK

Ne reste plus qu'à sécuriser le tout en suivant la documentation du wiki : Sécuriser votre serveur OCS

Personal tools