Catégories
Blog Open-source Planet-libre Systeme

Configuration d’un serveur dédié pour votre blog

Nous allons dans ce billet détaillé l’installation d’un serveur WordPress (moteur de blog) sur une machine Linux Ubuntu. Vous aurez ainsi une plate-forme de blogging libre !

Installation du système GNU/Linux

On commence par mettre à jour notre système:

sudo aptitude update

sudo aptitude safe-upgrade

Mise en place des règles de Firewall:

#!/bin/bash

########################

# Nicolargo – 28/10/2009

# Regle de Firewall

# Serveur hebergeant:

# – SSH

# – HTTP

########################

# Debut

# Chargement des modules externes pour le suivi des connexions FTP

modprobe ip_conntrack

modprobe ip_conntrack_ftp

# On commence par effacer toutes les regles

iptables -F

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP

# On autorise les flux locaux

iptables -A INPUT -i lo -j ACCEPT

# On autorise les flux des connexions etablies

iptables -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

#————————–

# Autorise les flux entrant

#————————–

# SSH serveur

iptables -A INPUT -p tcp –dport ssh -j ACCEPT

# Web serveur

iptables -A INPUT -p tcp –dport http -j ACCEPT

#————————–

# Autorise les flux sortant

#————————–

iptables -A OUTPUT -p tcp –dport domain -j ACCEPT

iptables -A OUTPUT -p udp –dport domain -j ACCEPT

iptables -A OUTPUT -p udp –dport ntp -j ACCEPT

iptables -A OUTPUT -p tcp –dport http -j ACCEPT

iptables -A OUTPUT -p tcp –dport https -j ACCEPT

#————————–

# On drop-and-logue le reste

#————————–

# En cas d’attaque de type Syn-Flood

iptables -N syn-flood

iptables -A syn-flood -m limit –limit 10/second –limit-burst 15 -j RETURN

iptables -A syn-flood -j LOG –log-prefix « SYN flood:  »

iptables -A syn-flood -j DROP

# UDP

iptables -A INPUT -p udp -j LOG –log-prefix « IPTABLES UDP-IN:  »

iptables -A INPUT -p udp -j DROP

iptables -A OUTPUT -p udp -j LOG –log-prefix « IPTABLES UDP-OUT:  »

iptables -A OUTPUT -p udp -j DROP

# TCP

iptables -A INPUT -p tcp -j LOG –log-prefix « IPTABLES TCP-IN:  »

iptables -A INPUT -p tcp -j DROP

iptables -A OUTPUT -p tcp -j LOG –log-prefix « IPTABLES TCP-OUT:  »

iptables -A OUTPUT -p tcp -j DROP

# Fin

Automatisation du lancement des règles au démarrage du serveur:

/etc/init.d/iptables.sh

chmod a+x /etc/init.d/iptables.sh

sudo update-rc.d iptables.sh defaults

Installation de LAMP

Simplement avec la commande suivante:

sudo install apache2 mysql-server php5 php5-mysql phpmyadmin

Configuration du serveur Apache

