Aller au contenu

[Tuto] Installation de Cacti


hpsmartyz

Messages recommandés

Salut, super tuto B)

j'utilise phpmyadmin comme serveur sql faut-il quand même installer (MySQL, PHP)

j'utilise déjà plusieurs sites en php qui utilise la base de donnée, j'ai essayer d'installer Cacti en lui indiquant le nom de la base que j'ai importer "cacti.sql", le login et le mot de passe de la base de donnée ou il doit ce connecter mais cela ne fonctionne pas ...:(

merci de vos réponses

Edit1: Bha je comprend pas ... je test plusieurs rien et il fonctionne maintenant ... ;)

encore merci pour ce tuto.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 2 semaines après...

Mon dernier message sur le syslog :

Cacti[1706]: CMDPHP: ERROR: SQL Assoc Failed!, Error:'1146', SQL:"SELECT 1 AS id, ph.name, ph.file, ph.function FROM plugin_hooks AS ph LEFT JOIN plugin_config AS pc ON pc.directory=ph.name WHERE ph.status = 1 AND hook = 'top_header' AND ph.name IN ('settings', 'boost', 'dsstats') UNION SELECT pc.id, ph.name, ph.file, ph.function FROM plugin_hooks AS ph LEFT JOIN plugin_config AS pc ON pc.directory=ph.name WHERE ph.status = 1 AND hook = 'top_header' AND ph.name NOT IN ('settings', 'boost', 'dsstats') ORDER BY id ASC"

et puis plus rien ...

Je viens pourtant de lancer la requete via phpmyadmin et je ne rencontre aucun soucis à l'execution de la requete...

:(

Lien vers le commentaire
Partager sur d’autres sites

Tutoriel d'installation de Cacti

- réalisé sur un Synology DS710+ mais directement applicable à tout autre modèle (doté d'un firmware équivalent) -

Dernière mise à jour le 08/03/2011

---

Linux version (cat /proc/version): 2.6.32.12

BusyBox version (busybox): 1.16.1

Firmware version: 3.0-1372, 3.0-1594

Apache version (/usr/syno/apache/bin/httpd -v): 2.2.16

MySQL Server version: 5.1.49

PHP version (php -v): 5.3.3

Perl version (perl -v): 5.8.6

Cacti version: 0.8.7g

Pré-requis:

Cette installation requiert l'utilisation d'IPKG et que vous soyez connectés sous Telnet en root.

Installation des composants de base:

Cacti nécessite MySQL, PHP, RRDTool, Net-SNMP, Perl, et un serveur web supportant PHP comme Apache

Perl est déjà installé, ainsi que PHP.

Apache est déjà installé mais pas forcément actif. Pour l'activer, veuillez vous référer au manuel utilisateur de votre Synology.

MySQL est déjà installé mais pas forcément actif. Pour l'activer, veuillez vous référer au manuel utilisateur de votre Synology.

Pour ce qui est de RRDTool, et Net-SNMP, ils n'existent tout simplement pas sur le Synology. Il faudra donc les installer.

Un démon SNMP (snmpd) est disponible sur le Synology. Il permet, une fois activé, de répondre à des requêtes SNMP. Il n'assure donc pas la même fonctionnalité que Net-SNMP. Ce dernier, une fois installé, permettra par contre aussi de répondre à des requêtes SNMP. Je déconseille donc d'activer le SNMP du Synology. La petite subtilité et incertitude est Net-SNMP est-il capable d'exploiter les MIBs venant avec snmpd ...

Mise à jour de la liste des paquets IKPG

shell> ipkg update

Installation de rrdtool

shell> ipkg info rrdtool

Package: rrdtool

Version: 1.2.30-1

Depends: zlib, libpng, freetype, libart

Status: unknown ok not-installed

Section: misc

Architecture: i686

maintainer: NSLU2 Linux <nslu2-linux@yahoogroups.com>

MD5Sum: 759ffac3e149475d4b3e3d5c792153ba

Size: 661784

Filename: rrdtool_1.2.30-1_i686.ipk

Source: http://oss.oetiker.ch/rrdtool/pub//rrdtool-1.2.30.tar.gz

Description: Round-Robin Database tool. Database collator and plotter


Successfully terminated.
shell> ipkg install rrdtool
Installing rrdtool (1.2.30-1) to root...

Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/rrdtool_1.2.30-1_i686.ipk

Installing zlib (1.2.5-1) to root...

Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/zlib_1.2.5-1_i686.ipk

Installing libpng (1.2.44-1) to root...

Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/libpng_1.2.44-1_i686.ipk

Installing freetype (2.3.6-1) to root...

Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/freetype_2.3.6-1_i686.ipk

Installing libart (2.3.17-2) to root...

Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/libart_2.3.17-2_i686.ipk

Configuring freetype

Configuring libart

Configuring libpng

Configuring rrdtool

Configuring zlib

Successfully terminated.
Installation de net-snmp shell> ipkg info net-snmp
Package: net-snmp

Version: 5.4.2.1-1

Depends: openssl

Status: unknown ok not-installed

Section: net

Architecture: i686

maintainer: NSLU2 Linux <nslu2-linux@yahoogroups.com>

MD5Sum: 10d80bd6724443c582f8de8fc98f4eb9

Size: 1541418

Filename: net-snmp_5.4.2.1-1_i686.ipk

Source: http://easynews.dl.sf.net/sourceforge/net-snmp/net-snmp-5.4.2.1.tar.gz

Description: net-SNMP is a suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6


Successfully terminated.
shell> ipkg install net-snmp
Installing net-snmp (5.4.2.1-1) to root...

Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/net-snmp_5.4.2.1-1_i686.ipk

Installing openssl (0.9.-1) to root...

Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/openssl_0.9.-1_i686.ipk

Configuring net-snmp

Configuring openssl

Successfully terminated.
Configuration des composants de base: Net-SNMP Je n'ai rien eu à faire concernant la configuration de Net-SNMP. Le manuel de Cacti indique certaines choses à modifier dans le fichier de configuration mais dans celui mis à disposition via IPKG il n'y avait aucune des entrées indiquées (par le manuel de Cacti) comme devant être modifiée. Je n'ai donc rien fait. Notez que j'utilise SNMP v2. Si vous voulez utiliser des versions ultérieures il vous sera peut-être nécessaire de modifier le fichier de configuration de Net-SNMP en plus d'avoir à configurer certaines choses sous Cacti. Apache Il faut que le ficher de configuration d'Apache contienne:

AddType application/x-tar .tgz

AddType application/x-httpd-php .php

AddType image/x-icon .ico

DirectoryIndex index.php index.html index.html.var
Or par défaut /usr/syno/apache/conf/httpd.conf-user du Synology contient les lignes suivantes donc ce devrait être bon.

AddType application/x-gzip .gz .tgz

AddType image/x-icon .ico

AddType application/x-httpd-php .php

DirectoryIndex index.html index.htm index.cgi index.php index.php3
PHP Le fichier de configuration de PHP est: /usr/syno/etc/php.ini La configuration suivante est définie sur la base d'un fichier php.ini n'ayant subi aucune modification (c.a.d. dans l'état où il se trouve après une première installation du Synology). Il faut:
safe_mode = Off
A titre d'information, au cas où la variable ne soit pas dans l'état indiqué, elle se trouve à la ligne 338 du fichier de configuration (pour le firmware v1354) Il faut aussi:
safe_mode_exec_dir =
Il se peut que cette variable ne soit pas vide dans certaines conditions. Commentez alors la ligne en insérant un ';' (point-virgule) au début de la ligne où figure la déclaration de cette variable puis créez une nouvelle ligne avec cette variable déclarée à vide. Ces variables sont de toute façon obsolètes depuis la version 5.3.0 de PHP et je suppose que Synology a pris cela en compte ... Attention: Depuis DSM 3.1 l'état de la variable safe_mode_exec_dir ne se défini plus dans /usr/syno/etc/php.ini mais dans /usr/syno/etc/php/user-setting.ini Par ailleurs les variables de ce fichier doivent en fait être paramétrées depuis l'interface d'administration (Panneau de configuration>Services web>Paramètres PHP). A cet endroit, donc, décocher la case "Activer la limitation d'accès PHP safe_mode_exec_dir" Assurez vous que la variable date.timezone est définie. Si besoin mettez la à la valeur qui vous correspond. La liste des fuseaux horaires supportés est disponible ici. Dans l'interface d'administration (Panneau de configuration>Services web>Paramètres PHP), rajouter
:/opt/bin:/opt/share/rrdtool/fonts
à la variable open_basedir Pour information, les changements faits s'appliquent au fichier /usr/syno/etc/php/user-setting.ini Pour finir, assurez vous que l'extension 'Sockets' (sockets.so) est sélectionnée dans la liste des extensions PHP. Cela permettra d'éviter l'erreur suivante:
The following PHP extensions are missing:  	* sockets

lors de l'execution de Cacti.

MySQL

MySQL intègre par défaut deux utilisateurs 'root' et '' (anonyme) qui n'ont pas de mot de passe associé: http://dev.mysql.com...privileges.html

Il est recommandé de définir un mot de passe pour l'utilisateur root (http://www.nas-forum...oot-et-anonyme/

Dans les commandes qui vont suivre, remplacez password par le mot de passe que vous aurez choisi et nom-hote par le nom d'hôte de votre Synology.

Pour savoir quel est votre nom d'hôte:

shell> cd /usr/syno/mysql/bin

shell> ./mysql -u root

mysql> SELECT Host, User FROM mysql.user;

mysql> exit

Recherchez une ligne qui contient root dans la colonne User et quelque chose d'autre que localhost dans la colonne Host.

shell> cd /usr/syno/mysql/bin

shell> ./mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password');

mysql> SET PASSWORD FOR 'root'@'nom-hote' = PASSWORD('password');

mysql> FLUSH PRIVILEGES;

mysql> exit

Ces opérations doivent être réalisables via phpMyAdmin, plutôt qu'en ligne de commande.

A partir de ce point, il est considéré qu'un mot de passe a été défini pour le compte root de MySQL et donc l'option -p est utilisée dans les lignes de commande.

Note: Pour des questions de "sécurité", je vous engage à supprimer l'historique des commandes passées sous mysql, historique qui se trouve dans votre home (et donc /root)

shell> cd /root

shell> cat /dev/null > ~/.mysql_history

ou bien:

shell> cd /root

shell> $ > ~/.mysql_history

Lien vers le commentaire
Partager sur d’autres sites

Installation et Configuration de Cacti:

Téléchargement de Cacti

Télécharger Cacti ici: http://cacti.net/download_cacti.php (prendre la version pour Linux/Unix)

et copier l'archive dans un répertoire sur votre Synology, par exemple /tmp

Extraction de Cacti

Dans le répertoire où l'archive a été copiée:

shell> tar -zxvf cacti-0.8.7g.tar.gz

Puis, déplacer Cacti vers le dossier web

shell> mv cacti-0.8.7g cacti/

shell> mv cacti /var/services/web/

Installation des patchs

Les patchs sont des corrections du code source de Cacti qui font suite à l'identification et la confirmation de l'existence de bugs.

Les patchs se téléchargent ici: http://www.cacti.net...oad_patches.php

Il existe deux méthodes pour appliquer ces patchs:

La première, automatique, fait appel au binaire patch selon une commande de la forme:

shell> patch -p1 -N < nomdupatch.patch

qu'il faut appliquer dans le répertoire /var/services/web/cacti/ et ce après avoir copié le fichier .patch dans ce répertoire. Le problème est que le Synology ne dispose pas par défaut de ce binaire... Si vous désirez réaliser l'opération de façon automatique alors il faut utiliser une autre machine Linux sur laquelle il vous faut extraire l'archive Cacti, appliquer les patchs puis récupérer les fichiers source modifiés pour les recopier finalement sur votre Synology.

La seconde méthode consiste à modifier les fichiers concernés un a un.

Les fichiers .patch sont en fait de simples fichiers texte, il suffit donc de les ouvrir et de regarder les opérations à faire.

Le chemin et nom du fichier à modifier sont indiqués au sein du fichier
.patch

Les lignes commençant par un moins (-) sont à supprimer du fichier à modifier.

Les lignes commençant par un plus (+) sont à ajouter au fichier à modifier.

Fort heureusement, il existe une alternative: pour vous simplifier la tâche, vous pouvez trouver en zone téléchargements (ici) les fichiers déjà patchés. Ces fichiers sont organisés au sein de l'archive selon une arborescence identique à celle de Cacti sur votre Synology.

Les fichiers modifiés sont:

lib/api_data_source.php
(modifié par
data_source_deactivate.patch
)

graph_view.php
(modifié par
graph_list_view.patch
)

lib/html_form.php
(modifié par
html_output.patch
)

lib/data_query.php
(modifié par
html_output.patch
)

data_sources.php
(modifié par
html_output.patch
)

graphs.php
(modifié par
html_output.patch
)

lib/ldap.php
(modifié par
ldap_group_authenication.patch
)

script_server.php
(modifié par
script_server_command_line_parse.patch
)

lib/ping.php
(modifié par ping.patch)

lib/database.php
(modifié par
poller_interval.patch
)

poller.php
(modifié par
poller_interval.patch
)

Définition des droits

Les opérations précédentes peuvent être telles que les fichiers décompressés et/ou installés ne portent pas les bonnes permissions. On corrige cela par:

shell> cd /var/services/web

shell> chown root:root -R cacti

shell> chmod 755 cacti

shell> cd cacti

shell> find . -type f -exec chmod 644 '{}' \;

shell> find . -type d -exec chmod 755 '{}' \;

Création d'un utilisateur et d'un groupe associés à Cacti

Via l'interface d'administration créer un groupe (à définir, ci-dessous référencé par nom-du-groupe-cacti) puis un utilisateur (à définir, ci-dessous référencé par nom-du-user-cacti) associés à Cacti. Définir cet utilisateur comme membre de ce groupe. Inutile de donner un quelconque droit à cet utilisateur sur les dossiers partagés ni sur les applications.

Il faut ensuite affiner la création de ce nouveau compte.

Pour cela il faut tout d'abord récupérer le numéro de groupe de nom-du-groupe-cacti

shell> more /etc/group | grep nom-du-groupe-cacti

On obtient une ligne ayant le format suivant:

nom-du-groupe-cacti:x:numero-du-groupe:nom-du-user-cacti
Ensuite, on va, d'un seul coup * modifier le groupe par défaut de l'utilisateur nom-du-user-cacti le groupe par défaut de nom-du-user-cacti est 100 (users), on va le changer en numero-du-groupe * modifier le home de l'utilisateur nom-du-user-cacti le home par défaut est /var/services/homes/nom-du-user-cacti, on va le changer en /var/services/web/cacti Pour ces deux points, il faut modifier le fichier /etc/passwd shell> vi /etc/passwd et changer la ligne suivante:
nom-du-user-cacti:x:numero-utilisateur:100::/var/services/homes/nom-du-user-cacti:/sbin/nologin
en
nom-du-user-cacti:x:numero-utilisateur:numero-du-groupe::/var/services/web/cacti:/sbin/nologin
Notez que l'on pourrait peut-être aussi définir /bin/false comme shell pour nom-du-user-cacti. En effet /bin/false était utilisé par le Synology dans des firmware antérieurs. Aujourd'hui le Synology utilise /sbin/nologin et en effet /etc/shells liste bien /sbin/nologin (mais pas /bin/false) mais nologin n'apparait pas dans /sbin. Informations sur le shell /bin/false: http://www.cure.nom....l-binfalse.html mais certains disent que les utilisateurs peuvent encore se connecter en ssh http://www.dedibox-n...88-probleme-ssh Création de la base de données de Cacti Choisir un nom pour la base de données, ci-dessous référencée par nom-de-la-base shell> cd /usr/syno/mysql/bin shell> ./mysqladmin --user=root -p create nom-de-la-base référence pour mysqladmin : http://dev.mysql.com...mysqladmin.html Import de la base de données par défaut shell> cd /usr/syno/mysql/bin shell> ./mysql -u root -p nom-de-la-base < /var/services/web/cacti/cacti.sql Création, dans mysql, d'un utilisateur de la base nom-de-la-base et définition des droits Cela se fait en donnant directement des droits à un utilisateur donné. références: http://dev.mysql.com...0/fr/mysql.html http://dev.mysql.com...ding-users.html http://dev.mysql.com...0/fr/grant.html http://dev.mysql.com...t-password.html J'ai donné à l'utilisateur de la base le même nom que celui Linux (nom-du-user-cacti) et ne change pas le mot de passe pour root: shell> cd /usr/syno/mysql/bin shell> ./mysql -u root -p mysql> GRANT ALL PRIVILEGES ON nom-de-la-base.* TO 'nom-du-user-cacti'@'localhost' IDENTIFIED BY 'mot-de-passe'; mysql> GRANT ALL PRIVILEGES ON nom-de-la-base.* TO 'nom-du-user-cacti'@'nom-hote' IDENTIFIED BY 'mot-de-passe'; mysql> GRANT ALL PRIVILEGES ON nom-de-la-base.* TO 'root'@'localhost'; mysql> GRANT ALL PRIVILEGES ON nom-de-la-base.* TO 'root'@'nom-hote'; mysql> FLUSH PRIVILEGES; mysql> exit Note: Pour des questions de "sécurité", je vous engage à supprimer l'historique des commandes passées sous mysql, historique qui se trouve dans votre home (et donc /root) shell> cd /root shell> cat /dev/null > ~/.mysql_history ou bien shell> cd /root shell> $ > ~/.mysql_history Changement des droits sur les répertoires de Cacti shell> chown -R nom-du-user-cacti:nom-du-groupe-cacti /var/services/web/cacti/rra /var/services/web/cacti/log shell> chmod 666 /var/services/web/cacti/log/cacti.log Cette seconde commande permet une gestion (et notamment l'effacement) du fichier de log de Cacti, depuis l'interface de contrôle. Autrement l'utilisateur 'nobody' sous lequel tourne le serveur Apache ne dispose pas des droits pour effacer le fichier.
A ce stade vous pouvez, si vous le désirez, installer la PIA (voir deux messages plus bas) puis revenir prendre le cours normal du tutoriel.
Édition du fichier de configuration de Cacti shell> vi /var/services/web/cacti/include/config.php Il contient par défaut ces lignes:
$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cactiuser";

$database_password = "cactiuser";
Remplacer le texte entre guillemets par les informations spécifiques à votre installation. Je ne sais pas pourquoi mais
$database_hostname = "nom-hote";
ne semble pas fonctionner. J'ai donc laissé la ligne
$database_hostname = "localhost";
telle qu'elle. MS_Totor propose pour régler ce point de modifier le fichier /etc/hosts de sorte à ce qu'il contienne au moins:
127.0.0.1 localhost nom-hote

XXX.XXX.XXX.XXX nom-hote

où XXX.XXX.XXX.XXX est l'adresse IP de votre Synology sur votre réseau interne (exemple 192.168.1.050) et nom-hote le nom de votre Synology mentionné plus haut.

MS_Totor suggère aussi de rebooter le Synology après une telle modification.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.