Ubuntu

Ubuntu est une distribution Linux basée sur Debian.

Fil des billets - Fil des commentaires

jeudi 19 octobre 2006

Flash Player 9 beta pour Linux

Flash Player 9 beta pour Linux est sorti ! Pour installer le plugin pour Firefox sur Ubuntu, c'est relativement simple (même si par la suite un véritable installeur devrait être disponible) :

$ wget -c http://www.adobe.com/go/fp9_update_b1_installer_linuxplugin
$ tar xvzf FP9_plugin_beta_101806.tar.gz
$ mkdir ~/.mozilla/plugins # créera le répertoire s'il n'existe pas
$ sudo mv flash-player-plugin-9.0.21.55/libflashplayer.so ~/.mozilla/plugins/

Et ça devrait rouler.

Edit: Ménage.

jeudi 14 septembre 2006

Ubuntu en natif chez un constructeur informatique

Tiens tiens, ce fabriquant propose des ordinateurs embarquant nativement Ubuntu... Support matériel complet et garanti :)

Edit du 5 octobre 2006: Pendant ce temps-là et de ce côté-ci de l'atlantique, de grandes et belles choses se préparent !

mardi 5 septembre 2006

Installer et configurer Apache2, Trac et Subversion sur Ubuntu

J'avais besoin d'un outil simple et complet pour gérer mes projets de développement hébergés sur ma nouvelle Dédibouate flambant neuve et fraîchement équipée d'une distribution linux Ubuntu Dapper Drake LTS. Naturellement, Trac et son copain Subversion se sont imposés comme une évidence, d'autant que je les utilisent déjà au quotidien dans mon travail.

Je me mis alors en quête d'informations sur la procédure d'installation de ces outils sur Ubuntu avec mon copain Google. Je suis tombé sur moult liens interessants mais pas toujours tout à fait complets ni exhaustifs ; aussi je décidai humblement de rédiger le présent billet faisant la synthèse de la procédure que j'ai utilisée et qui marche chez moi [1] :)

Prérequis

Avant toute chose, il est bien entendu impératif de disposer d'une distribution Ubuntu 6.06 LTS Dapper Drake et d'un accès root sur la machine.

Installation

Tout d'abord, activez les dépôts universe d'Ubuntu. Ceci fait, voici la liste des paquets à installer :

$ sudo apt-get update
$ sudo apt-get install subversion libapache2-svn libapache2-mod-python2.4 trac

La version de Trac fournie par les dépôts Ubuntu est la 0.9.3 [2]. On crée le répertoire système pour les instances de Trac, par exemple dans /var/trac [3] sans oublier le de rendre accessible en écriture par apache:

$ sudo mkdir /var/trac
$ sudo chown www-data:www-data /var/trac

Création d'une instance Trac pour votre projet

Il nous faut maintenant importer un projet dans Subversion. Pour l'exemple, nous créerons un projet nommé monzouliprojet. Pour cela, rien de plus simple... sauf pour les feignants. En étant moi-même un des plus féroces, j'ai pensé à mes compatriotes et leur ai créé un script qui leur permettra d'importer automatiquement leurs projets dans Subversion et de les rendre ainsi facilement accessibles à l'instance de Trac que nous créerons par la suite. Vous trouverez le code ici (certainement très perfectible, contributions bienvenues.)

Vous pouvez sauvegarder ce script dans un fichier create_svn_repo.sh par exemple, sans oublier de le rendre executable :

$ chmod +x create_svn_repo.sh

Il faudra bien sûr le lancer au moyen de sudo afin d'avoir les droits d'écritures dans les répertoires système concernés. Pour importer un nouveau projet Subversion à partir de vos sources existantes, il suffit de lancer le script et de répondre aux questions posées :

niko@nikobox:~$ sudo create_svn_repo.sh  
#######################################
Création d'un nouveau projet Subversion
#######################################

Tapez le nom du nouveau projet :
monzouliprojet
Tapez maintenant le chemin du répertoire source :
(Note: les répertoires trunk, branches et tags seront créés automatiquement)
/home/niko/monzouliprojet/
Création du projet monzouliprojet depuis /home/niko/monzouliprojet/...
Adding         /tmp/svn/monzouliprojet/trunk
Adding         /tmp/svn/monzouliprojet/trunk/test
Adding         /tmp/svn/monzouliprojet/trunk/test/main
...

Committed revision 1.

Projet subversion monzouliprojet créé avec succès !

Note : Vous pouvez éditer le fichier du script pour y spécifier notament le chemin de la racine subversion [4] :

SVN_ROOT="/var/svn"

Ensuite, il faut initialiser l'environnement trac pour notre projet recemment importé dans Subversion, ce que l'on fait au moyen de la série de commande suivante [5] :

