أخبار
404
نعتذر , لا نستطيع ايجاد الصفحة المطلوبة
  • العودة الى الصفحة الرئيسية
  • ‏إظهار الرسائل ذات التسميات Administration. إظهار كافة الرسائل
    ‏إظهار الرسائل ذات التسميات Administration. إظهار كافة الرسائل

    الاثنين، 29 يونيو 2015

    الأحد، 31 مايو 2015

    isa server darija part1

    الثلاثاء، 28 أبريل 2015

    openldap

    Présentation

    LDAP est un protocole basé sur TCP/IP qui permet de partager des bases de données d'information sur un réseau interne (intranet) ou externe (internet). Ces bases de données sont appelées annuaire électronique (Directory en anglais), elles peuvent contenir tout type d'informations, des informations sur les personnes, à des données systèmes. Qui dit base de données, dit recherche, il est donc possible de faire des recherches dans la base en employant plusieurs critères, mais aussi bien sûr de la modifier, mais contrairement à un SGBD, un annuaire est très rapide en lecture, mais l'est beaucoup moins en écriture, en effet comme un annuaire est plutôt lu que modifier il a été optimisé pour la lecture et ne possède pas les mécanismes de transaction complexe que les SGBD possèdent pour traiter de gros volumes de données.Le LDAP ou Lightweight Directory Access Protocol est la version TCP/IP du protocole DAP, ce dernier étant le protocole pour accéder au protocole OSI du service d'annuaire

    X500. Dans un premier temps LDAP s'est contenté d'être l'interface à des annuaires X500, mais maintenant LDAP peut gérer complètement les bases (standalone LDAP).

    Installation d'OpenLDAP 

    libldap2-2.1.25-6mdk
    openldap-2.1.25-6mdk
    perl-ldap-0.31-2mdk
    openldap-servers-2.1.25-6mdk
    openldap-clients-2.1.25-6mdk
    Choix du suffixe
    Le rootDSE ou suffixe correspond à l'entrée tout en haut de l'arbre (DIT) de l'annuaire, on
    utilise généralement le nom de domaine, avec la syntaxe suivante dc=menara, dc=ma pour
    le domaine kervao.fr (dc correspond à Domain Component).

    Configuration du serveur LDAP

    On va créer un annuaire LDAP pour votre domaine privé menara.ma. On doit modifier les
    fichiers slapd.conf.
    #######################################################################
    # database definitions
    #######################################################################
    database ldbm
    suffix "dc=menara,dc=ma"
    rootdn "cn=Manager,dc=menara,dc=ma"
    #mot de passe en clair, on verra plus loin comment le crypter
    rootpw secret
    Le mot de passe de l'administrateur est secret en clair, si ça ne vous convient pas et que vous
    voulez le mettre crypté, il faudra taper (exemple avec secret) :
    slappasswd -v -s secret -h {CRYPT}
    Voilà le résultat
    {CRYPT}G.H5krNMMw0cc
    A la place de
    rootpw secret
    Dans slapd.conf, vous mettrez donc:
    rootpw {CRYPT}G.H5krNMMw0cc
    # Droits d'accès que j'ai rajoutés en plus
    access to attr=userPassword
    by self write
    by anonymous auth
    by dn="cn=Manager,dc=kervao,dc=fr" write
    by * none
    access to *
    by dn="cn=Manager,dc=kervao,dc=fr" write
    by * read

    Lancement du serveur

    Chkconfig ldap on
    Service ldap start

    Ajouter un enregistrement

    On va par exemple utiliser la classe breizPerson définie plus haut pour décrire une nouvelle
    personne Veronique Hoarau qu'on va rajouter dans l'annuaire. Elle appartient au service
    (organizationalUnit ) staff, ce même service appartenant à l'organisation kervao.fr
    Soit le fichier entree.ldif
    dn: dc=kervao, dc=fr
    objectClass: dcObject
    objectClass: organization
    dc: kervao
    o: kervao.fr
    dn: ou=staff, dc=kervao, dc=fr
    objectclass: organizationalUnit
    ou: staff
    dn: cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr
    objectclass: person
    objectclass: breizhPerson
    cn: Veronique Hoarau
    sn: Hoarau
    title: madame
    Quelques commentaires, le premier groupe correspond à la définition de votre organisation,
    le deuxième à celui du groupe de travail (organizationalUnit) et le dernier à la personne.
    Celle-ci est définie par son dn (Distinguished Name), on part du sommet bz (suffixe du nom de domaine), puis le nom de domaine, le groupe de travail et enfin la personne. L'arbre
    (DIT) pourrait ressembler à ça:
    cn=Véroniqu
    e Hoarau
    cn=Olivie
    r Hoarau
    Au niveau de la définition de la personne:
    objetclass: person définit la classe père de la classe breizPerson,
    objetclass: breizPerson classe décrivant la personne,
    cn et sn sont des attributs à renseigner obligatoirement,
    title est un attribut obligatoire
    On rajoutera l'enregistrement en utilisant la syntaxe suivante (en tant que simple utilisateur):
    ldapadd -x -D "description du dn de l'administrateur" -W -f nom-du-fichier-ldif
    Exemple concret:
    ldapadd -x -D "cn=Manager, dc=kervao, dc=fr" -W -f entree.ldif
    Enter LDAP Password: secret
    adding new entry "dc=kervao, dc=fr"
    adding new entry "ou=staff, dc=kervao, dc=fr"
    adding new entry "cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr"
    Pour rajouter par la suite un autre enregistrement dans le groupe staff , il sera plus nécessaire
    de rajouter la définition du groupe et de l'organisation. Soit le fichier entree.ldif
    dn: cn=Olivier Hoarau, ou=staff, dc=kervao, dc=fr
    objectclass: person
    objectclass: breizhPerson
    cn: Olivier Hoarau
    sn: Hoarau
    title: monsieur
    On tape ensuite la commande:
    ldapadd -x -D "cn=Manager, dc=kervao, dc=fr" -W -f entree.ldif
    Enter LDAP Password:
    adding new entry "cn=Olivier Hoarau, ou=staff, dc=kervao, dc=fr

    Rechercher un enregistrement

    On utilisera la fonction ldapsearch. Pour visualiser tout l'annuaire on peut taper :
    ldapsearch -x -b 'dc=kervao, dc=fr' '(objectclass=*)'
    Voilà le résultat
    # extended LDIF
    #
    # LDAPv3
    # filter: (objectclass=*)
    # requesting: ALL
    #
    # kervao, fr
    dn: dc=kervao, dc=fr
    objectClass: dcObject
    objectClass: organization
    dc: kervao.fr
    o: kervao.fr
    # staff, kervao, fr
    dn: ou=staff, dc=kervao, dc=fr
    objectClass: organizationalUnit
    ou: staff
    # Veronique Hoarau, staff, kervao, fr
    dn: cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr
    objectClass: person
    objectClass: breizhPerson
    cn: Veronique Hoarau
    sn: Hoarau
    title: madame
    # Olivier Hoarau, staff, kervao, fr
    dn: cn=Olivier Hoarau, ou=staff, dc=kervao, dc=fr
    objectClass: person
    objectClass: breizhPerson
    cn: Olivier Hoarau
    sn: Hoarau
    title: monsieur
    # search result
    search: 2
    result: 0 Success
    # numResponses: 5
    # numEntries: 4

    Modifier un enregistrement

    Rajouter un attribut à un enregistrement

    On va rajouter l'attribut facultatif location (l) à l'enregistrement Veronique Hoarau. On va
    créer un fichier modif.ldif contenant:
    dn: cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr
    add: l
    title: bureau36
    On tape ensuite
    ldapmodify -x -D "cn=Manager, dc=kervao, dc=fr" -W -f modif.ldif
    Enter LDAP Password:secret
    modifying entry "cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr"

    Modifier un attribut

    On va modifier l'attribut titre (title) à l'enregistrement Veronique Hoarau. On va créer un
    fichier modif.ldif contenant:
    dn: cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr
    changetype: modify
    replace: title
    title: mademoiselle
    On tape ensuite
    ldapmodify -x -D "cn=Manager, dc=kervao, dc=fr" -W -f modif.ldif
    Enter LDAP Password:secret
    modifying entry "cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr"

    Supprimer un attribut

    On va supprimer l'attribut location (l) à l'enregistrement Veronique Hoarau. On va créer un
    fichier modif.ldif contenant:
    dn: cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr
    delete: l
    On tape ensuite
    ldapmodify -x -D "cn=Manager, dc=kervao, dc=fr" -W -f modif.ldif
    Enter LDAP Password:secret
    modifying entry cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr

    Supprimer un enregistrement

    Pour supprimer l'enregistrement Veronique hoarau, on va créer un fichier modif.ldif
    contenant
    dn: cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr
    changetype: delete
    On tape ensuite:
    ldapmodify -x -D "cn=Manager, dc=kervao, dc=fr" -W -f modif.ldif
    Enter LDAP Password:secret
    deleting entry cn=Veronique Hoarau, ou=staff, dc=kervao, dc=fr
    ATTENTION Vous ne pouvez pas supprimer un attribut obligatoire comme title pour la
    classe breizhPerson.
    A présent dans le répertoire /usr/share/openldap/migration (si installation par package,
    sinon dans le répertoire MigrationTools-46) , on va modifier le fichier
    migrate_common.ph, on doit y indiquer son nom de domaine, comme ceci :
    # Default DNS domain
    $DEFAULT_MAIL_DOMAIN = "kervao.fr";
    # Default base
    $DEFAULT_BASE = "dc=kervao,dc=fr";
    Eventuellement vous pouvez modifier la ligne suivante spécifiant le serveur de mail bien que
    ce ne soit pas absolument nécessaire.
    $DEFAULT_MAIL_HOST = "mail.padl.com";
    A présent il faut rentrer les utilisateurs et groupes du système dans la base de données
    LDAP. Commençons d'abord par créer des fichiers temporaires au format ldif. On tape
    maintenant en tant que root (pour pouvoir lire /etc/shadow)
    ETC_SHADOW=/etc/shadow
    export ETC_SHADOW
    ./migrate_passwd.pl /etc/passwd /tmp/passwd.ldif
    ./migrate_group.pl /etc/group /tmp/group.ldif

    Configuration serveur et client

    Editer le fichier /etc/ldap.conf
    # Your LDAP server. Must be resolvable without using LDAP.
    # ici vous devez mettre l'adresse IP de votre serveur
    host 192.168.13.11
    # The distinguished name of the search base.
    # votre nom de domaine
    base dc=kervao,dc=fr
    # The distinguished name to bind to the server with.
    # Optional: default is to bind anonymously.
    # pour pouvoir se connecter à votre base
    binddn cn=Manager,dc=kervao,dc=fr
    # The credentials to bind with.
    # Optional: default is no credential.
    # le mot de passe qui va bien
    bindpw secret
    (...)
    # Filter to AND with uid=%s
    pam_filter objectclass=account
    # The user ID attribute (defaults to uid)
    pam_login_attribute uid
    (...)
    # Hash password locally; required for University of
    # Michigan LDAP server, and works with Netscape
    # Directory Server if you're using the UNIX-Crypt
    # hash mechanism and not using the NT Synchronization
    # service.
    # type de cryptage du mot de passe
    pam_password crypt
    # RFC2307bis naming contexts
    # Syntax:
    # nss_base_XXX base?scope?filter
    # where scope is {base,one,sub}
    # and filter is a filter to be &'d with the
    # default filter.
    nss_base_passwd ou=People,dc=kervao,dc=fr?one
    nss_base_shadow ou=People,dc=kervao,dc=fr?one
    nss_base_group ou=Group,dc=kervao,dc=fr?one
    Dans le fichier /etc/nsswitch.conf on modifiera les lignes suivantes pour lire
    passwd: files nis ldap
    shadow: files nis ldap
    group: files nis ldap
    Reprenons donc notre fichier login (rajoutez uniquement les lignes concernant pam_ldap et
    laissez les autres), il doit ressembler à ça :
    #%PAM-1.0
    auth required pam_securetty.so
    auth required pam_stack.so service=system-auth
    auth required pam_nologin.so
    auth sufficient /lib/security/pam_ldap.so
    account sufficient /lib/security/pam_ldap.so
    account required pam_stack.so service=system-auth
    password sufficient /lib/security/pam_ldap.so
    password required pam_stack.so service=system-auth
    session sufficient /lib/security/pam_ldap.so
    session required pam_stack.so service=system-auth
    session optional pam_console.so
    Le fichier su (rajoutez uniquement les lignes concernant pam_ldap et laissez les autres)
    ressemble à ça
    #%PAM-1.0
    auth sufficient pam_rootok.so
    auth required pam_stack.so service=system-auth
    auth sufficient /lib/security/pam_ldap.so
    account sufficient /lib/security/pam_ldap.so
    account required pam_stack.so service=system-auth
    password sufficient /lib/security/pam_ldap.so
    password required pam_stack.so service=system-auth
    session sufficient /lib/security/pam_ldap.so
    session required pam_stack.so service=system-auth
    session optional pam_xauth.so
    Modifiez aussi le fichier /etc/pam.d/smtp (rajoutez uniquement les lignes concernant
    pam_ldap et laissez les autres) car sinon vos mails vont se perdre dans la nature, le serveur
    smtp a besoin d'authentifier les utilisateurs.
    #%PAM-1.0
    auth required /lib/security/pam_stack.so service=system-auth
    auth sufficient /lib/security/pam_ldap.so
    account sufficient /lib/security/pam_ldap.so
    account required /lib/security/pam_stack.so service=system-auth
    Modifiez les autres fichiers sous /etc/pam.d qui seraient susceptibles de faire appel à
    l'authentification LDAP sur le même modèle.

    Test de fonctionnement

    C'est simple que ce soit sur le serveur ou le client, supprimer les lignes qui correspondent à
    vos utilisateur dans /etc/passwd, et /etc/shadow et faites de même pour vos groupes
    utilisateurs dans /etc/group. N'oubliez pas de faire une sauvegarde de ces fichiers au cas où !
    Maintenant essayer de vous loguer en tant que simple utilisateur, et là normalement, vous
    devriez vous loguer sans problème.

     

    الجمعة، 17 أبريل 2015

    تنصيب ndoutils و nagvis ل nagios (الجزء الرابع)

    تنصيب التطبيقات التي سيتم إحتياجها

    # apt-get install libmysql++-dev
    # apt-get install graphviz
    # apt-get install libgd2-noxpm
    # apt-get install libjson-xs-perl

    تنصيب ndoutils

    ndoutils هو إضافة ل nagios يقوم على تجميع معلومات nagios وتغييرها إلى قاعدة البيانات mysql ليتم إستعمالها من قبل البرامج الأخرى التي تستعمل nagios
    تحميل الحزمة
    أخر حزمة أستعملة 1.4b9
    تحميل أخر نسخة من هنا

    # wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz
    فك الضغط

    # tar -xvzf ndoutils-1.4b9.tar.gz

    دخول المجلد الذي تم إضافته من قبل فك الضغط

    # cd ndoutils-1.4b9
    اعداد الحزمة

    # ./configure
    نقوم ب كومبايل Compile لملفات الحزمة

    # make
    نقل الملفات الضرورية

    # cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
    # cp src/ndo2db-3x src/log2ndo src/file2sock /usr/local/nagios/bin/
    # cp config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
    # cp config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
    فتح ملف تعديلات nagios و تغيير أو إضافت
    *بدون إستعمال nagioql
    فتح ملف nagios.cfg

    # vim /usr/local/nagios/etc/nagios.cfg
    تغيير أو إضافت
    تغيير

    event_broker_options=-1
    إضافت
    broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
    *بإستعمال nagiosql
    فتح الملف ب tools و Nagios config ونقوم بإضافت وتغيير ونقوم بالحفض Save
    تغيير

    event_broker_options=-1
    إضافت

    broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
    إعطاء صلاحيات للمجلدات والملفات

    # chown nagios:nagios /usr/local/nagios/bin/*
    # chown nagios:nagios /usr/local/nagios/etc/ndo*

    إعادة تشغيل nagios

    # /etc/init.d/nagios restart
    إعداد قاعدة البيانات ل nagios
    دخول قاعدة البيانات mysql

    mysql -u root -p
    إضافة مستخدم ل mysql

    CREATE USER 'nagios'@'localhost' IDENTIFIED BY 'password';
    صلاحيات المستخدم

    GRANT SELECT , INSERT ,UPDATE ,DELETE ,CREATE ,DROP ,FILE ,INDEX ,ALTER ,CREATE TEMPORARY TABLES ,CREATE VIEW ,SHOW VIEW ,CREATE ROUTINE,ALTER ROUTINE,EXECUTE ON * . * TO 'nagios'@'localhost' IDENTIFIED BY 'password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
    إضافت قاعة البيانات

    CREATE DATABASE IF NOT EXISTS nagios ;
    إعطاء صلاحيات قاعدة البيانات لذالك المستخدم

    GRANT ALL PRIVILEGES ON nagios . * TO 'nagios'@'localhost';
    خروج

    exit;
    تنصيب معلومات قاعدة البيانات

    # cd db/
    ./installdb -u nagios -p password -h localhost -d nagios
    فتح الملف

    # vim /usr/local/nagios/etc/ndomod.cfg
    تغيير أو إضافت

    output_type=unixsocket
    output=/usr/local/nagios/var/ndo.sock
    فتح الملف

    # vim /usr/local/nagios/etc/ndo2db.cfg
    تغيير أو إضافت

    socket_type=unix
    socket_name=/usr/local/nagios/var/ndo.sock
    db_user=nagios
    db_pass=password
    الأن تشغييل ndoutils

    # /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
    إعادة تشغيل nagios

    # /etc/init.d/nagios restart
    إضافة:تشغييل ndoutils لا يتم أتوماتكيا علينا تشغيله يدويا لذالك علينا إضافته ليتم تشغيله عند فتح الحاسوب قمت بإضافته لى ملف الفتح التلقائي ل nagios
    فتح

    # vim /etc/init.d/nagios
    إضافت

    echo -n "Starting nagios:"
    $NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
    if [ $? -eq 0 ]; then
    su - $NagiosUser -c "/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg"
    su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"
    rm -f $NagiosCommandFile
    touch $NagiosRunFile
    .........
    echo -n "Stopping nagios: "
    pid_nagios
    killproc_nagios nagios
    su - $NagiosUser -c "skill ndo2db-3x"

    تنصيب nagvis

    nagvis هو برنامج مضاف إلى nagios لعمل رسومات 2d لشبكة الكمبيوت يمكننا من رأيت الأخطاء التى تحدث في الشبكة بمجرد رأية بسيطة
     تحميل التطبيق
    أخر حزمة أستعملة 1.4.4
    تحميل أخر نسخة من هنا

    # wget http://downloads.sourceforge.net/project/nagvis/NagVis%201.4%20%28stable%29/NagVis-1.4.4/nagvis-1.4.4.tar.gz
    فك الضغط عليه

    # tar xvzf nagvis-1.4.4.tar.gz
    دخول المجلد

    # cd nagvis-1.4.4
    تنصيب

    # ./install.sh
    معلومات التنصيب

    | Do you want to proceed? [y]:
    | Please enter the path to the nagios base directory [/usr/local/nagios]:
    | Please enter the path to NagVis base [/usr/local/nagios/share/nagvis]:
    | Do you want to use backend ndo2db [n]: y
    | Do you want to use backend ido2db [n]:
    | Do you want to use backend ndo2fs [n]:
    | Do you want to use backend merlin [n]:
    | Please enter the name of the web-server user [www-data]:
    | Please enter the name of the web-server group [www-data]:
    | Do you really want to continue? [y]:

    فتح الملف

    # vim /usr/local/nagios/share/nagvis/etc/nagvis.ini.php
    تغيير

    ; Path definitions
    [paths]
    ; absolute physical NagVis path
    base="/usr/local/nagios/share/nagvis/"
    ; absolute html NagVis path
    htmlbase="/nagios/nagvis"
    ; absolute html NagVis cgi path
    htmlcgi="/nagios/cgi-bin"
    .....
    [backend_ndomy_1]
    ; type of backend - MUST be set
    backendtype="ndomy"
    ; hostname for NDO-db
    dbhost="localhost"
    ; portname for NDO-db
    dbport=3306
    ; database name for NDO-db
    dbname="nagios"
    ; username for NDO-db
    dbuser="nagios"
    ; password for NDO-db
    dbpass="password"
    ; prefix for tables in NDO-db
    dbprefix="nagios_"
    ; instance name for tables in NDO-db
    ;dbinstancename="default"
    ; maximum delay of the NDO Database in seconds
    ;maxtimewithoutupdate=180
    ; path to the cgi-bin of this backend
    htmlcgi="/nagios/cgi-bin"
    دخول إلى nagvis

    http://< ip or localhost >/nagios/nagvis


     

        تنصيب nagiosql كإضافة ل Nagios (الجزء الثالث)


    nagiosql هو إضافة ل nagios لتسهيل إضافة وإزالة و تغيير إضافة الحواسيب أو الخودم إلى مراقبة nagios فهو يعمل بإستعمال تطبيق وييب يعمل ب php و pear و mysql

     

    تنصيب التطبيقات التي يحتاجها nagiosql

    # apt-get install unzip
    إضافة html_Template إلى pear

    pear install HTML_Template_IT

    إعداد وتنصيب nagiosql

    تحميل nagiosql أخر إصدار من هنا
    أخر إصدار أستعمل 3.0.3

    # wget http://downloads.sourceforge.net/project/nagiosql/nagiosql/NagiosQL%203.0.3/nagiosql303.zip
    فك الضغط

    #tar xzf nagiosql303.tar.gz
    تحويل الملف التي تم فك الغغط عليه إلى www إكي يمكننا إستعماله من خاصية الوييب

    # mv nagiosql3 /var/www/nagiosql
    نذهب إلى www

    # cd /var/www/

    وضع مجلدت ل nagiosql

    mkdir -p /etc/nagiosql/hosts
    mkdir -p /etc/nagiosql/services
    mkdir -p /etc/nagiosql/backup/hosts
    mkdir -p /etc/nagiosql/backup/services
    إعطاء ل nagiosql صلاحية تغيير و إضافت
    chown www-data /usr/local/nagios/etc/nagios.cfg
    chown www-data /usr/local/nagios/etc/cgi.cfg
    chmod 664 /usr/local/nagios/etc/nagios.cfg
    chmod 664 /usr/local/nagios/etc/cgi.cfg

    chmod -R 755 /etc/nagiosql/
    chown -R www-data:nagios /etc/nagiosql/
    إضافة قاعدة البيانات ل nagiosql لحفض التغييرات المستعملة
    الدخول إلى حساب root ل mysql

    # mysql -u root -p
    إضافت مستخدم nagioql ل mysql

    CREATE USER 'nagiosql'@'localhost' IDENTIFIED BY 'password';
    صلاحية المستخدم nagiosql

    GRANT SELECT ,INSERT ,UPDATE ,DELETE ,CREATE ,DROP ,FILE ,INDEX ,ALTER ,CREATE TEMPORARY TABLES ,CREATE VIEW ,SHOW VIEW ,CREATE ROUTINE,ALTER ROUTINE,
    EXECUTE ON * . * TO 'nagiosql'@'localhost' IDENTIFIED BY 'password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
    إضافت قاعدة البيانات nagiosql

    CREATE DATABASE IF NOT EXISTS nagiosql ;
    إعطاء صلاحية المستخدم nagiosql إلى قاعدة البيانات nagiosql

    GRANT ALL PRIVILEGES ON nagiosql . * TO 'nagiosql'@'localhost';
    الخروج

    exit;
    إعطاء صلاحة 777 إلى المجلد config ليتمكن nagiosql من إضافة التغييرات
    # chmod -R 777 /var/www/nagiosql/config/
    تفعيل التنصيب
    # echo "" > /var/www/nagiosql/install/ENABLE_INSTALLER

    تنصيب nagiosql

    نذهب إلى متصفح الويب وندخل إلى التطبيق nagioql وسيقوم أتماتيكيا بطلب تنصيبه
    http://< ip or localhost >/nagiosql
    نختار اللغة المناسبة ونختار تنصيب Start new installation

    إضافة معلومات قاعدة البيانات ل nagiosql
    معلومات قاعدة البيانات ل nagiosql
    معلومات كلمة السر لمستخدم root لقاعدة البيانات
    معلومات الدخول لحساب في nagiosql
     إنتهاء التنصيب nagiosql
    حذف مجلد التنصيب في nagiosql

    # rm -r /var/www/nagiosql/install/
    إعادة صلاحية المجلد config إلى المستمل الويب

    # chmod -R 755 /var/www/nagiosql/config/
    الأن نقوم بتغيير nagios.cfg
    فتح nagios.cfg

    # vim /usr/local/nagios/etc/nagios.cfg
    إزالت ما كان سابقا

    #cfg_file=/usr/local/nagios/etc/objects/commands.cfg
    #cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
    #cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
    #cfg_file=/usr/local/nagios/etc/objects/templates.cfg
    # Definitions for monitoring the local (Linux) host
    #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
    # Definitions for monitoring a Windows machine
    #cfg_file=/usr/local/nagios/etc/objects/windows.cfg
    وتغييره بمجلدات جديدة
    cfg_file=/etc/nagiosql/contacttemplates.cfg
    cfg_file=/etc/nagiosql/contactgroups.cfg
    cfg_file=/etc/nagiosql/contacts.cfg
    cfg_file=/etc/nagiosql/timeperiods.cfg
    cfg_file=/etc/nagiosql/commands.cfg
    cfg_file=/etc/nagiosql/hostgroups.cfg
    cfg_file=/etc/nagiosql/servicegroups.cfg
    cfg_dir=/etc/nagiosql/hosts
    cfg_dir=/etc/nagiosql/services
    cfg_file=/etc/nagiosql/hosttemplates.cfg
    cfg_file=/etc/nagiosql/servicetemplates.cfg
    cfg_file=/etc/nagiosql/servicedependencies.cfg
    cfg_file=/etc/nagiosql/serviceescalations.cfg
    cfg_file=/etc/nagiosql/hostdependencies.cfg
    cfg_file=/etc/nagiosql/hostescalations.cfg
    cfg_file=/etc/nagiosql/hostextinfo.cfg
    cfg_file=/etc/nagiosql/serviceextinfo.cfg
    قبل إعادة تشغيل nagios علينا إضافة تلك الملفات وذلك يتم من خاصية الويب
    نذهب إلى متصفح الوييب
    http://<IP or localhost >/nagiosql/
    الأن ندخل الإسم وكلمت المرور ونذهب إلى tools و Nagios Control ونضغط do it ل Write monitoring data و do it ل Write additional data

     بعد التغييرات
    نذهب إلى Administration و Domain ونغط نتعديل خيارات localhost

     ونغير مسار nagios ل nagiosql ونقوم بالحفض

     والأن يمكننا إعادة تشغييلnagios

    # /etc/init.d/nagios restart

     

    من قام بتنصيب pnp4nagios

    علينا إضافة إلى commands
    define command{
    command_name process-service-perfdata-file
    command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/perfdata/service-perfdata
    }
    define command{
    command_name process-host-perfdata-file
    command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/perfdata/host-perfdata
    }
    وذالك يتم بكل سهولة من nagiosql بالذهاب إلى commands ثم إلى definitions ونضغط add ونضيفهما

    إضافة ل host templates لكل من generic-host،generic-pinter،linux-server و windows-server

    /pnp4nagios/graph?host=$HOSTNAME$

    نفتح Supervision ثم host templates ونعدل كل من generic-host،generic-pinter،linux-server و windows-server ونضيف السطر السابق

     

    ومثله ل service templates إدراج

    /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$


     

     

    تنصيب pnp4nagios كإضافة ل Nagios (الجزء الثاني)

    pnp4nagios هو برنامج أو بالأحرى إضافة ل nagios تساعدنا على معرفت البيانات بخط زمني وهو برنامج مفتوح المصدر

     

    تنصيب التطبيقات التي يحتاجها pnp4nagios

    apt-get install librrd-dev librrds-perl librrdp-perl

    تنصيب pnp4nagios

    تحميل البرنامج أو الحزمة من هنا أخر إصدار
    أخر إصدار أستعمل 0.6.0

    # wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.0.tar.gz
    فك الضغط عن البرنامج

    # tar xvzf pnp4nagios-0.6.0.tar.gz
    نقوم بدخول المجلد الذي تم إنشائه عند فك الضغط

    # cd pnp4nagios-0.6.0
    اعداد الحزمة

    # ./configure --with-nagios-user=nagios --with-nagios-group=nagios
    نقوم ب كومبايل Compile لملفات الحزمة

    # make all

    تنصيب pnp4nagios
    يمكننا إستعمال الثلاثة

    # make install
    # make install-config
    # make install-init
    أو هذا

    # make fullinstall

    التعديلات

    تغيير أسماء بعض الملفات التي سنقوم بإحتياجها

    # mv /usr/local/pnp4nagios/etc/rra.cfg-sample /usr/local/pnp4nagios/etc/rra.cfg
    # mv /usr/local/pnp4nagios/etc/npcd.cfg-sample /usr/local/pnp4nagios/etc/npcd.cfg
    # mv /usr/local/pnp4nagios/etc/process_perfdata.cfg-sample /usr/local/pnp4nagios/etc/process_perfdata.cfg
    # mv /usr/local/pnp4nagios/etc/check_commands/check_nwstat.cfg-sample /usr/local/pnp4nagios/etc/check_commands/check_nwstat.cfg
    # mv /usr/local/pnp4nagios/etc/pages/web_traffic.cfg-sample /usr/local/pnp4nagios/etc/pages/web_traffic.cfg
    تغيير nagios.cfg
    فتح nagios.cfg

    # vim /usr/local/nagios/etc/nagios.cfg
    تغييره ليصبح بعض التعديلات مثل هذه

    process_performance_data=1
    enable_environment_macros=1
    service_perfdata_command=process-service-perfdata
    host_perfdata_command=process-host-perfdata
    service_perfdata_file=/usr/local/pnp4nagios/var/perfdata/service-perfdata
    service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
    service_perfdata_file_mode=a
    service_perfdata_file_processing_interval=15
    service_perfdata_file_processing_command=process-service-perfdata-file
    host_perfdata_file=/usr/local/pnp4nagios/var/perfdata/var/host-perfdata
    host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
    host_perfdata_file_mode=a
    host_perfdata_file_processing_interval=15
    host_perfdata_file_processing_command=process-host-perfdata-file
    broker_module=/usr/local/pnp4nagios/bin/npcdmod.o config_file=/usr/local/pnp4nagios/etc/npcd.cfg
    الأن فتح commands.cfg

    # vim /usr/local/nagios/etc/objects/commands.cfg
    نقم بتغير التعديلات لتصبح

    define command{
    command_name process-host-perfdata
    command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
    command_line /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /usr/local/nagios/var/host-perfdata.out
    }
    # 'process-service-perfdata' command definition
    define command{
    command_name process-service-perfdata
    command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
    command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out
    }
    وإضافة

    define command{
    command_name process-service-perfdata-file
    command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/perfdata/service-perfdata
    }
    define command{
    command_name process-host-perfdata-file
    command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/perfdata/host-perfdata
    }
    بعد التغييرات بعد
    فتح php.ini

    vim /etc/php5/apache2/php.ini
    تغيير

    magic_quotes_gpc = On
    لتصبح

    magic_quotes_gpc = Off
    تفعيل Apache Rewrite Module
    # a2enmod rewrite
    إعادة تشغيل Apache

    # /etc/init.d/apache2 restart
    الأن ندخل بمتسفح ويب http://<localhost or IP>/pnp4nagios/
    إذا لم يحصل أي خطئ مثل هذا, فذالك جيد

    جميع الحقوق محفوظة ل bbbb
    تصميم : moi