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
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
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/

Puis ensuite saisir le nom de la base de donnée (par exemple blog) et enfin cliquer sur Créer:
![]()
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 (on prendre cette hyp:
sudo cp -r ./wordpress/* /var/www
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 !







Blog

Abonnez-vous
14 commentaires au billet “Configuration d'un serveur dédié pour votre blog”
Bien réalisé ton tutoriel. Simple et efficace comme toujours.
Ce ne serait pas plus sur d'avoir un user autre que root sur le serveur et avoir le blog dans le /home/user/www/ plutot ?
Tiens, est-ce qu'il n'est pas conseiller de mettre la racine de son site en userspace? Par exemple : /home/username/public_html (tant qu'à utiliser les virtualhosts)
Sinon ne faut-il pas non plus configurer mysql pour éviter qu'il accepte les connexions extérieures. (ceci dit, c'est peut-être déjà mis dans la configuration par défaut de mysql sous ubuntu).
Merci pour ce beau tuto en tout cas !
C'est bon que si on dispose d'un ip fixe ...
Sinon passer par une solution no-ip
Salut,
Ça ne serait pas :
iptables -P INPUT DROP
iptables -P OUTPUT DROP
au lieu de accept? car là tu autorises tout, non?
[...] Nicolargo : Configuration d’un serveur dédié pour votre blog (tags: server blog howto lang:fr configuration) [...]
Super tuto une fois de plus, ça te dirait pas d'écrire un tuto sur l'installation de Free Radius sur une Debian ?
c'est quoi ce "quot" dans :
iptables -A syn-flood -j LOG --log-prefix "SYN flood: "
?
A remplacer par "
Je viens de corriger le billet !
Bon tuto, comme dit avant, simple, rapide et efficace =)
Je veux pas faire mon troll mais quelle est l'utilité de réaliser un dédié chez soi pour un simple blog ? Ok pour hébergé ses amis, sa famille, les amis de la soeur de l'ami mais à part cela ?
Pour moi, la solution est vraiment exagérée pour un simple blog (encore ce serait un site spécifique avec des scripts spécifiques utilisés par le site.) ?
D'ailleurs, je doute que la QoS d'un petit dédié chez soi ne doit pas être très élevée (pour avoir déjà testé plusieurs fois cela...)
Euh et un petit lien pour parfaire la sécurité de son serveur (pour les plus paranos d'entre nous...) :
http://blog.felix-aime.fr/make-ur-home-secure-web-server/
@feu: je ne préconise pas d'héberger le serveur chez soi (la qualité de service n'est bien sûr par garantie sur les abonnement perso des FAI)... par contre je conseille de prendre une ou plusieurs parts sur un serveur virtualisé (comme chez Gandi ou OVH) et de gérer son propre serveur (blog, web...).
Salut à tous et merci NicoLargo pour tous c'est tuto fort sympatique.
Par contre j'ai un petit soucie, vous aller trouver surement ca débille, mais je suis pas expert la dedans, je n'y connais rien en dns, ...
Mon probleme, après avoir créer le virtualhosts, il me dit :
"Error Name or service not know: Could not resolve blog.xxx.com -- ignoring!"
"Warn NameVirtualHost *:80 has no VirtualHosts"
Une idée ou un conseil pour resolvé ce probleme ??
Merci d'avance
Lamp c'est vraiment le top du top pour monter un serveur. Merci pour ce tutoriel simple à comprendre !
Bonjour @ tous,
merci pour ce tutoriel, j'apprécie beaucoup le script pour iptables (j'suis en brêle en iptables, vive pfSense embarqué sur ALIX
...).
Premièrement, je crois que le & de est de trop, je l'ai enlevé. Ensuite j'ai le même problème que Bilbon :
Reloading web server config: apache2
[Tue Dec 29 22:45:52 2009] [error] (EAI 2)Name or service not known: Could not resolve host name blog.xxx.gotdns.org -- ignoring!
[Tue Dec 29 22:45:52 2009] [warn] NameVirtualHost *:80 has no VirtualHosts.
Pourriez-vous me venir en aide s.v.p ? Merci
Publier un commentaire
Utiliser
pour lier des documents à vos commentaires.
Pour des discutions techniques, merci d'utiliser le forum.