sudo mkdir /var/trac
sudo trac-admin /var/trac/monzouliprojet initenv
sudo chown -R www-data /var/trac/monzouliprojet

Notez encore une fois que je crée la racine trac dans /var/trac mais vous pouvez tout à fait utiliser un autre emplacement.

Créer un ou plusieurs utilisateurs Trac et Subversion, gérer les autorisations

Par défaut, une instance Trac permet à tous les visiteurs anonymes d'en modifier les contenus ; bien évidemment, c'est un comportement de l'application particulièrement risqué, ne serait-ce qu'en regard du spam potentiel que vous pourriez récolter. Nous allons donc successivement créer un utilisateur subversion, puis désactiver les contributions anonymes pour Trac et ajouter un utilisateur possédant les droits d'administration Trac. Notez que nous utiliserons le même fichier de stockage des noms d'utilisateurs et de mots de passe pour Trac et Subversion ; ce fichier sera appelé au niveau de notre fichier de configuration Apache - défini un peu plus bas dans ce tutoriel.

Créons tout d'abord le fichier de stockage des mots de passe Trac/Subversion [6] et ajoutons un utilisateur maintener :

$ sudo htpasswd2 -c /etc/apache2/dav_svn.passwd maintener

Attribuez-lui un mot de passe. Bien, cet utilisateur aura par la suite officiellement accès à notre dépôt Subversion. Donnons-lui maintenant les droits d'administration totale de Trac :

$ sudo trac-admin /var/trac/monzouliprojet permission add maintener TRAC_ADMIN

On peut également imaginer la création d'un compte utilisateur développeur, qui peut créer des tickets, en fermer et maintenir le wiki :

$ sudo htpasswd2 -c /etc/apache2/dav_svn.passwd dev
$ sudo trac-admin /var/trac/monzouliprojet permission add dev WIKI_CREATE WIKI_MODIFY TICKET_CREATE TICKET_MODIFY

Il nous reste à desactiver les contributions anonymes :

$ sudo trac-admin /var/trac/monzouliprojet permission remove anonymous WIKI_CREATE WIKI_MODIFY TICKET_CREATE TICKET_MODIFY

Par la suite, vous pourrez effectuer la plupart de ces opérations par le biais du plugin WebAdmin dont nous détaillerons l'installation dans la partie suivante.

Vous trouverez plus d'informations sur les privilèges de Trac sur la page qui lui est consacrée.

Côté Subversion, il nous faut autoriser les checkouts anonymes mais s'assurer que'un utilisateur est authentifié avant d'accepter ses commits. Cela se configure très facilement dans le fichier /var/svn/monzouliprojet/conf/svnserve.conf, dans lequel vous pouvez saisir :

[general]
anon-access = read
auth-access = write
password-db = passwd 
# authz-db = authz
realm = MonZouliProjet Subversion Repository

Installer Trac WebAdmin

Trac WebAdmin est une interface web d'administration de votre ou vos instance(s) Trac offrant un confort appréciable pour administrer vos projets et en gérer les paramètres. Même si nous n'avons pas encore défini de vhost apache, rien ne nous empêche d'installer le plugin, qui passe d'abord par l'installation des setuptools :

$ wget http://peak.telecommunity.com/dist/ez_setup.py
$ sudo python ez_setup.py

Ceci fait, téléchargez le fichier de plugin TracWebAdmin sur le site de Trac, supprimez son extension .zip et installez-le au moyen du programme easy_install précédemment installé, comme suit :

$ wget http://trac.edgewall.org/attachment/wiki/WebAdmin/TracWebAdmin-0.1.1dev_r2765-py2.4.egg.zip?format=raw
$ mv TracWebAdmin-0.1.1dev_r2765-py2.4.egg.zip\?format\=raw TracWebAdmin.egg
$ sudo easy_install TracWebAdmin.egg

Éditez votre fichier de configuration d'instance Trac :

$ sudo vi /var/trac/monzouliprojet/conf/trac.ini

