Tutoriel - Installation Serveur Ampache

De Wiki de la communauté Mandriva.

(Redirigé depuis Projet)
Cette page est un didacticiel sur la création d'un Serveur Ampache

Cahier des charges prises en compte :

  • Serveur
    • Serveur SSH pour administration distance
    • Serveur FTP pour transfert de fichiers depuis Internet
    • Serveur NFS pour transfert/modification de fichiers en local
    • Serveur HTTP pour AMPACHE, Munin, et PHPMYADMIN
    • Serveur MYSQL pour les bases de données d'AMPACHE


Sommaire

Installation de Mandriva

L'ordinateur n'étant pas destiné à d'autres utilisations que ses fonctions de serveur, l'installation se fait via le CD-ROM d'installation Mandriva Free Dual-Arch qui contient un minimum de paquets et qui a vocation à être complété par des installations complémentaires via Internet. Au moment de l'installation, l'ensemble des environnements graphiques est décoché. Le serveur SSH est installé à ce moment pour pouvoir travailler à distance.

Après le premier redémarrage, la machine est prête à l'emploi. Il ne reste plus qu'à configurer les sources pour la maintenir à jour et lui offrir l'accès à tous les paquets nécessaires par la suite.

À noter !

Pour en savoir plus sur les sources et leur configuration.

Se connecter que la machine via SSH

Image:Konsole.png
[root@ordi ~]# ssh root@192.168.1.8

Supprimer toutes les références à des médias d'installation (le CD-ROM ou le DVD-ROM uniquement, juste après une installation)

Image:Konsole.png
[root@ordi ~]# urpmi.removemedia -a

puis les lignes suivantes (générées par Easy Urpmi)

Image:Konsole.png
[root@ordi ~]# urpmi.addmedia --distrib --mirrorlist 'http://api.mandriva.com/mirrors/basic.2009.0.i586.list'
Image:Konsole.png
[root@ordi ~]# urpmi.addmedia --distrib --mirrorlist 'http://plf.zarb.org/mirrors/2009.0.i586.list'

Dernière étape avant la personnalisation de la machine : la mise à jour des paquets déjà installés :

Image:Konsole.png
[root@ordi ~]# urpmi --auto-select

Installation des serveurs de base

Pour mettre en place Ampache, il faut avoir préalablement installé Apache, PHP et MySQL. Régulièrement installés sur la plupart des serveurs, les mainteneurs de Mandriva ont prévu de pouvoir les installer ensemble grâce à un méta-paquet.

À noter !

Pour en savoir plus sur LAMP (Linux+Apache+MySQL+PHP) :

Lancement de l'installation des serveurs de base :

Image:Konsole.png
[root@ordi ~]# urpmi task-lamp

Lancement de Apache :

Image:Konsole.png
[root@ordi ~]# /etc/init.d/httpd start

Pour vérifier le bon fonctionnement d'Apache, il suffit de saisir l'adresse 192.168.1.8 dans la barre d'adresses d'un navigateur. Si tout va bien, une page indiquant "It works" s'affiche. Si cela ne fonctionne pas, peut-être faut-il vérifier que le pare-feu de la machine est le port 80 d'ouvert. Pour ce faire, il faut édicter une nouvelle règle dans /etc/shorewall/rules ou plus vraisembablement dans /etc/shorewall/rules.drakx :

Image:Konsole.png
[root@ordi ~]# vi /etc/shorewall/rules.drakx

Il est nécessaire d'ajouter la dernière ligne :

ACCEPT  net     fw      icmp    8       -
ACCEPT  net     fw      tcp     22      -
ACCEPT  net     fw      tcp     80      -
Image:Konsole.png
[root@ordi ~]# /etc/init.d/shorewall restart

L'installation du LAMP a omis l'installation de mysql. Pour pallier à cet oubli :

Image:Konsole.png
[root@ordi ~]# urpmi mysql

Pour configurer MySQL, il faut se référer à la méthode décrite dans le tutoriel cité ci-dessus. Pour mémoire, je remets les différentes étapes ici sans les commenter.

Image:Konsole.png
[root@ordi ~]# /bin/hostname 127.0.0.1
Image:Konsole.png
[root@ordi ~]# /etc/init.d/mysqld start
Image:Konsole.png
[root@ordi ~]# /mysql_secure_installation
Image:Konsole.png
[root@ordi ~]# /etc/init.d/mysqld restart

MySQL installé et correctement configuré, il s'agit de vérifier l'installation de PHP5 comme indiquer dans le tutoriel cité précédemment. Pour terminer, il est nécessaire de vérifier que PhpMyAdmin est bien installé à l'aide de son navigateur en se rendant à l'adresse http://192.168.1.8/phpmyadmin

Installation des outils de monitoring

Une fois le serveur configuré, il faut le doter des outils nécessaires pour veiller à son bon fonctionnement et pour tenter de découvrir les sources de dysfonctionnement. Le projet Munin propose de grapher toute sorte d'informations dont certaines sont parfois difficiles (impossibles ?) à saisir par le webadmin débutant !!!

