Articles plus anciens

Une nouvelle fonctionnalité pour mon Dockstar un service de marque-pages en ligne.

Cela me permettra ainsi d’accéder à mes bookmark de n’importe où, d’en partager certains, de purger un peu le dossier « Marque-pages non classés » de Firefox et de résoudre les problèmes de synchronisation entre PC / navigateur.

Petit aparte concernant ce dernier point : j’ai bien mis en œuvre un serveur sync mais il ne répond que partiellement à mes besoins : pas d’addon pour chrome/IE, pas de consultation en ligne et pas de synchronisation partiel des marques pages (Xmark répond à tous ces besoins mais dans ma quête d’indépendance j’ai décidé de m’en passer…)

Revenons au sujet de cet article, je voulais mettre en œuvre un Delicious ou Diigo auto-hébergé

Lors de mes premières recherches (lorsque je référençait ce que je voudrais voir tourner sur mon Dockstar) j’avais trouvé Scuttle puis son « remplaçant » SemanticScuttle et puis ayant des chantiers prioritaires j’en étais resté là.

Il y a quelques jours un blogueur que je respect pour son éthique (en plus d’avoir des articles très intéressants) aka sebsauvage à publié ceci : Adieu Delicious, Diigo et StumbleUpon. Salut Shaarli !

Il ne m’en a pas fallu plus pour que le sujet revienne sur le devant de la scène. Qui plus est l’installation de son outil de bookmarks en ligne Shaarli est simplissime donc il ne m’a pas fallu beaucoup de temps.

Pas de dépendances exotique, pas de base de données juste un serveur web et php…

On télécharge l’archive, on la décompresse dans son arborescence web, on s’assure que les droits sont bons

cd /var/www
sudo mkdir shaarli
cd shaarli
sudo wget http://sebsauvage.net/files/shaarli_0.0.14beta.zip
sudo unzip shaarli_0.0.14beta.zip
sudo chown www-data:www-data ../shaarli -R

(Lignes de commande à adapter à sa configuration, lien de téléchargement à mettre à jour, Sebsauvage met à jour son script tous les jours…)

 

Ensuite on paramètre son serveur web pour autoriser l’accès au répertoire créé, on se connecte sur le site, on choisi un login et mot de passe et on drag/drop le snippet dans sa barre des marques page de son navigateur et voila tout est prèt.

Plus de détails sur le wiki de Sebsauvage.

Page principal du service :

 

Page, pop-up d’ajout de marque-page

Après quelques jours de tests je suis comblé, c’est simple, ça fonctionne, parfaitement dans l’esprit KISS, le design  pourrait être amélioré mais cela va, présence de bookmarks publiques et privés, une description du bookmark, des tags (une discipline à prendre)….

 

Sources :

Autres outils :

Le dernier service Google à la mode est Google Music. Vous confiez/uploadez toute votre musique à Google et vous pouvez y accéder via une interface Web ou une application Android.

C’est bien mais ce n’est pas révolutionnaire (à part peut être le fait que Google « offre » 100Go de stockage dans le cloud) et cela fait une chose de plus (un bout de votre vie) que vous confiez à un géant du Web.

Cette idée de bibliothèque musicale sur le web, accessible de partout, je l’ai depuis pas mal de temps (voir Marques pages : Choisir un lecteur audio pour Ubuntu et plus particulièrement la fin Lecteurs audio « client-serveur ») et après pas mal de tests, d’exploration de solutions non pérennes (daap, icecast, etc), j’ai enfin trouvé Ampache.

Dans cet article je vais décrire l’installation d’Ampache mais aussi d’autres logiciels ayant la même vocation :

Mes critère de choix, outre la possibilité d’écouter ma musique via internet était que le service doit pouvoir fonctionner sur mon Dockstar avec son petit processeur ARM et ses 128 Mo de RAM !!

 

Ampache

Commençons par le gagnant.

Ampache n’est pas le logiciel le plus beau ni celui offrant le plus fonctionnalité mais il offre l’immense avantage de s’installer sur un pile serveur web + MySQL et de ne pas consommer trop de ressources

Ampache est dans les dépôts Debian (avec une petite particularité nous le verrons plus tard) on l’installe donc avec son gestionnaire de paquet préféré (aptitude pour moi) :