Test d’Apache en entrant l’adresse de votre serveur (http://@IPduserveur/) dans un navigateur Web:  »It works! »

On désactive se site par défaut avec les commandes suivantes:

sudo a2dissite default

/etc/init.d/apache2 reload

Nous allons maintenant configurer le serveur Apache pour gérer les adresses virtuelles. Il faut dans un premier temps déclarer dans votre DNS une nouvelle entrée qui fait pointer le nom de domaine vers l’adresse IP du serveur (blog.mondomaine.com A @IPduserveur).

Pour tester votre DNS (attention la mise à jour peut prendre un certain temps):

ping blog.mondomaine.com

PING blog.mondomaine.com () 56(84) bytes of data.

64 bytes from blog.mondomaine.com (@IPduserveur): icmp_seq=1 ttl=47 time=111 ms

64 bytes from blog.mondomaine.com (@IPduserveur): icmp_seq=2 ttl=47 time=110 ms

64 bytes from blog.mondomaine.com (@IPduserveur): icmp_seq=3 ttl=47 time=110 ms

On configure ensuite le serveur Apache pour cette adresse:

# cd /etc/apache2/sites-available

# sudo vi virtualhosts

On édite:

NameVirtualHost @IPduserveur

<VirtualHost @IPduserveur>

ServerName @IPduserveur

DocumentRoot /var/www/default

</VirtualHost>

<VirtualHost blog.mondomaine.com>

ServerName blog.mondomaine.com

DocumentRoot /var/www/blog

</VirtualHost>

On créer ensuite les arborescences correspondantes:

cd /var/www

sudo mkdir default

sudo mkdir blog

sudo chown -R www-data:www-data *

Puis on active le site:

sudo a2ensite virtualhosts

sudo /etc/init.d/apache2 reload

Configuration de MySQL

On accède au logiciel phpMyAdmin qui va nous permettre de configurer une base de donnée pour notre blog WordPress. Pour cela, il faut saisir l’URL suivante dans votre navigateur: http://blog.mondomaine.com/phpmyadmin/

PHPMyAdmin main page

Puis ensuite saisir le nom de la base de donnée (par exemple blog) et enfin cliquer sur Créer:

Create DB

PS: il est possible (et conseillé) de créer un utilisateur dédié pour pour accéder à cette base de donnée. Le plus simple est de créer un utilisateur (avec comme nom « blog ») puis de demander la création de la base de donnée correspondante. Les droits seront ainsi fixés automatiquement.

Installation de WordPress

La dernière version de WordPress 2.9 arrivera dans les bacs dans les prochains jours. Nous allons donc utiliser la version stable actuelle (WordPress 2.8.6) pour illustrer ce billet.

On commence par télécharger les sources:

wget http://wordpress.org/latest.zip

Puis on décompresse l’archive:

unzip latest.zip

Il faut ensuite déplacer le répertoire wordpress dans la bonne arborescence de votre serveur. Ainsi, si vous souhaitez accéder à votre blog par l'adresse http://blog.mondomaine.com/, il faut copier le contenu du répertoire de la manière suivante.
sudo cp -r ./wordpress/* /var/ww
Par contre si vous souhaitez que votre blog soit accessible par l'adresse  http://blog.mondomaine.com/blog/, il faut saisir la commande:
sudo mv wordpress /var/www/blog
Il faut ensuite éditer le fichier wp-config.php:

cd /var/www cp wp-config-sample.php wp-config.php sudo chmod a+r wp-config.php vi wp-config.php

Puis éditer le fichier selon votre configuration:

define(‘DB_NAME’, ‘blog’);

define(‘DB_USER’, ‘blog’);

define(‘DB_PASSWORD’, ‘monmotdepasse’);

define(‘DB_HOST’, ‘localhost’);

define(‘DB_CHARSET’, ‘utf8’);

define(‘DB_COLLATE’,  »);

Enfin on finalise l’installation en allant à l’URL: http://blog.mondomaine.com/wp-admin/install.php

Pour résumer

Votre blog est maintenant accessible par l’adresse http://blog.mondomaine.com/

L’interface d’administration se trouve à l’adresse: http://blog.mondomaine.com/wp-admin/

Bon blog !

Catégories
Blog Open-source Video Web

Utiliser le tag video HTML 5 dans WordPress

HTML 5 permet l’insertion de média de type audio ou vidéo directement dans une page HTML sans avoir besoin d’autre chose qu’un navigateur compatible (Firefox 3.5 ou Chromium 4.0 par exemple). A l’heure actuelle, il n’est pas possible de créer des billets utilisant ces tags dans WordPress. Il faut donc passer par un plugin qui va nous permettre de contourner le problème et de nous apporter également un compatibilité avec les navigateurs ne supportant pas la norme HTML 5…

Catégories
Blog Developpement Open-source

Adsense-deluxe pour WordPress 2.8.1+

Si comme moi, vous utilisez le plugin Adsense-deluxe pour gérer les espaces publicitaires de votre blog, vous avez eu la désagréable surprise de tomber sur le message suivant suite à une migration de votre blog vers la version 2.8.1 (ou supérieure) de WordPress:

“You do not have sufficient permissions to access this page”

Cela vient d’un problème de développement de certains plugins (dont Adsense-deluxe qui ne semble plus maintenu par son éditeur). Pour résoudre le problème et refaire fonctionner ce trsè bon plugin avec les dernières versions de WordPress, il suffit changer une ligne de code dans le plugin (remplacer l’appel de la fonction admin_head par admin_menu). Pour vous simplifier la tache,  j’ai modifié le plugin pour vous, il ne vous reste plus qu’a télécharger la version compatible du plugin ici (fichier ZIP à dézipper dans le sous répertoire plugin de votre blog WordPress):


Adsense-deluxe for WP 2.8.1+

PS: votre configuration ne sera pas effacée 😉

Catégories
Blog Open-source

Backup complet de votre blog WordPress

J’imagine que vous faites des sauvegardes régulières de votre blog… Si ce n’est pas le cas, voici la méthode que j’utilise pour sauvegarder mon bébé.

Un blog WordPress est composé d’une base de donnée (SQL) et d’un ensemble de fichiers stockés sur un serveur (HTTP/FTP). Il faut donc penser à sauvegarder ces deux éléments.

Sauvegarde de la base de donnée

Le plus simple est d’utiliser le plugins WordPress DB Backup disponible ici. Il suffit ensuite de selectionner les tables à sauvegarder (le plus simple est de toutes les sélectionner) et de programmer backup automatique (toutes les heures, jours ou semaines). Le backup peut être stocké directement sur votre serveur (un peu risqué si celui-ci plante) ou envoyé sous la forme
d’une archive Sql.Gz sur une adresse mail.

Sauvegarde des fichiers

J’utilise un méthode automatique pour effectuer cette sauvegarde (sur ma machine Linux Ubuntu).

Après avoir installé l’utilitaire lftp (le meilleur client FTP en ligne de commande):

sudo apt-get install lftp

J’utilise la commande suivante:

lftp -f blog.lftp

Avec comme fichier blog.lftp:

[shell]

set ftp:list-options -a
set cmd:fail-exit true
set ftp:ssl-allow false
set ftp:passive-mode on
set net:timeout 10
set net:max-retries 2
set net:reconnect-interval-base 5
set net:reconnect-interval-multiplier 1

open -p 21 logindublog:passworddublog@ftpdublog.com
lcd ~/backup/blog/
mirror -e -x public_html/blog/avatars/

quit

[/shell]

Cette commande va:

  1. Ouvrir une connection FTP vers mon serveur ftpdublog.com en utilisant le login logindublog et le mot de passe passworddublog
  2. Faire un mirroir du répertoire /blog de mon serveur vers le répertoire local ~/backup/blog/ (à créer)
  3. Lors du mirroir, on supprime du répertoire local les fichiers qui n’existent plus sur le serveur
  4. On ne backup pas les avatars qui sont dans le répertoire public_html/blog/avatars/

La première sauvegarde risque de prendre un bon bout de temps (surtout si votre blog date un peu). Mais en suite, comme seul le différentiel entre votre serveur et votre répertoire local sera transféré cela ira beaucoup plus vite.

Pour automatiser le lancement de cette commande tout les jours à 1 heure du matin:

# crontab -e

1 0 * * * /usr/bin/lftp -f blog.lftp > /dev/null 2>&1

Et voila, vous pouvez attendre le crach de votre serveur hébergé de manière plus sereine…

Catégories
Blog

Tout WordPress sur une page A4

Dans la grande série des documentations tenant sur une simple page A4, je viens d’en trouver une qui intéressera sûrement tout les blogueurs développant leur propre thème WordPress.

Image 1.png

On trouve en effet sur cette page un résumé des fonctions PHP entrant dans la conception des pages des thèmes WordPress. A avoir sur un coin de table…

Catégories
Blog Open-source Web

Upgrade de WordPress 2.6 vers 2.7

Voici la procédure que je viens de suivre pour migrer mon blog de la version 2.6 vers la toute fraîche 2.7.

On sauvegarde

On commence bien sûr par sauvegarder l’ensemble du blog (contenue ET base de donnée), on sait jamais…

On télécharge

La dernière version (2.7) se trouve ici. On la télécharge sur son PC puis on décompresse l’archive.

On va donc obtenir un jolie répertoire wordpress.

On prépare l’installation

Une fois connecté sur votre serveur (via FTp, SSH…), il faut supprimer les répertoires wp-includes et wp-admin.

On installe

On télécharge le contenu du répertoire wordpress sur notre serveur. Attention de ne pas écraser le répertoire wp-contents mais de copier par dessus…

On finalise l’installation

Pour cela il faut se rendre à l’URL suivant: http://monblog.com/wp-admin/upgrade.php

Puis mettre à jour vos plugins.

Et voila le travail 😉

Image 1.png
Catégories
Blog

Un bon plugin pour les commentaires de votre blog

WP Comment Remix est un plugin WordPress (testé avec WP 2.6) qui ajoute quelques fonctions intéressantes aux commentaires de votre blog:

  • ajout d’un bouton « Répondre » en bas de chaque commentaire (celà va automatiquement insérer un lien vers  le commentaire en question dans le commenatire que vous êtes en train de rédiger)
  • ajout d’un bouton « Citer » en bas de chaque commentaire (pour citer un commentaire d’une autre personne)
  • gestion des tags par commentaires
  • mise à disposition d’un widget pour afficher les derniers commentaires
  • mise à disposition d’un widget pour afficher les derniers trackbacks
  • mise à disposition d’un widget pour afficher les billets les plus commentés
  • mise à disposition d’un widget pour afficher les commenatires les plus actifs

Après installation, il suffit de ce rendre dans les options pour configurer le plugin selon vos besoins (notamment pour changer les mots clès de l’Anglais vers le Francais).

Celà donne cela sur votre blog:

C’est le genre de plugin tout en un que je trouve assez pratique.

A télécharger ici.

Catégories
Blog Open-source

OpenID pour les commentaires WordPress

L’OpenID est un protocole d’authentification centralisé permettant de se faire connaître d’un site à partir d’un nom de domaine DNS (par exemple l’adresse de votre blog). Nous allons, dans ce billet, mettre à disposition des lecteurs de votre blog WordPress cette méthode d’authentification quand ils veulent laisser un commentaire.

Nous allons pour cela utiliser le plugin WordPress WP-OpenID.

Installation du plugin

Après avoir téléchargé la dernière version du plugin à cette adresse, il suffit de décompresser l’archive et de la copier dans le répertoire ‘plugins‘ de votre blog WordPress.

Une fois le plugin activé:

Le blog de NicoLargo › Manage Plugins — WordPress.jpg

il faut se rendre sur la page de configuration:

Le blog de NicoLargo › OpenID options — WordPress.jpg

Test du plugin

Il suffit de se rendre dans la section commentaire d’un billet (il ne fait pas être authentifié) et vérifier que le logo OpenID apparaît à coté de l’URL.

OSIS Interop Testing-1.jpg

Si c’est le cas, le plugin fonctionne parfaitement et vos lecteurs peuvent utiliser leur profil OpenID pour s’authentifier sur votre blog !

PS: la version 2.1.8 de WP-Plugin est actuellement incompatible avec les commentaires AJAX. Si, comme moi, vous les utilisez, il faudra attendre une nouvelle version…

Catégories
Blog

Configurer le tag more dans WordPress

Comme vous le savez il est préférable, afin d’en optimiser le référencement, de ne pas afficher vos articles de manière complète sur la page principale de votre blog. Nous allons voir dans ce billet comment configurer le lien permettant d’emmener vos lecteurs vers l’article complet.

Sous WordPress, le tag <!–more–> doit être insérer dans vos articles pour faire la séparation entre ceux qui sera afficher sur la page principale (index.php) et la page de l’article (single.php). Par défaut, ce tag insère un lien avec le texte suivant: (more…). Pas très beau surtout sur un blog Francophone…

Deux étapes sont nécessaires. La première est la modification de la page index.php de votre thème pour y modifier un des paramètre de la fonction the_content. Ensuite nous allons ajouter une nouvelle classe dans la feuille de style pour configurer l’apparence de ce lien.

Code

Il faut donc ouvrir le fichier index.php, puis trouver la ligne

<?php the_content(); ?>

que l’on remplacera par la ligne suivante:

<?php the_content(‘(>> Lire la suite du billet…)’); ?>

Feuille de style

Une fois la feuille de style de votre thème ouverte dans votre éditeur de texte préféré, il faut y ajouter la section suivante (à modifier selon vos goûts).

.more-link {

font-size: 13px;

font-variant: small-caps;

}

A chaque insertion du tag <!–more–> dans un de vous article, ce dernier sera coupé (seulement sur la page principale) et le lien suivant apparaîtra:


tagmoreexemple.jpg

PS: il existe un plugin WordPress permettant de couper automatiquement les articles.

Catégories
Blog

Abonnements RSS à la carte

Billboard_Feed_128x128.png

De plus en plus de lecteurs utilisent les flux RSS pour suivre l’actualité des blogs et inversement de plus en plus de blogs mettent en avant leurs flux RSS. Cela implique une multiplication des billets dans les logiciels de lectures de flux RSS des utilisateurs… Je suis personnellement abonné à certains blogs dont seulement quelques billets m’intéressent. Nous allons donc dans cet article voir comment proposer un abonnement « à la carte » à vos lecteurs.

Nous allons pour cela utiliser une fonction standard de WordPress (l’équivalente doit sûrement exister sous DotClear) permettant de générer un flux RSS par catégorie.

L’URL d’un tel flux est la suivante:

http://<adressedublog.com>/category/<nom de la categorie>/feed

Par exemple la catégorie blog (qui traite des sujets autour des blogs et de WordPress) sur le blog de Nicolargo est la suivante:

http://blog.nicolargo.com/category/blog/feed

L’idéal est donc d’ajouter une page abonnement (voir exemple ici) dans votre blog en y insérant la liste des catégories et les liens RSS correspondant.

Afin d’automatiser cette « lourde » charge, il est possible d’utiliser le plugin WordPress JPF Category. Ce dernier permet de générer automatiquement la liste des flux RSS par catégorie avec différentes options de présentation (par liste, par colonne, avec ou sans icône…).

J’ai ainsi intégré ce plugin à mon thème pour faire apparaître les liens vers les flux RSS des catégories du billet en cours:

rssparcat.jpg

J’ai pour cela utilisé le bout de code suivant:

Cat&eacute;gorie:

<?php if ( function_exists(‘jpf_catfeed’) ) : ?>

<?php jpf_catfeed( »,‘/wp-content/plugins/jpf_catfeed/rss.gif’,  »,  », ‘,’); ?>

<?php else : ?>

<?php the_category(‘, ‘) ?>

<?php endif; ?>

Proposer vous un abonnement par catégories sur votre blog ? et sinon pourquoi ?