http://www.mbrando.com/2007/08/06/how-to-get-your-mysql-munin-graphs-working/ http://www.tux-planet.fr/monitoring-avec-munin/ http://munin.projects.linpro.no/ http://gorgonite.developpez.com/tutoriels/systemes/munin/#LIII-2

Installation de lm_sensors

L'installation de sensord permet d'afficher des données relatives au matériel : températures, vitesse des ventilateurs, voltages... Pour lancer l'installation de lm_sensors et de ses dépendances :

Image:Konsole.png
[root@ordi ~]# urpmi lm_sensors

Ensuite, il faut lancer le configurateur de lm_sensors :

Image:Konsole.png
[root@ordi ~]# sensors-detect

Répondre Yes à toutes les questions afin de tester tous les périphériques possibles et de charger les modules nécessaires.

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `fschmd' (should be inserted):
  Detects correctly:
  * Bus `SMBus PIIX4 adapter at f0b0'
    Busdriver `i2c-piix4', I2C address 0x73
    Chip `FSC Poseidon I' (confidence: 8)

Do you want to generate /etc/sysconfig/lm_sensors? (YES/no): yes
Chargement des modules pour le moniteur matériel :
Lancement du moniteur matériel sensord                          [  OK  ]   

Si tout c'est bien passé, les fichiers de configuration ont été mis à jour et le daemon sensord démarrer. Pour vérifier les informations collectées par lm_sensors, il suffit de lancer cette commande :

Image:Konsole.png
[root@ordi ~]# sensors

Voici ce que retourne ma machine. Les résultats sont différents d'une machine à une autre :

fscpos-i2c-0-73
Adapter: SMBus PIIX4 adapter at f0b0
+12V:     +11.92 V
+5V:       +5.02 V
Battery:   +3.04 V
Fan1:     1440 RPM  (div = 2)
Fan2:        FAULT
Fan3:        FAULT
Temp1/CPU: +25.0°C
Temp2/MB:  +22.0°C
Temp3/AUX:   FAULT

Installation de Munin

L'appel à urpmi comme suit permet l'installation de munin et des ses dépendances

Image:Konsole.png
[root@ordi ~]# urpmi munin munin-node

L'installation sous mandriva effectue une partie du travail de mise en place : planification des tâches, redemarrage du serveur apache... Il reste cependant à autoriser le serveur munin à venir "piquer" les informations remontées par le munin-node :

Image:Konsole.png
[root@ordi ~]# vi /etc/munin/munin-node.conf

puis à démarrer munin-node :

Image:Konsole.png
[root@ordi ~]# /etc/init.d/munin-node start

Pour continuer, on modifier le fichier /etc/munin/munin.conf pour lui indiquer quelles sont les machines sur lesquelles il doit aller réclamer des informations. Ici, il s'agit de 127.0.0.1.

Image:Konsole.png
[root@ordi ~]# vi /etc/munin/munin.conf

Il faut trouver ou saisir les lignes suivantes :

[localhost]
    address 127.0.0.1
    use_node_name yes 

Si toutes les étapes ont été respectées, munin doit proposer ses graphiques à l'adresse suivante : http://192.168.1.8/munin

Personnalisation de Munin

Parmi toutes les informations dispensées par Munin, il en manque des importantes, notamment celles issues de la surveillance de lm_sensors et de MySQL.

Configuration de munin pour lm_sensors

La gestion des données de munin est géré par un système de plugins. L'ensemble des plugins disponibles est stocké dans le répertoire : /usr/share/munin/plugins Pour les activer dans munin, il suffit de placer des liens symboliques vers ces plugins dans le répertoire : /etc/munin/plugins/

Creation d'un lien symbolique pour les données fournies par lm_sensors :

Image:Konsole.png
[root@ordi ~]# ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp

Il est nécessaire de personnaliser le lien symbolique en indiquant quelles sont les données à grapher. L'ajout de temp en terminaison du lien symbolique demande au plugin de gérer les températures du système. Il est ensuite nécessaire de faire la même manipulation avec les terminaisons : volt et fan (pour les voltages et les vitesses des ventilateurs).

Une fois ces modifications effectuées, il faut relancer le munin-node :

Image:Konsole.png
[root@ordi ~]# /etc/init.d/munin-node restart

Pour vérifier le recueil de données par munin-node, lancer la commande :

Image:Konsole.png
[root@ordi ~]# munin-run sensors_temp

munin-run retourne les valeurs dernièrement constaté sur la machine :

temp1.value 28.0
temp2.value 22.0

Les graphiques créés par munin afficheront bientôt ces nouvelles données.

Petit raffinement

Pour compléter cette utilisation de lm-sensors, un nouveau graphique va être créé. Il permet d'afficher sur le même graphique, les données des températures extérieures ainsi que des températures du système. Pour récupérer les températures extérieures, le prealable est le téléchargement du plugin temperature_ disponible sur le site de munin.

Une fois le plugin copié dans le répertoire des plugins, il faut créer un lien symbolique en indiquant un suffixe correspondant à la ville la plus près. Les suffixes sont à trouver sur le site http://weather.noaa.gov/ qui permet de récupérer les températures des principaux aéroports ou stations météo dans le monde.