sudo aptitude install ampache
Les NOUVEAUX paquets suivants vont être installés :
 ampache libjs-prototype{a} libmysqlclient16{a} libnusoap-php{a} libphp-snoopy{a} mysql-common{a} php5{a} php5-auth-pam{a}
 php5-mysql{a} php5-xmlrpc{a} ttf-freefont{a}
 Les paquets suivants sont RECOMMANDÉS mais ne seront pas installés :
 ampache-themes apache2-mpm-prefork eyed3 javascript-common lighttpd x-ttcidfont-conf
 0 paquets mis à jour, 11 nouvellement installés, 0 à enlever et 0 non mis à jour.
 Il est nécessaire de télécharger 4 177 ko/6 087 ko d'archives. Après dépaquetage, 17,9 Mo seront utilisés.

On remarquera que le paquet conseil d’installer apache ou lighttpd, mais j’ai déjà NGINX d’installé…

On Installera aussi le serveur MySQL, bien qu’il ne soit pas dans les paquets nécessaires ni recommandés (pour la bonne raison que l’on peut utiliser une base distante)

Le paquet Ampache installe les pages HTML/php constituant le logiciel dans /usr/share/ampache  et il faut donc les rendre accessible de son serveur web, j’ai pour ma part choisi de créer un lien symbolique entre la racine de mon serveur web et le répertoire d’Ampache :

cd /var/www
ln -s /usr/share/ampache/www/ ampache
sudo chown www-data:www-data ampache/ -R

On se connecte ensuite à son serveur Web :

http://IP-du-serveur/ampache

Et on passe les différents écran de configuration :

Tout d’abord on vérifie que tous les pré-requis système sont présents :

Dans mon cas j’ai eu un problème avec le pré-requis « MySQL for php » et ce malgré l’installation du paquet php5-mysql, je l’ai corrigé en ajoutant une ligne dans mon php.ini

Sélectionner ensuite la langue d’installation.

 

Renseigner ensuite les données MySQL : l’utilisateur root, son mot de passe, la machine hébergeant MySQL (localhost le plus souvant) et le nom de la base à créer (ampache pour faire simple)

On indique aussi que l’on veut créer un nouvel utilisateur MySQL nommé ampache (ou comme vous le souhaitez)

Ayant faire divers essai j’ai remarqué que si on coche la case « Ecraser la configuration existante » on a l’erreur :

Error: Unable to make Database Connection Access denied for user 'root'@'localhost' (using password: NO)

Si on a déjà une base ampache que l’on souhaite écraser, il n’y a pas d’autre moyen que de supprimer les tables et la base précédente via un requeteur

 

Normalement à l’étape suivante la base, l’utilisateur dédié et les table doivent être créés, on indique alors les informations choisies précédemment (nom de la base, utilisateur et mot de passe de ce dernier)

Le bouton « écrire la configuration » télécharge un fichier ampache.cfg.php qu’il faut copier sous /var/www/ampache/config (penser au droit accès)

Un fois copié, cliquer sur le lien « teste de la configuration » et tout devrait être OK :

Créer ensuite un compte administrateur :

Et la configuration est terminée, reste plus qu’a aller sur la page d’accueil et se logguer avec le compte administrateur défini précedemment :

Voici l’interface par défaut d’Ampache (vous verrez par la suite il y a d’autres logiciel plus beaux mais aussi des plus moches…)

L’étape suivante à aller dans les pages de paramétrage et d’ajouter un répertoire contenant de la musique :

Attention Ampache (via l’utilisateur www-data de votre serveur web) doit avoir accès en lecture aux fichiers…

 

Pour la lecture de la musique Ampache propose de télécharger une playlist avec les adresses des morceaux sélectionnés (en http) ou de piloter un serveur MPD ou dans le cas qui nous intéresse de jouer la musique directement dans l’interface via un lecteur en Flash.

Or ce lecteur Flash n’est packagé dans l’archive Debian/Ubuntu (pour des raison de droits ?), il faut donc l’installer manuellement.

Pour cela télécharger l’archive des sources sur le site d’Ampache, la décompresser et copier les fichiers xspf_jukebox.fla et swf présents dans le répertoire module/flash dans le répertoire correspondant de votre installation.

 

Enfin si on veut rendre Ampache plus (les goûts et les couleurs…) on pourra installer le paquet ampache-themes qui propose des thème supplémentaire par rapport a ceux embarqués par défaut.

