Catégorie : Linux

[Awstats] Installation et configuration pour postfix

Installation de awstats sous Squeeze :

apt-get install awstats

Configuration de awstats pour postfix :

cp /etc/awstats/awstats.conf /etc/awstats/awstats.postfix.conf 
cp /usr/share/doc/awstats/examples/maillogconvert.pl /usr/share/awstats

Ensuite il faut éditer le fichier de conf « /etc/awstats/awstats.postfix.conf » afin de personnaliser l’interface pour coller au mieux à postfix :

LogFile="/usr/share/awstats/maillogconvert.pl standard < /var/log/mail.log |"
LogType=M
LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
SiteDomain="mysteryland.emc.fr"
DirIcons="./icon"
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForSearchEnginesDetection=0
LevelForKeywordsDetection=0
LevelForFileTypesDetection=0
LevelForWormsDetection=0
ShowMonthStats=UHB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=0
ShowHostsStats=HBL
ShowRobotsStats=0
ShowEMailSenders=HBML
ShowEMailReceivers=HBML
ShowSessionsStats=0
ShowPagesStats=0
ShowFileTypesStats=0
ShowOSStats=0
ShowBrowsersStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=1

Création de la page web :

mkdir /var/www/awstats 
ln -s /usr/share/awstats/icon /var/www/awstats/icon

Génération des données :

/usr/lib/cgi-bin/awstats.pl -config=postfix -update

Génération des reports HTML :

/usr/lib/cgi-bin/awstats.pl -config=postfix -output -staticlink > /var/www/awstats/index.html

L’interface se trouve à l’adresse http://@IP/awstats

Pour une mise à jour automatique de l’interface il suffit de renseigner la crontab (crontab -e) :

*/5 * * * * /usr/lib/cgi-bin/awstats.pl -config=postfix -update
*/5 * * * * /usr/lib/cgi-bin/awstats.pl -config=postfix -output -staticlink > /var/www/awstats/index.html

Les rapports seront maintenant générés toutes les cinq minutes (à partir du fichier de log « mail.log »).

Il est bien évidement possible de modifier le fichier de configuration au niveau des UHBML afin de personnaliser différement l’interface.

[Cacti] Installation du plugin Weathermap

Installation du plugin Weathermap dans sa version 0.97a (necessite le plugin Architecture comme tout plugin Cacti) :

cd  /usr/share/cacti/site/plugins
wget http://www.network-weathermap.com/files/php-weathermap-0.97a.zip
unzip php-weathermap-0.97a.zip
sed -i -e "s/\$ENABLED\=false\;/\$ENABLED\=true\;/g" weathermap/editor.php

Configuration des droits :

chown www-data weathermap/configs -R
chown www-data /usr/share/cacti/site/plugins/weathermap/output -R

Activation du plugin au niveau de l’interface web :

User Management -> admin -> cocher [Plugin Management]
Plugin Management -> Install Old Plugin

Le plugin est maintenant installé et opérationnel.

[Cacti] Installation du plugin Architecture

Installation du plugin Architecture dans sa version 0.8.7g.

Téléchargement et extraction du plugin :

cd /tmp
wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz
tar xvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
cd cacti-plugin-arch

Installation, patchage et configuration :

cp cacti-plugin-0.8.7g-PA-v2.8.diff /usr/share/cacti/site/
cd /usr/share/cacti/site/
patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff
mysql -u root -p cacti < /tmp/cacti-plugin-arch/pa.sql
sed -i -e "s/\"\/\"/\"\/cacti\/\"/g" include/config.php

Le plugin est maintenant installé.

[Cacti] Installation du logiciel

Procédure d’installation de Cacti dans sa version 0.8.7g sous Squeeze.

Installation de la plateforme AMP :

apt-get install apache2 mysql-server php5 php5-cli snmp rrdtool phpmyadmin php-pear unzip patch

Le système demande plusieurs choses, à savoir la définition du mot de passe root de MySQL, le serveur web à utiliser, encore une fois le mot de passe root, etc. Il faut dans l’ordre répondre :

Nouveau mot de passe du superutilisateur de MySQL : MotDePasse
Confirmation du mot de passe du superutilisateur de MySQL : MotDePasse
Serveur web à reconfigurer automatiquement: Apache2
Faut-il configurer la base de données de phpmyadmin avec dbconfig-common : oui
Mot de passe de l’administrateur de la base de données : MotDePasse
Mot de passe de connexion MySQL pour phpmyadmin : laisser vide, il sera généré aléatoirement

On installe maintenant cacti :

apt-get install cacti cacti-spine

Encore des questions relatives à la configuration pour lesquelles il faut répondre :

Faut-il configurer la base de données de cacti avec dbconfig-common : oui
Mot de passe de l’administrateur de la base de données : MotDePasse
Mot de passe de connexion MySQL pour cacti : laisser vide, il sera généré aléatoirement
Type de serveur web: Apache2

Maintenant que Cacti est installé on peut acceder à l’interface Web à l’adresse :

http://@IP/cacti

Un petit assistant apparait où il suffit de cliquer sur « Next -> Next -> Finish »