La machine étant située près de Mâcon, le code est LFLM :

Image:Konsole.png
[root@ordi ~]# ln -s /usr/share/munin/plugins/temperature_ /etc/munin/plugins/temperature_LFLM

Ensuite, on redemarre munin-node :

Image:Konsole.png
[root@ordi ~]# /etc/init.d/munin-node restart

On peut vérifier :

Image:Konsole.png
[root@ordi ~]# munin-run temperature_LFLM

qui affiche le résultat suivant (l'écriture de ce tuto est donc réalisée en plein hiver !) :

temperature.value 2

On constate qu'un nouveau graphique est ajouté.

Petit plus, ce qui serait intéressant est de voircomment la température influe sur la température à l'intérieur de la machine. Il faudrait pour cela un graphique combinant la température extérieure et les température de la machine.

On édite le fichier /etc/munin/munin.conf et on ajoute les lignes suivantes (à adapter suivant les cas) :

#graph qui combine les températures :
        combined_temp.graph_category Sensors
        combined_temp.update no
        combined_temp.graph_title Temperatures Comparaison
        combined_temp.graph_vlabel temp in °C

#Les données à utiliser
        combined_temp.graph_order \
                Processeur=sensors_temp.temp1 \
                Carte_Mere=sensors_temp.temp2 \
                Meteo_Locale=temperature_LFLM.temperature

Comme à l'accoutumée, on relance munin-node :

Image:Konsole.png
[root@ordi ~]# /etc/init.d/munin-node restart

et le tour est joué !

Statistiques liées à MySQL

Pour afficher la taille de la base de données, le plugins mysql_size est à télécharger à cette adresse.

Comme pour les autres plugins, il faut mettre en place un lien symbolique :

Image:Konsole.png
[root@ordi ~]# ln -s /usr/share/munin/plugins/mysql_size_ /etc/munin/plugins/mysql_size_all

Il faut créer un utilisateur sur le serveur MySQL.

Image:Konsole.png
[root@ordi ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5033
Server version: 5.0.67 Mandriva Linux - MySQL Standard Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>CREATE USER 'for_munin'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye


Il faut ensuite donner quelques informations au fichier /etc/munin/plugin-conf.d/munin-node pour qu'il puisse se connecter correctement au serveur MySQL et récupérer les données.

Image:Konsole.png
[root@ordi ~]# vi /etc/munin/plugin-conf.d/munin-node

Il faut modifier la section [mysql]

[mysql*]
user root
group wheel
env.mysqladmin /usr/bin/mysqladmin
env.mysqlopts -u 'for_munin' -p'password'

Installation d'Ampache

Ampache est disponible sur les mirroirs Mandriva :

Image:Konsole.png
[root@ordi ~]# urpmi ampache

Avec un navigateur se rendre à l'adresse http://192.168.1.8/ampache pour lancer l'utilitaire de configuration.

  1. Choisir la langue -> français
  2. Saisir les informations de connexion au serveur MySQL (Bien retenir le nom de la base, ampache par defaut)
  3. Recopier le fichier de configuration à l'endroit indiquer
  4. Créer votre compte d'adminitrateur d'Ampache

Pour surveiller la base de données d'Ampache, munin doit être configuré à l'aide d'un lien symbolique :

Image:Konsole.png
[root@ordi ~]# ln -s /usr/share/munin/plugins/mysql_size_ /etc/munin/plugins/mysql_size_ampache

Vérification :

Image:Konsole.png
[root@ordi ~]# munin-run mysql_size_ampache

qui renvoie :

datas.value 3180
index.value 49152

En l'attente de données, la structure de la base est plus volumineux que son contenu !

Mise en place de données

Pour les données, j'utilise un disque supplémentaire que je monte sur /mnt/stock. Je crée un répertoire Albums qui va recevoir les fichiers musicaux. Je crée aussi un dossier Incoming pour permettre ultérieurement aux utilisateurs de déposer d'autres fichiers musicaux.

Image:Konsole.png
[root@ordi ~]# mkdir /mnt/stock/Albums
Image:Konsole.png
[root@ordi ~]# mkdir /mnt/stock/Incoming

Ensuite, je place mes fichiers musicaux dans le répertoire "Albums". Dans l'interface administrateur d'Ampache, je crée un nouvel album en lui donnant l'adresse indiquée précédemment. Il se charge de les stocker dans sa base de données. La preuve ?

Image:Konsole.png
[root@ordi ~]# munin-run mysql_size_ampache
datas.value 3481497
index.value 701440

L'utilisation d'Ampache fera l'objet d'un autre article. A ce moment, du tutoriel, le serveur Ampache est fonctionnel ainsi que les moyens de contrôler son activité grâce à Munin. Reste à mettre en place les services qui permettront de l'enrichir de fonctionnalités supplémentaires.


Mise en place du Serveur FTP

J'ai choisi vsftp pour sa simplicité de mise en oeuvre. Nous allons vérifier cela tout de suite !

Image:Konsole.png
[root@ordi ~]# urpmi vsftp
Image:Konsole.png
[root@ordi ~]# useradd nobody