Pour ma part j’ai installé un thème trouvé sur le forum d’Ampache :

Fresh theme (r5 – now playing update)

 

Subsonic

Subsonic a été le plus sérieux concurrent à Ampache.

Il est beau, bourré de fonctionnalité, ergonomique :

MAIS il est en Java.

Il occupe donc beaucoup de place disque (90Mo rien que pour le JRE), mémoire et CPU.

Ces 2 derniers points sont bloquant pour mon Dockstar :

En pré-requis Subsonic à le JRE, sur un serveur comme le Dockstar il est impératif de prendre la version headless, sinon on se retrouve à télécharger xorg et 50 Mo supplémentaires de librairies graphiques…

sudo aptitude install openjdk-jre-headless
Les NOUVEAUX paquets suivants vont être installés :
 ca-certificates-java{a} java-common{a} libavahi-client3{a}   libavahi-common-data{a} libavahi-common3{a} libcups2{a} libdbus-1-3{a}   libfreetype6{a} liblcms1{a} libnspr4-0d{a}
 libnss3-1d{a} openjdk-6-jre-headless openjdk-6-jre-lib{a} tzdata-java{a}
 Les paquets suivants sont RECOMMANDÉS mais ne seront pas installés :
 dbus icedtea-6-jre-cacao
 0 paquets mis à jour, 14 nouvellement installés, 0 à enlever et 0 non mis à jour.
 Il est nécessaire de télécharger 32,0 Mo/32,4 Mo d'archives. Après dépaquetage, 87,3 Mo seront utilisés.

On téléchargera ensuite le paquet correspondant à Debian/Ubuntu sur la page du projet :

Subsonic » Free Music Streamer

Et on l’installera :

sudo dpkg -i subsonic*.deb

Pour finir l’installation / la configuration il suffit d’aller sur le serveur sur lequel vous avez installé Subsonic sur le port 4040 :

http://IP-du-serveur:4040

On se connecte avec l’utilisateur et mot de passe « admin »

Et la page d’accueil s’affiche :

Et indique les étapes à réaliser (les étapes sont cliquables) :

Premièrement pour des raisons de sécurité, changer le mot de passe administrateur :

Puis configurer les lieux de stockage de la musique :

Lorsque l’indexation est terminée on peut profiter de Subsonic

… pour peu que sa machine le supporte, c’est à dire pas un Dockstar, vraiment dommage …

 

Zeya

Zeya est un petit serveur musical ne proposant que très peu de fonctionnalités : une liste de morceau, on en choisi un et il est joué dans le navigateur…

Zeya est disponible dans les dépôts Debian/Ubuntu (v0.4) il suffit donc de faire :

sudo aptitude install zeya

Sur ma Debian cela prend 8 675 ko et installe les paquets suivants :

libao-common{a} libao4{a} libboost-python1.42.0{a} libflac8{a} libogg0{a} libspeex1{a} libtag1-vanilla{a} libtag1c2a{a}
 libvorbis0a{a} libvorbisenc2{a} libvorbisfile3{a} python-simplejson{a} python-tagpy{a} vorbis-tools{a} zeya

Et recommande les paquets suivants :

flac libjs-jquery mpg123 mpg321

Le lancement de Zeya se fait ensuite avec un simple :

zeya --path=/data/multimedia/Musiques

Le premier démarrage est long car Zeya scanne le répertoire passé en paramètre en vue d’indexer les morceaux de musique qu’il contient :

Using 'dir' backend.
 Scanning for music in '/data/multimedia/Musiques/Musique'...
 TagLib: MPEG::Header::parse() -- Invalid sample rate.
 
TagLib: MPEG::Properties::read() -- Could not find a valid last MPEG frame in the stream
 
TagLib: Ogg::File::packet() -- Could not find the requested packet.
 TagLib: Vorbis::File::read() - Could not find the Vorbis comment header.
 
TagLib: ID3v2.4 no longer supports the frame type RVAD.  It will be discarded from the tag.

Les erreurs que j’ai eu (ci-dessus) seraient sûrement corrigées avec l’installation des paquets recommandés.

Ensuite Zeya démarre un serveur web sur le port  8080, sert l’interface et stream la musique :