Une fois sur l’écran de connexion, renseigner les identifiants par défaut (admin//admin) puis modifier le mot de passe comme souhaité.

Cacti est maintenant installé et fonctionnel.

[Debian] Test et gestion du RAID 1

Une fois le RAID 1 en place il peut être intéressant de tester son bon fonctionnement. Pour ce faire il suffit de débrancher un disque et de démarrer la machine. Si tout ce passe bien c’est que le RAID fonctionne. Une fois le disque rebranché le RAID ne se reconstruit pas automatiquement, de ce fait il faut d’abord reconstruire le RAID avant de tester le deuxième disque dur.

Visualiser l’état du RAID :

root@billy:~# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda5[0]
      77646776 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sda1[0]
      498676 blocks super 1.2 [2/1] [U_]

unused devices: 

Un coup d’oeil rapide et nous constatons qu’il manque un disque [2/1] et [U_] au lieu de [2/2] et [UU].

(suite…)

[Debian] Installer les VMware Tools

Installation des prérequis (kernel headers, gcc et quelques autres outils) :

apt-get install binutils cpp gcc make psmisc linux-headers-$(uname -r)

On monte les virtual tools au niveau du lecteur CD de l’host puis on monte le CD sous Debian :

mount /dev/cdrom /mnt/

On copie l’archive des VMware Tools qu’on extrait par la suite :

cp /mnt/VMwareTools-8.6.0-425873.tar.gz /tmp/VMWareTools-8.4.2-261024.tar.gz
cd /tmp/
tar zxf VMWareTools-8.4.2-261024.tar.gz

Pour finir, on lance l’installation :

cd vmware-tools-distrib
perl vmware-install.pl

Si tout va bien il suffit de valider par entrée à chaque question et les VMware Tools seront installés.

[Linux] Connexion via clé publique

Voici la marche à suivre afin de pouvoir se connecter à un serveur Debian en SSH avec une clé publique.

Création du dossier .ssh de l’utilisateur :

cd ~
mkdir .ssh
chmod 700 .ssh

Création du fichier authorized_keys et copie de la clé publique à l’intérieur :

vi .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

A noter que la clé doit être collée au format « ssh-rsa ******************* » sans indentation et saut de ligne.

Après redémarrage du service l’authentification par clé publique sera possible.

Dans un soucis de sécurité il peut être interessant de desactiver l’authententification par mot de passe. Pour ce faire il suffit de décommenter dans le sshd_config la ligne contenant « PasswordAuthentification » et passer sa valeur à « no ».

sed -i -e "s/\#PasswordAuthentication yes/PasswordAuthentication no/g" /etc/ssh/sshd_config

Après un petit redemarrage du service seuls les utilisateurs autorisés à se connecter par clé pourront avoir accès au serveur (les tentives de connexion sans certificats se verront expressements rejetés pour faute de méthode d’authentification disponible).

[Cyrus] Valeurs des ACL

Les ACL peuvent prendre comme valeur : none, read (lrs), post (lrsp), append (lrsip), write (lrswipcd), all (lrswipcda), ou n’importe quelle combinaison faite a partir des droits :

l

Lister les messages (LIST/LSUB/UNSEEN)

r

Lire les messages (SELECT, CHECK, FETCH, PARTIAL, SEARCH, COPY)

s

Marquer les messages comme lus (STORE \SEEN)

w

Ecrire des messages (\SEEN \DELETED)

i

Insérer des messages (APPEND, COPY)

p

Envoyer des messages

c

Créer et supprimer des sous-boites (CREATE, RENAME, DELETE)

d

Supprimer des messages (STORE \DELETED, EXPUNGE)

a

Changer les ACL de la boite (SETACL)

[Cyrus] Gestion des droits

Connexion à cyrus :

cyradm –user cyrus localhost

Affichage de la liste d’accès ou ACL de la BAL souhaitée avec la commande lam :

localhost> lam user/support@em-corporation.fr
support@em-corporation.fr lrswipcda
cyrus lrswipcda

Ajout des droits en lecture sur toute la boite support à l’utilisateur souhaité :

localhost> sam support@em-corporation.fr johan@em-corporation.fr lrs

Vérification :

localhost> lam user/support@em-corporation.fr
support@em-corporation.fr lrswipcda
johan@em-corporation.fr lrs
cyrus lrswipcda

Suppression d’accès sur une BAL :

localhost> deleteacl user/support@em-corporation.fr johan@em-corporation.fr

Vérification :

localhost> lam user/support@em-corporation.fr
support@em-corporation.fr lrswipcda
cyrus lrswipcda

A noter que les droits donnés aux utilisateurs sont toujours affiché sur les BAL qui partagent les données.

[Perl] Connexion et requête MySQL

Marche à suivre pour se connecter à une base MySQL, y effectuer une requête de type SELECT et récupérer le(s) résultat(s).

use DBI();

$database="nom_base";
$hostname="hostname";
$login = "login";
$mdp = "password";
$dsn = "DBI:mysql:database=$database;host=$hostname";
$dbh = DBI->connect($dsn, $login, $mdp) or die "Echec connexion";

$requete = "REQUETE SQL";

$sth = $dbh->prepare($requete);
$sth->execute();

while(my @row = $sth->fetchrow_array)
{
		$var1=$row['0'];
		$var2=$row['1'];
}

$sth -> finish;
$dbh -> disconnect;