Et ajoutez-y la section suivante (si elle n'existe pas) :

[components]
webadmin.* = enabled

Enregistrez le fichier et quittez.

Créer un hôte virtuel Apache

Nous devons rendre accessible par le web notre instance de Trac ainsi que le dépôt Subversion associé, par le biais d'un hôte virtuel apache dédié :

$ sudo vi /etc/apache2/sites-available/trac.mondomaine.org

On y écrit les paramètres de notre hôte dédié, en admettant que nous disposons du domaine mondomaine.org nanti d'un sous-domaine trac :

<VirtualHost *>
    ServerAdmin webmaster@mondomaine.org
    ServerName trac.mondomaine.org
    
    DocumentRoot /var/trac/monzouliprojet
    <Location />
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnv /var/trac/monzouliprojet
        PythonOption TracUriRoot /
        PythonPath "sys.path + ['/var/trac/monzouliprojet']"
    </Location>

    ErrorLog  /var/log/apache2/error.trac.domaine.org.log
    CustomLog /var/log/apache2/access.trac.domaine.org.log combined
    
    <Location /svn>
        DAV svn
        SVNPath /var/svn/monzouliprojet
        AuthType Basic
        AuthName "Monzouliprojet Subversion repository"
        AuthUserFile /etc/apache2/dav_svn.passwd
        <LimitExcept GET PROPFIND OPTIONS REPORT> 
            Require valid-user
        </LimitExcept>
    </Location>
    
    <Location "/login">
        AuthType Basic
        AuthName "Trac login"
        AuthUserFile /etc/apache2/dav_svn.passwd
        Require valid-user
    </Location>

</VirtualHost>

Vous devrez bien entendu enregistrer le domaine et le sous domaine dans votre fichier de configuration DNS, voire simplement dans votre fichier /etc/hosts si vous disposez d'un service de gestion DNS décentralisé comme celui que propose la société Gandi. Par exemple :

## Fichier /etc/hosts
127.0.0.1         localhost localhost.localdomain mamachine
123.124.125.126   trac.mondomaine.org

Nous utilisons mod_python (précédemment installé), n'oublions pas de l'activer :

$ sudo a2enmod mod_python

Ceci fait, il nous reste à activer le nouvel hôte apache et à relancer ce dernier :

$ sudo a2ensite trac.mondomaine.org
$ sudo /etc/init.d/apache2 restart

Pour vérifier que tout s'est déroulé correctement, faites pointer votre navigateur préféré vers l'adresse trac.mondomaine.org, vous devriez accéder sans encombres à votre instance nouvellement créée. Vous pouvez vous logguer en cliquant sur le lien Login [7] et en fournissant les paramètres d'accès utilisateur que vous avez définis précédemment. Si vous vous logguez en administrateur Trac, vous devriez disposer du menu Admin donnant accès à l'extension WebAdmin où vous pourrez ajuster les paramètres de votre instance aux petits oignons.

Côté subversion, vous pouvez effectuer un checkout de votre projet de cette façon :

$ svn co http://trac.mondomaine.org/svn/trunk/ .

Un commit nécessitera cependant l'authentification ; vous pourrez forcer le nom d'utilisateur à utiliser :

$ svn commit -m "test de commit" main/test/toto.txt --username mainteneur

Sources et références

Notes

[1] Y'a sans doûte mieux, plus simple, plus rapide, plus puissant, blah blah blah... le formulaire d'ajout de commentaire vous attend avec fébrilité.

[2] Ceux qui lorgnent sur la version 0.10 devront l'installer à la main. That's life.

[3] Pensez à remplacer ce chemin par celui que vous préférez dans le reste des exemples de ce tutoriel ;)

[4] Notez que si ce répertoire n'existe pas, le script tentera de le créer pour vous.

[5] Notez également que mon script vous proposera de lancer le script adéquat une fois le projet subversion correctement créé.

[6] Vous pouvez stocker ce fichier sensible où bon vous semble mais par pitié, pas derrière votre racine web et de préférence le rendre accessible en écriture par le seul utilisateur root.

[7] Wow !

lundi 28 août 2006

Sudo me ?

[Via Neolao, via XKCD]

$ sudo makemeasandwich !

Edit: Maintenant disponible en t-shirt.

mardi 20 juin 2006

Installer le framework PHP Symfony sur Ubuntu Dapper Drake

A l'instar de RoR, Symfony est basé sur le motif de conception MVC et utilise une couche d'abstraction d'accès aux données et d'implémentation AJAX. Il est développé en PHP5 par une équipe française, cocorico !

Voyons ensemble comment installer la bête sur une Ubuntu Dapper Drake toute fraîche.

Installation de Symfony

Le meilleur moyen d'installer Symfony mais surtout de le maintenir à jour est d'utiliser le canal PEAR [1] propre au projet. Mais avant tout, vérifions que nous disposons d'un environnement de développement ad-hoc :

$ sudo apt-get install php5 php5-cli php5-mysql php-pear

Le gestionnaire de paquets apt se chargera d'installer les dépendances nécessaires, notamment apache2.

L'installation du canal Symfony nécessite que nous octroyions 16Mo de mémoire vive à PHP. On édite donc le fichier /etc/php5/cli/php.ini et on affecte la nouvelle valeur :

memory_limit = 16M

Bien. Maintenant, installons Symfony et Phing [2] via PEAR :

$ sudo pear upgrade PEAR && sudo pear channel-discover pear.symfony-project.com
$ sudo pear install symfony/symfony
$ sudo pear install --alldeps http://phing.info/pear/phing-current.tgz

OK, ceci fait, on crée un nouveau projet Symfony, que nous baptiserons sobrement monprojet, disposant d'une application monapplication et que nous stockerons sous le docroot /var/www/monprojet :

$ sudo -s
# mkdir /var/www/monprojet
# cd /var/www/monprojet
# symfony init-project monprojet
# symfony init-app monapplication

Voila, notre arborescence Symfony vient d'être créée, on peut commencer à développer ! Non ? Mince, on a oublié de configurer Apache2 ;)

Configuration d'Apache 2

Tout d'abord, activez mod_rewrite :

$ sudo a2enmod rewrite

Ensuite, nous allons créer rapidement un vhost apache, qui pointera benoitement vers dev.monprojet.com (redirigé vers notre hôte local.) Pour cela, éditez votre fichier /etc/hosts et sur la ligne comprenant l'adresse IP 127.0.0.1, ajoutez dev.monprojet.com :

127.0.0.1    localhost localhost.localdomain mamachine dev.monprojet.com

On crée maintenant l'hôte virtuel Apache /etc/apache2/sites-available/dev.monprojet.com dont voici le contenu :

<Directory "/usr/share/php/data/symfony/web/sf">
    AllowOverride All
    Allow from All
</Directory>

<VirtualHost *>
    ServerName dev.monprojet.com
    DocumentRoot "/var/www/monprojet/web"
    DirectoryIndex index.php
    Alias /sf /usr/share/php/data/symfony/web/sf
    
    <Directory "/var/www/monprojet/web">
        AllowOverride All
        Allow from All
    </Directory>
</VirtualHost>

On active l'hôte virtuel nouvellement créé :

$ sudo a2ensite dev.monprojet.com

... et on relance apache :

$ sudo apache2ctl restart

Une dernière petite chose, il faut desactiver les magic_quotes de PHP, dans le fichier /etc/php5/apache2/php.ini :

magic_quotes_gpc = Off

Lancez votre navigateur sur http://dev.monprojet.com, vous devriez obtenir un message du genre :

If you see this page, it means that the creation of your symfony project on this system was successful.

Plus d'informations

Edit du 25 juin 06: Nouvelle version 0.6.3

La version 0.6.3 est sortie. Pour mettre à jour :

$ sudo pear upgrade symfony/symfony

Edit du 26 juin 06 :

Mon camarade de jeu Xavier Lacot vient de publier sur son blog un excellent tutorial dédié à Symfony.

Notes

[1] PEAR propose un système de distribution d'application tierce très pratique, les canaux. Symfony dispose de son propre canal PEAR, mais n'utilise aucune librairie PEAR. Vous avez le droit d'être embrouillés.

[2] Phing est une dépendance de Symfony, qu'il faut installer indépendamment. Haha, elle est bonne, hein?

Opera 9 sort de la beta

Opera 9 sort officiellement de son statut de beta et est directement disponible pour toutes les plateformes, dont Ubuntu Linux.

Le soft propose de nombreuses innovations et marche du tonnerre. Attention, si vous possédez une précédente version du soft, il faudra la désinstaller au préalable [1] :

$ sudo apt-get remove opera

De plus, un message vous avertira de potentiels problèmes d'instabilité liés à l'utilisation d'une version non présentes dans les dépôts officiels. N'utilisez donc pas cette nouvelle version si vous souhaitez garantir une stabilité maximale de votre système.

Enfin, un message d'erreur peut apparaître vous signifiant un conflit avec le paquet opera que vous venez d'installer, n'en tenez pas compte (cela fonctionne très bien malgré cela.)

Téléchargement direct :

Edit: Bon il semblerait qu'il y ait pas mal de bugs d'affichage liés aux CSS, sur ce site notamment mais aussi sur d'autres...

Notes

[1] N'oubliez pas de faire une sauvegarde de vos paramètres au cas où !

lundi 12 juin 2006

Google Earth 4 pour Linux en français !

[Via Zorgloob]

On ne les arrête plus ! Google lance Google Earth 4 en français pour Linux !

dimanche 11 juin 2006

Firefox Windows + Flash Player 8 sous Ubuntu Linux

Pour ceux qui ne digèrent pas de devoir installer Internet Explorer via IEs4linux pour accéder au Flash Player 8, il est possible d'installer Firefox... version Windows grâce à Wine. Pour cela, récupérez l'installeur de Mozilla Firefox Windows 1.5.0.4 et effectuez les opérations suivantes :

$ sudo apt-get install wine
$ wine Firefox\ Setup\ 1.5.0.4.exe

Ceci fait, installez le player Flash 8 :

$ wget http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player.exe
$ wine install_flash_player.exe

Si l'installeur vous demande de spécifier le répertoire d'installation du plugin pour Firefox, précisez c:\Program files\Mozilla Firefox\plugins.

Lancez votre Firefox pour Windows fraîchement installé (un raccourci a été créé sur votre bureau) , et testez la bête.

- page 3 de 10 -