Loading library...
 Listening on port 8080
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET / HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /zeya.css HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /zeya.js HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /previous.png HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /play.png HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /next.png HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /pause.png HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /spinner.gif HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /repeat.png HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /shuffle.png HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /search.png HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /favicon.png HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /favicon.png HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:37:18] "GET /getlibrary HTTP/1.1" 200 -
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:38:03] "GET /getcontent?key=3797 HTTP/1.1" 200 -
 Handling request for /data/multimedia/Musiques/Musique/Renan Luce/Repenti/Renan Luce - 13 - LIris Et La Rose.ogg
 ::ffff:192.168.1.100 - - [16/Jun/2011 21:40:25] "GET /getcontent?key=3785 HTTP/1.1" 200 -
 Handling request for /data/multimedia/Musiques/Musique/Renan Luce/Repenti/Renan Luce - 01 - Les Voisines.ogg

Comme indiqué précédemment Zeya est simplissime et il manque tout de même quelques fonctionnalités, notamment la possibilité de gérer sa liste de lecture, en effet Zeya joue les morceau les un derrière les autres sans possibilité de les ordonner (par contre on peut les sélectionner avec la zone de recherche), de plus il n’est pas possible d’avancer dans un morceau et enfin dernier critère de non choix, sur mon Dockstar la CPU monte à 100% et les morceaux coupent toutes les 5s

 

Rque : pour installer le dernière version (v0.5), télécharger le paquet sur le site du projet :
http://web.psung.name/zeya/

Installer les dépendances (et éventuellement les paquets recommandés voir ci-dessus)

vorbis-tools python-simplejson python-tagpy

Et installer Zeya :

sudo dpkg -i zeya_0.5-1_all.deb

 

Zina

Zina ressemble un peu à Ampache, mais en moins beau et avec le MySQL optionnel.

De plus il n’est plus maintenu (ou tout du moins en pause) depuis Août 2010…

Pour l’installer on télécharge l’archive sur le site, on la décompresse dans un répertoire accessible du serveur web et voila :

wget https://downloads.sourceforge.net/project/zina/Zina/2.0beta22/zina-2.0b22.tar.gz?r=&ts=1315944029&use_mirror=freefr
mv zina-2.0b22.tar.gz* zina-2.0b22.tar.gz
tar -xvf zina-2.0b22.tar.gz
sudo mv zina/ /data/www
sudo chown www-data.www-data /data/www/zina -R

Il suffit ensuite d’accéder à Zina en http (adresse en fonction de votre serveur web) : http://IP_erveur/zina/index.php

Zina permet de jouer la musique en téléchargeant une playlist contenant les lien http vers les morceaux sélectionnés

 

Ou via un lecteur flash embarqué (d’ailleurs mieux intégré que celui d’Ampache)


Blofeld

L’annonce de Blofeld est alléchante :

Mais la phrase « Difficult to install and configure » en parlant des autres serveurs musicaux me fait doucement rire car je n’ai pas réussi à installer Blofeld, pire j’ai planté mon Dockstar ce qui m’a valu une belle frayeur (voir cet article).

Peut être est ce dû au fait que j’ai essayé de l’installer sur une Debian ARM alors que l’auteur semble privilégier Ubuntu…

De plus depuis l’annonce le github du projet ne semble pas beaucoup bouger…

 

Voici les étapes que j’ai suivi :

Installation des dépendances (attention ça fait mal, pire que le JRE) :

sudo aptitude install python-cheetah python-imaging python-mutagen python-couchdbkit couchdb python-gst0.10 gstreamer0.10-ffmpeg python-cherrypy3

Ce qui installe :

couchdb erlang-base{a} erlang-crypto{a} erlang-inets{a} erlang-mnesia{a} erlang-public-key{a} erlang-runtime-tools{a}
 erlang-ssl{a} erlang-tools{a} erlang-webtool{a} erlang-xmerl{a} gstreamer0.10-ffmpeg iso-codes{a} libavcodec52{a}
 libavformat52{a} libavutil49{a} libdirac-encoder0{a} libfaad2{a} libffi5{a} libgsm1{a} libgstreamer-plugins-base0.10-0{a}
 libgstreamer0.10-0{a} libicu44{a} libjs-jquery{a} liblcms1{a} libmozjs2d{a} libnspr4-0d{a} libogg0{a} liboil0.3{a}
 libopenjpeg2{a} liborc-0.4-0{a} libpostproc51{a} libpython2.6{a} libschroedinger-1.0-0{a} libspeex1{a} libswscale0{a}
 libtheora0{a} libvorbis0a{a} libvorbisenc2{a} python-anyjson{a} python-cheetah python-cjson{a} python-couchdbkit
 python-gobject{a} python-gst0.10 python-imaging python-libxml2{a} python-mutagen python-restkit{a}

Soit plus de 110 Mo !!

Récupération et installation de Blofeld :

wget https://github.com/daveisadork/Blofeld/zipball/0.2.5
mv 0.2.5 blofeld.zip
unzip blofeld.zip
mv daveisadork-Blofeld-96c363e/ blofeld

Lancement :

blofeld

Et là se fut le drame, la CPU est montée, le terminal ne répondait plus, la connexion SSH a été interrompue et j’ai du rebooter sauvagement le Dockstar avec pour conséquence de la planter…

Donc pas de copie d’écran….

 

Streeme

[Ajout du 17/06/2013]

Nouveau (enfin pas si nouveau que ça) venu, un serveur musical simple mais complet en HTML5 / PHP (Symfony 1)

Installation des pré-requis :

sudo aptitude install php-pear curl php5-curl php5-gd ffmpeg
sudo pear install HTTP_Download

Clone du repo :

git clone https://github.com/chaffneue/streeme.git streeme
sudo mv streeme/ /data/www
sudo chown www-data.www-data /data/www/streeme -R

Création d’une base MySQL

mysql -uroot -p
CREATE DATABASE streeme  DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
grant usage on *.* to streeme@localhost identified by 'password';
grant all privileges on streeme.* to streeme@localhost ;

Configuration :

 

cd /var/www/streeme
cp config/databases.template.yml config/databases.yml
cp apps/client/config/app.template.yml apps/client/config/app.yml
mkdir cache
chmod 777 log cache

 

Édition de config/databases.yml et configuration de la section all (username, password)

Édition de apps/client/config/app.yml et configuration des attributs watched_folders,  allowed_file_types, ffmpeg_executable

Vidage des caches :

 

./symfony cc

 

Vérification pré-requis Symfony

 

php check_configuration.php

 

Construction des tables :

 

./symfony doctrine:build --all --and-load

 

Scan de la librairie :

 

./symfony scan-media --type=filesystem

 

Scan des album art (n’a pas marché chez moi)

 

./symfony scan-art --source=folders
./symfony scan-art --source=meta

 

Création d’un utilisateur :

 

symfony guard:create-user your_username your_password

 

Ma conf NGINX :

 

server {
 listen       8095;
 server_name  music.xxx.fr;
 root         /var/www/xxx.fr/streeme/web;
 
 access_log      /var/log/nginx/streeme.access.log ;
 include         /etc/nginx/common.conf ;
 
 location ~ (/\.|^/(config|test)) {
 deny all;
 }
 
 index           index.php;
 
 rewrite ^/art/([a-zA-Z0-9]+|all)/([a-zA-Z0-9]+|all)$ /proxy_art.php?hash=$1&size=$2 last;
 rewrite ^/client_dev.php/art/([a-zA-Z0-9]+|all)/([a-zA-Z0-9]+|all)$ /proxy_art.php?hash=$1&size=$2 last;
 
 location ~ ^/(index|proxy_art)\.php$ {
 include         /etc/nginx/fastcgi_params;
 fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
 fastcgi_pass    127.0.0.1:9000;
 }
 
 location / {
 index index.php;
 try_files $uri /index.php?$args;
 }
 
 location /sf/ {
 root /var/www/xxx.fr/streeme/lib/vendor/symfony/data/web/sf/;
 }
 
}
#Music-proxy
server {
 listen 8096;
 
 root /var/www/xxx.fr/streeme/web;
 
 location ~ (/\.|^/(config|test)) {
 deny all;
 }
 
 rewrite ^/play/([a-zA-Z0-9.]+|all)$ /proxy_play.php?unique_song_id=$1 last;
 rewrite ^/client_dev.php/play/([a-zA-Z0-9]+|all)$ /proxy_play.php?unique_song_id=$1 last;
 
 location ~ ^/(proxy_play)\.php$ {
 include         /etc/nginx/fastcgi_params;
 fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
 fastcgi_pass    127.0.0.1:9000;
 }
 
 location / {
 index index.php;
 try_files $uri /index.php?$args;
 }
}

 

