Jinzora

:!: Article archivé, dernière mise à jour 2007.

Jinzora est un site de gestion de catalogue MP3. Il permet de faire du streaming et de contrôler un serveur Music Player Daemon (MPD). Une des principales alternatives à Jinzora est Ampache qui s'interface aussi avec MPD.

Remarque : n'utilisant plus Jinzora, cette page n'est plus maintenue.

Installation

Paquets Debian

Jinzora est développé en PHP et s'appuie sur Mysql pour stoquer les informations sur les pistes MP3.

Il est donc nécessaire d'installer les paquets suivants :

  • apache2
  • php4
  • mysql-server
  • php4-mysql
  • php4-gd

Pour plus d'information sur leur installation, voir directement Serveur Web (Apache) et Mysql.

Tuning de PHP

Jinzora a besoin de quelques modification de la configuration de php : /etc/php4/apache2/php.ini

  * max_execution_time = 300     ; Maximum execution time of each script, in seconds
  * memory_limit = 32M      ; Maximum amount of memory a script may consume (8MB)
  * post_max_size = 32M
  * upload_max_filesize = 32M

Redémarrez ensuite apache :

> /etc/init.d/apache2 restart

Installation des sources

Téléchargez l'installation sur le site de jinzora :

Décompressez la dans le répertoire de votre choix, par exemple /home/jinzora2 :

> cd /home
> tar zxvf /home/matthieu/j2.3.6.tar.gz
> chown www-data -R /home/jinzora2

Le répertoire /home/jinzora2 contient maintenant le site, il faut configurer apache pour pointer dessus.

Configurer Apache

Pour cela, je vais remplacer le site par défaut par jinzora.

Création du nouveau site dans /etc/apache2/sites-available/jinora2

NameVirtualHost *
<VirtualHost *>
        ServerAdmin webmaster@localhost

        DocumentRoot /home/jinzora2
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /home/jinzora2/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
</VirtualHost>

Remarque : ce fichier met en oeuvre une configuration basique, si vous souhaitez des informations complémentaires au paramétrage d'apache, voir Serveur Web (Apache).

Remplacer le site :

> a2dissite default
> a2ensite jinzora2
> /etc/init.d/apache2 reload

Modification des sources pour le support UTF-8

Par défaut Jinzora comporte une petite erreur de gestion des tables de charactère : les tags sont lus au format iso-8859-1. Les informations relatives au chemin des pistes sont par contre bien en UTF-8. Une solution consiste à modifier le codage utilisé par la librairie getid3.

éditez le fichier /home/jinzora2/services/services/tagdata/getid3/getid3.php et modifier le paramétrage suivant :

        var $encoding                 = 'UTF-8';          // CASE SENSITIVE! - i.e. (must be supported by iconv())
                                                          // Examples:  ISO-8859-1  UTF-8  UTF-16  UTF-16BE

Il est important de faire cette modification avant l'importation des fichiers, sinon les données de la base seront erronées.

Démarrer la procédure d'installation web

Il suffit désormais de lancer http://localhost/ et de suivre les étapes.

Remarque importante : le chemin d'accès aux fichiers audio doit être strictement le même que MPD.

Après l'installation, n'oubliez pas de supprimer le répertoire d'installation :

> rm -Rf /home/jinzora2/install

Autre remarque importante : il faut être logué pour pouvoir utiliser MPD.

Tuning de Jinzora

Activer MPD par défaut

Preference > System tools > Settings Manager > Main settings > Jukebox > default_jukebox = MPD Player

Gestion de l'UTF-8

Normalement tout doit s'afficher correctement si vous avez modifié les sources avant l'installation. Par contre, les fichiers avec accent ne sont pas correctement ajoutés à MPD. Visiblement, MPD ne supporte pas UTF-8 (même avec l'option dans mpd.conf), il faut donc décoder le nom du fichier avant de le transmettre.

Pour cela il faut éditer le fichier /home/jinzora2/jukebox/jukeboxes/mpd.php :

        /* PLAdd()
         *
         * Adds the file <file> to the end of the playlist. <file> must be a track in the MPD database.
         */
        function PLAdd($fileName) {
                if ( $this->debugging ) echo "mpd->PLAdd()\n";
                if ( ! is_null($resp = $this->SendCommand(MPD_CMD_PLADD,utf8_decode($fileName)))) $this->RefreshInfo();
#               if ( ! is_null($resp = $this->SendCommand(MPD_CMD_PLADD,$fileName))) $this->RefreshInfo();
                if ( $this->debugging ) echo "mpd->PLAdd() / return\n";
                return $resp;
        }

Théoriquement il faut aussi modifier “PLAddBulk” mais comme je n'ai pas de problèmes, je ne l'ai pas fait.

Enfin, pour faire propre, il faut modifier le charset des pages : /home/jinzora2/frontend/display.php

#                               echo '<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">'.  "\n";
                                echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">'.  "\n";

et

#               return '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><link rel="shortcut icon" href="'. $root_dir. '/style/favicon.ico">'. "\n".
#                          '<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>'.  "\n".
#                          $site_title. " - ". str_replace("</nobr>","",str_replace("<nobr>","",str_replace("<br>"," ",$title))). "</title>". "\n".
#                          '<link rel="alternate" type="application/rss+xml" title="Jinzora Most Played" href="'. $root_dir. '/rss.php?type=most-played">'. "\n";
                return '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><link rel="shortcut icon" href="'. $root_dir. '/style/favicon.ico">'. "\n".
/                           $site_title. " - ". str_replace("</nobr>","",str_replace("<nobr>","",str_replace("<br>"," ",$title))). "</title>". "\n".
                           '<link rel="alternate" type="application/rss+xml" title="Jinzora Most Played" href="'. $root_dir. '/rss.php?type=most-played">'. "\n";

Links

linux/jinzora.txt · Dernière modification: 2011/01/11 23:57 par matthieu
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki