Depuis que je me suis fait spammer mes commentaires de wordpress chez free, et que, ayant bien rempli ma table wp_comments, ils me l'ont simplement supprimé (en mettant aussi le site hors ligne), j'ai décidé de passer chez gandi et d'utiliser un filtre anti-spam de type Akismet.

C'est payant certes, mais cela m'évitera les ennuis du gratuit. Néanmoins, je comprends bien qu'ils ne puissent pas faire dans le détail pour maintenir leurs plateformes.

J'ai donc pris un abonnement "expert" car j'ai lu dans des blogs/forums, notamment sur le wiki de gandi qu'avec une part, c'était juste en installation automatique (AI) pour l'hébergement d'un site wordpress. Je ne veux pas mettre deux part pour mon blog qui accueille 3 personnes. Et puis ça me permet de comprendre un peu mieux comment administrer une toute petite plateforme web.

Comme je n'ai pas vu de post indiquant la marche à suivre en mode expert, voila ce que j'ai fait.

Après avoir créé mon serveur avec l'interface gandi, je me connecte avec mon utilisateur d'administration (disons "admin") en ssh. Ca y est je suis connecté. J'essaye d'installer un serveur web apache :

admin@machine:~$ sudo apt-get install apache2

Je me fais jeter car mon utilisateur n'est pas dans les utilisateurs autorisés à faire des sudo (sudoers). Je me dis alors que l'utilisateur root doit avoir le même mot de passe que mon admin, sinon c'est mort. Effectivement, je peux faire un "su - " et passer en root. Alors j'édite le fichier /etc/sudoers et j'ajoute la ligne :

admin ALL=(ALL) ALL

Afin de donner tous les privilèges à mon utilisateur d'administration, je n'aime pas rester toujours en root :)

Ensuite je peux installer apache/php/mysql :

$ sudo apt-get install apache2
$ sudo apt-get install libapache2-mod-php5
$ sudo apt-get install mysql-server-core-5.1 mysql-server-5.1 \
 mysql-client-5.1
$ sudo apt-get install php5-mysql

Note : plus tard j'ai eu des soucis d'encodage. Comme je suis dans la partie SQL, je précise ici que j'ai passé l'encodage par défaut de la base mysql en UTF-8, plus standard que latin1. Pour ce faire il faut ajouter dans la section [mysqld] du fichier /etc/mysql/my.cnf les lignes suivantes :

character-set-server=utf8
skip-character-set-client-handshake

Et puis faire un

$ /etc/init.d/mysql restart

A présent, nous avons une base mysql qui tourne en utf-8. Nous pouvons alors créer la base qui servira à wordpress :

$ mysql -uroot -p
mysql> create database db_wordpress;
mysql> grant all on db_wordpress.*
   > to 'utilisateur_wordpress'@'localhost'
    > identified by 'motdepasse';

...et tester que ça fonctionne :

$ mysql -uutilisateur_wordpress -pmotdepasse db_wordpress

Ensuite il faut configurer apache, c'est indiqué partout et notamment ici. Ainsi que les zones DNS du nom de domaine si vous en avez un comme ici également.

Voila. Reste à installer wordpress dans le répertoire pointé par votre apache :

$ sudo wget http://fr.wordpress.org/wordpress-2.9.2-fr_FR.zip
$ # ah pas de unzip dans les packages
$ sudo apt-get install unzip
$ sudo unzip wordpress-2.9.2-fr_FR.zip

Et configurer wp-config.php pour que wordpress pointe vers la base wordpress :

$ cd wordpress
$ sudo cp wp-config-sample.php wp-config.php
$ sudo vi wp-config.php
define('DB_NAME', 'db_wordpress');
define('DB_USER', 'utilisateur_wordpress');
define('DB_PASSWORD', 'motdepasse');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');

Dernière chose, pour que le mail fonctionne (utile pour les mots de passes, et les notifications de wordpress), il faut installer un agent de transfert de mail (MTA). J'ai installé postfix qui inclut sendmail.

$ sudo apt-get install postfix
$ sudo cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
$ sudo /etc/init.d/postfix reload

Ensuite, vous pouvez vous connecter sur l'url de votre site, qui vous redirigera automatiquement vers l'installation de wordpress (initialisation de la base de données).

En ce qui me concerne, je suis très satisfait des interfaces et des possibilités offertes par gandi. Une part pour l'instant me suffit amplement pour gérer les utilisateurs qui viennent sur le site, et si jamais leur nombre augmente, je sais que je peux monter en nombre de parts. J'utilise après cette installation et l'import de mes anciennes données wordpress 778Mo de disque, 200Mo de mémoire environ et j'ai un load average de 0.06.