Ne reste plus qu’a rediriger les ports et se connecter sur l’URL choisie port 8095 (par défaut)

A l’usage :

  • Plutôt propre
  • Rapide
  • Léger

Mais

  • Pas très maintenu
  • Pas ultra sexy
  • Pb d’encodage (peut sûrement se résoudre)
  • Pas d’album art (peut sûrement se résoudre)
  • Listes de lecture capriceuses

 

Autres serveurs musicaux (non testés)

Ampjuke

Ampjuke

Pré-requis matériel au dela des capacités du Dockstar :

« Access to a Computer w. min. 500MB memory, and a CPU running not less than 800MHz. »

Music Browser

Music Browser

Plus maintenu depuis 2009 et pas dans mes goûts…

Jinzora

Jinzora – Jinzora :: Free Your Media!

GNUMP3d

GNUMP3d [GNU MP3/Media Streamer]

Plus maintenu depuis 2007…

Tunez

Tunez

Plus maintenu depuis 2004 (qui dit mieux)

 

 

Sources :

Web based media manager

ampache – jinzora – subsonic – mp3act – netjuke etc….

Retour d’experience sur streaming souhaité (Ampache, Jinzora,…)

My Favorite Ubuntu Linux Music Server – 1000umbrellas.com

Zeya :

Subsonic :

Ampache :

Zina :

Blofeld

Streeme :

Solutions à base de MPD + IceCast

Si vous êtes sous Ubuntu 11.04 et que vous naviguez dans un répertoire réseau (Répertoire distant accédé par NFS dons mon cas) contenant des fichiers PDF il va falloir prendre votre mal en patience.

En effet Nautilus essai de faire un aperçu des fichiers PDF et c’est très long, voir cela le plante….

Pour y remédier 2 solutions :

Solution 1 : désactiver l’aperçu des fichiers pdf

Lancer l’éditeur de configuration via la commande gconf-editor, dérouler l’arborescence desktop > gnome > thumbnailers > application@pdf et décocher « enabled »

Solution 2 : Appliquer le correctif depuis les dépôts natty-proposed

Ce problème est un bug connu #778638, un correctif existe donc mais pas dans les dépôts « de base »

Activer si e n’est déjà fait les dépôts natty-proposed.

Pour cela lancer la logithèque Ubuntu puis dans le menu Edition sélectionner « Source des logiciels ».

Aller donc l’onglet « Mise à jour » et côcher « Mises à jour suggérés (natty-proposed) »

Fermer la fenêtre, ouvrir un terminal et saisir :

sudo aptitude update 
sudo aptitude install evince/natty-proposed evince-common/natty-proposed

Vous pouvez ensuite si vous le voulez désactiver le dépôt natty-proposed et refaire un update…

12 sept 11

Lors de l’installation d’un script php qui utilise MySQL, le setup du script m’indiquait que je n’avais pas MySQL d’installé alors qu’il était bien présent sur ma machine.

A l’image de ce que j’ai fait pour ajouter le support de SQLite à php j’ai fait la même chose pour MySQL et le problème à été résolu.

Voici donc la manipulation.

Editer /etc/php5/cgi/php.ini (le chemin peut changer selon votre distribution, ici il s’agit de Debian) et y ajouter la ligne suivante dans la section « Dynamic Extensions »

extension=mysql.so

Redémarrez php (si vous l’exécutez en fcgi) et voila le tour est joué

Rque : afin de faire un copie d’écran du setup de mon script php pour illustrer cet article j’ai supprimé la dite ligne de mon php.ini et là bizarrerie de l’informatique, MySQL était tout de même détecté…

Commentaires fermés

En fin de compte j’ai changé d’avis pour mon Dockstar et j’y ai installé MySQL, en effet la plupart des sites/scripts on en pré-requis MySQL.

Or quand j’ai réinstallé MySQL :

sudo aptitude install mysql-server mysql-client

J’ai eu les erreurs suivantes :

