avril 23rd, 2011
Monit est un petit utilitaire sous Linux permettant la surveillance des services, périphériques et fichiers d'un serveur. Lorsequ'un élément surveillé change d'état, il envoie une notification par mail et peut effectuer les actions préalablement définies. Léger et simple à configurer, Monit adapté aux réseaux de petite taille, ou aux environnements ne nécessitant pas une solution telle que Nagios ou Zenoss.


Site Officiel
Documentation
Installation et configuration de Monit sur Ubuntu Server
I - Installation et configuration basique
1 -Installer via aptitude, Monit étant disponible à partir des dépôts officiels
apt-get install monit
2 -Editer /etc/monit/monitrc de la manière suivante:
set daemon 120 # Délai de rafraichissement 2 min
set logfile syslog facility log_daemon
# Serveur, expéditeur et destinataire pour le courrier d'alerte
set mailserver localhost
set mail-format { from: monit@domai.ne }
set alert user@domai.ne
# Port d'écoute et activation du SSL (générer un certificat SSL) pour l'interface web
set httpd port 2812 and
SSL ENABLE
PEMFILE /etc/ssl/certifica t.pem
# Nom d'utilisateur et mot de passe
allow admin:mot-de-passe
# Charge les fichiers fichiers de configuration des sondes dans le répertoire conf.d
include /etc/monit/conf.d/*
3 -Editer /etc/default/monit de la manière suivante:
startup=1
4 - Lancer le démon
service monit start
A partir de là, l'interface web devrait être accessible à l'adresse http://localhost:2812
II - Configuration des sondes
Comme défini précédement dans le fichier monitrc, la configuration des sondes est chargée depuis le repertoire conf.d. Pour des raisons de commodité, il est conseiller de créer 1 fichier par sonde.
Monitoring du démon ssh:
check process sshd with pidfile /var/run/sshd.pid
group ssh
start program "/etc/init.d/ssh start"
stop program "/etc/init.d/ssh stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout
Monitoring du démon apache:
check process httpd with pidfile /var/run/apache2.pid
group apache
start program = "/etc/init.d/apache2 start"
stop program = "/etc/init.d/apache2 stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout
if cpu is greater than 85% for 2 cycles then alert
if cpu > 90% for 5 cycles then restart
if children > 250 then restart
Monitoring du démon samba:
check process smbd with pidfile /var/run/samba/smbd.pid
group samba
start program = "/etc/init.d/smbd start"
stop program = "/etc/init.d/smbd stop"
if failed host 192.168.7.4 port 139 type TCP then restart
if 5 restarts within 5 cycles then timeout
Monitoring du démon mysql:
check process mysql with pidfile /var/lib/mysql/ns4.pid
group database
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if failed host localhost port 3306 protocol mysql then restart
if 5 restarts within 5 cycles then timeout
Monitoring du démon postfix:
check process postfix with pidfile /var/spool/postfix/pid/master.pid
group mail
start program = "/etc/init.d/postfix start"
stop program = "/etc/init.d/postfix stop"
if failed port 25 protocol smtp then restart
if 5 restarts within 5 cycles then timeout
Monitoring du démon dovecot:
check process dovecot with pidfile /var/run/dovecot/master.pid
start program = "/etc/init.d/dovecot start"
stop program = "/etc/init.d/dovecot stop"
group mail
if failed host ns4.net32.lan port 993 type tcpssl sslauto protocol imap for 5 cycles then restart
if 3 restarts within 5 cycles then timeout
Monitoring de la partition sde1:
check device sda1 with path /dev/sde1
if space usage > 85% then alert
group system
Monitoring d'un switch réseau:
check host cisco-SLM2008 with address 192.168.0.32
if failed icmp type echo count 5 with timeout 15 seconds
then alert
Notes Connexes:
Catégories: Procédures |
Mots-clefs :Linux, Monitoring, Serveur | Commentaires fermés
février 12th, 2011

Il est parfois nécessaire de connaitre le chemin absolu de son répertoire sur le serveur d'hébergement, et notamment afin de faire fonctionner certains scripts en PHP. Dans le cadre d'un hébergement mutualisé, il n'est pas toujours évident de connaitre cette arborescence, rarement précisé par l'hébergeur. Souvent, les clients hébergés ont un répertoire respectif sous l'arborescence /home, mais cela peux varier.
Il existe cependant une fonction PHP permettant d'afficher cette information facilement. Il faudra donc créer sur le serveur une page PHP avec le code suivant, puis l’exécuter depuis un navigateur.
Exemple: absolute-path.php
<?php
echo $_SERVER['DOCUMENT_ROOT']
?>
Notes Connexes:
Catégories: Notes |
Mots-clefs :Serveur, Web | Commentaires fermés
janvier 28th, 2011
Sous licence LGPL, Ajaxplorer est une interface web AJAX permettant la gestion de fichiers distants. Il nécessite seulement un serveur web avec PHP 5.1, ce qui le rend compatible avec la plupart des hébergeurs. Léger et simple d'administration, Ajaxplorer n'en demeure pas moins souple et riche en fonctionnalités grâce à son système de "plugins". Il sera utile pour gérer un site internet ou pour partager des données sur un intranet.

Résumé des fonctionnalités:
- - Gestion de fichiers distants (upload/download, déplacer, renommer, éditer, archiver)
- - Gestion des utilisateurs et permissions (Authentification possible via Sql ou LDAP)
- - Configuration de dépôts locaux ou distants (système de fichier local, FTP/SFTP, WebDAV)
- - Édition de base de données Mysql locale ou distante
- - Streaming audio et vidéo, diaporama images,
- - Édition de fichiers texte
Site Officiel
Téléchargement
Installation:
- Télécharger et extraire l'archive Ajaxplorer sur le serveur web.
- Effectuer une première connexion afin de définir le mot de passe admin (par défaut admin/admin).
Veillez à ce que les répertoires suivant soient inscriptibles:
- /files
- /server
- /server/user
- /server/logs
- /server/conf
Configuration:
La configuration se fait dans le fichier /server/conf/conf.php ou directement via l'interface admin.
Quelques paramètres utiles:
$dft_langue=’en‘
/ Language par défaut de l'interface ("fr" pour franciser).
$upload_max_size_per_file=120
/ Taille max. d'un fichier d'upload (exprimé en Mo). 0 pour illimité, ce qui équivaudra à la taille maximal définie dans php.ini.
Les dossiers suivant ne doivent en aucun cas être accessible via le navigateur. (vérifier que les fichiers .htaccess sont bien interprétés par le serveur web.
Suivant l'utilisation, il sera préférable de sécuriser les échanges par Https.
Documentation Ajaxplorer
Notes Connexes:
Catégories: Notes |
Mots-clefs :Fichiers, Interfaces, Serveur, Web | Commentaires fermés
janvier 15th, 2011
Sur un serveur Linux ayant plusieurs rôles, il est intéressant de pouvoir contrôler les ressources utilisées par les programmes ou démons. En effet, bien répartir les charges permettra de maintenir une qualité de service optimale. L'allocation mémoire est souvent paramétrable via le programme concerné. Les charges processeur sont en revanche gérées par le système.
L'outil Nice:
Nice est un outil du paquetage coreutils. Pré-installé sur la plupart des distributions Linux, il permet de définir la priorité d'exécution des processus actifs.
Les niveaux de priorité sont représentés par les nombres de -19 à 19, -19 étant le plus haut.
Utilisant nice, le moniteur top permet d'agir sur les processus en cours.
Lancer un programme avec une priorité minimale:
nice -n 19 programme
Donner la priorité a un processus en cours d'exécution:
renice -n 1 pid
L'outil Cpulimit:
Disponible sur la plupart des dépôts, Cpulimit agit quant à lui sur le pourcentage d'utilisation (ou temps processeur). Il sera utile pour limiter un processus trop gourmand.
Limiter un processus a 25% seulement des ressources processeur totales:
cpulimit -p pid -l 25
Cpulimit est un programme à part entière. Il doit donc être utilisé à la demande, ses effet prenant fin lorsqu'il est arrêté. Pour obtenir un paramétrage définitif, se référer à la procédure suivante:
Démoniser Cpulimit
Notes Connexes:
Catégories: Notes |
Mots-clefs :Administration, Linux, Monitoring, Serveur | Commentaires fermés
mai 26th, 2010

EyeOs est un WebOS gratuit et installable sur un serveur personnel. Il se présente donc sous la forme d'un bureau virtuel accessible depuis un navigateur, et donne accès à divers applications (internet, mail, traitement de texte, lecteur multimédia...). Développé en PHP et JavaScript, EyeOS nécessite uniquement un serveur web avec un interpréteur PHP pour sa mise en service. Léger et fonctionnel, EyeOS n'offre cependant pas des performances suffisantes pour servir un parc de clients légers, mais s'avère une solution intéressantes pour une utilisation personnelle.
Site Officiel
Captures d'écran de la version stable 1.9



Notes Connexes:
Catégories: Notes |
Mots-clefs :Interfaces, Serveur, Web | Commentaires fermés
mai 12th, 2010
GetMail est un outil sous Linux permettant de récupérer en local les mails d'un serveur distant. Il utilise pour cela les protocoles POP3 ou IMAP4 et supporte les connexions sécurisées SSL. Les mails récupérés pourront être redirigés vers un système de filtrage tel que Procmail ou être directement stockées aux formats Mbox et Maildir. Plus simple et plus léger que sont homologue Fetchmail, Getmail permettra d'effectuer des transfert vers un serveur mail local comme Postfix et Exim, ou tout simplement de sauvegarder des comptes distants.
Site Officiel / Documentation
Téléchargement
I- Installation:
Décompacter l'archive et exécuter "setup.py" depuis le répertoire extrait.
tar xzf getmail-4.17.0.tar.gz
cd getmail-4.17.0
python setup.py install
Consulter la documentation pour une installation plus personnalisée.
II- Configuration:
La configuration standard se fait par le biais d'un fichier de configuration placé dans le "home" de chaque utilisateur utilisant Getmail. Il est cependant possible de créer des configurations nominatives et de lancer les transferts depuis un compte d'administration (voir documentation pour plus d'informations).
Créer le répertoire .getmail dans le home de l'utilisateur:
mkdir -m 0700 $HOME/.getmail
Créer le fichier getmailrc de la manière suivante dans le répertoire précédemment créé:
vi $HOME/.getmail/getmailrc
L'exemple suivant correspond à la configuration pour un compte Gmail. Le protocole POP3 en SSL semble poser problème, la moitié seulement du contenu ayant été récupéré lors de mes tests (>1000 mails). Il est donc préférable d'utiliser le protocole IMAP avec les comptes Gmail.
-------------------- getmailrc ------------------------
[retriever]
type = SimpleIMAPSSLRetriever
port = 993
server = imap.gmail.com
username = [email protected]
password =xxx
[destination]
type = Maildir
path = ~/Maildir/
[options]
verbose = 0
read_all = false
delete = false
delete_after = 0
message_log = ~/.getmail/log
----------------------------------------------------------
Détail des paramètres:
Retriever Type : Protocole de réception (SimplePOP3Retriever / SimpleIMAPRetriever / SimplePOP3SSLRetriever / SimpleIMAPSSLRetriever)
Port : Port d'écoute du serveur distant ( POP 110 / IMAP 143 / POP3S 995)
Server : Consulter la liste des adresse des principaux FAI
Username : Identifiants
Password : Mot de passe
Destination Type : Format de destination (Maildir / Mboxrd)
Path : Chemin de destination (~/Maildir/ pour Maildir, ~/inbox pour Mbox)
Verbose : Niveau de verbosité (de 0 a 2)
Read all : (1) Récupérer l'intégralité (0) Récupérer les nouveaux messages uniquement
Delete : Supprimer les messages après récupération (True/False)
Delete after : Supprimer au bout de X jours (0 - Désactivé)
Message log : Destination des fichiers de log
! La Récupération sur un compte Gmail en POP3 par SSL semble ne pas fonctionner convenablement,
III- Utilisation:
La récupération des mails s'effectue par l'exécution de la commande getmail sous le compte de l'utilisateur concerné.
Automatisation de la tâche par Crontab:
Éditerle fichier /etc/crontab et rajouter la ligne suivante:
*/10 7-21 * * * utilisateur getmail &> /dev/null
--> Récupération des mails toutes les 10 minutes de 7 h a 21 h
Notes Connexes:
Catégories: Procédures |
Mots-clefs :Linux, Messagerie, Réseau, Sauvegarde, Serveur | Commentaires fermés