Les paquets partiellement installés suivants seront configurés : 
 mysql-server mysql-server-5.1 
 Aucun paquet ne va être installé, mis à jour ou enlevé.
 0 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
 Il est nécessaire de télécharger 0 o d'archives. Après dépaquetage, 0 o seront utilisés.
 Paramétrage de mysql-server-5.1 (5.1.49-3) ...
 Stopping MySQL database server: mysqld.
 /etc/init.d/mysql: WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz ... (warning).
 Starting MySQL database server: mysqld.
 /etc/init.d/mysql: line 120: /etc/mysql/debian-start: Aucun fichier ou dossier de ce type
 invoke-rc.d: initscript mysql, action "start" failed.
 dpkg : erreur de traitement de mysql-server-5.1 (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 127
 configured to not write apport reports
 dpkg : des problèmes de dépendances empêchent la configuration de mysql-server :
 mysql-server dépend de mysql-server-5.1 ; cependant :
 Le paquet mysql-server-5.1 n'est pas encore configuré.
 dpkg : erreur de traitement de mysql-server (--configure) :
 problèmes de dépendances - laissé non configuré
 configured to not write apport reports
 Des erreurs ont été rencontrées pendant l'exécution :
 mysql-server-5.1
 mysql-server
 E: Sub-process /usr/bin/dpkg returned an error code (1)
 Échec de l'installation d'un paquet. Tentative de réparation : 
 Paramétrage de mysql-server-5.1 (5.1.49-3) ...
 Stopping MySQL database server: mysqld.
 /etc/init.d/mysql: WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz ... (warning).
 Starting MySQL database server: mysqld.
 /etc/init.d/mysql: line 120: /etc/mysql/debian-start: Aucun fichier ou dossier de ce type
 invoke-rc.d: initscript mysql, action "start" failed.
 dpkg : erreur de traitement de mysql-server-5.1 (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 127
 dpkg : des problèmes de dépendances empêchent la configuration de mysql-server :
 mysql-server dépend de mysql-server-5.1 ; cependant :
 Le paquet mysql-server-5.1 n'est pas encore configuré.
 dpkg : erreur de traitement de mysql-server (--configure) :
 problèmes de dépendances - laissé non configuré
 Des erreurs ont été rencontrées pendant l'exécution :
 mysql-server-5.1
 mysql-server

Voici la solution que j’ai trouvé sur [ubuntu] mysql problem – Ubuntu Forums :

Créer un fichier /etc/mysql/debian-start (avec sudo) et y copier ceci :

#!/bin/bash
 #
 # This script is executed by "/etc/init.d/mysql" on every (re)start.
 #
 # Changes to this file will be preserved when updating the Debian package.
 #
 
source /usr/share/mysql/debian-start.inc.sh
 
MYSQL="/usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf"
 MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
 MYUPGRADE="/usr/bin/mysql_upgrade --defaults-extra-file=/etc/mysql/debian.cnf"
 MYCHECK="/usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf"
 MYCHECK_SUBJECT="WARNING: mysqlcheck has found corrupt tables"
 MYCHECK_PARAMS="--all-databases --fast --silent"
 MYCHECK_RCPT="root"
 
# The following commands should be run when the server is up but in background
 # where they do not block the server start and in one shell instance so that
 # they run sequentially. They are supposed not to echo anything to stdout.
 # If you want to disable the check for crashed tables comment
 # "check_for_crashed_tables" out.
 # (There may be no output to stdout inside the background process!)
 echo "Checking for corrupt, not cleanly closed and upgrade needing tables."
 (
 upgrade_system_tables_if_necessary;
 check_root_accounts;
 check_for_crashed_tables;
 ) >&2 &
 
exit 0

Rendre le fichier exécutable :

sudo chmod 755 /etc/mysql/debian-start

Et reprendre l’installation (un dpkg reconfigure aurait sûrement aussi fait l’affaire):

sudo aptitude install mysql-server mysql-client

Normalement il n’y a plus d’erreurs:

Les paquets partiellement installés suivants seront configurés :
 mysql-server mysql-server-5.1
 Aucun paquet ne va être installé, mis à jour ou enlevé.
 0 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
 Il est nécessaire de télécharger 0 o d'archives. Après dépaquetage, 0 o seront utilisés.
 Paramétrage de mysql-server-5.1 (5.1.49-3) ...
 Stopping MySQL database server: mysqld.
 Starting MySQL database server: mysqld.
 Checking for corrupt, not cleanly closed and upgrade needing tables..
 Paramétrage de mysql-server (5.1.49-3) ...