Installer Wordpress sur son serveur dédié

Note: rapportez les bugs et suggestion dans ce topic: http://mondedie.fr/d/5449/1

Introduction:

Je crois que nous avons plus besoin de présenter Wordpress, qui est certainement le meilleur CMS pour créer un blog actuellement.
Vous devez simplement savoir que le tuto est 100% raccord avec les tutos de mon dédié. Pour le faire, j'ai utilisé comme base le script d'installation automatique rtorrent/rutorrent. Wordpress a également besoin de Mysql pour fonctionner. Vous êtes prêt(e)s alors LET'S GO =D

Étape 1: installation et configuration de MYSQL:

On se connecte en root sur le serveur:

su root

On fait une mise à jour:

apt-get update && apt-get upgrade

On installe MYSQL:

apt-get install mysql-server php5-mysql

Entrez un mot de de passe et confirmez.

Nous allons maintenant configurer MYSQL.

mysql_install_db

Et Lancez:

/usr/bin/mysql_secure_installation

Complétez comme ceci:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!


In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n
 ... skipping.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
 ... Failed!  Not critical, keep moving...
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...



All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Nous allons créer une base de donnée pour Wordpress:

Connectez vous sur MYSQL:

mysql -u root -p

Puis:

CREATE DATABASE wordpress;

On va maintenant créer notre utilisateur:

CREATE USER <votre utilisateur>@localhost;

On va lui créer son mot de passe:

SET PASSWORD FOR <votre utilisateur>@localhost= PASSWORD("<votre mot de passe>");

On applique les droits:

GRANT ALL PRIVILEGES ON wordpress.* TO <votre utilisateur>@localhost IDENTIFIED BY '<votre mot de passe>';

On actualise MYSQL:

FLUSH PRIVILEGES;

et on quitte:

exit

MYSQL est désormais installé et configuré.

Étape 2: téléchargement et installation de Wordpress:

Maintenant que MYSQL est installé, nous pouvons nous lancer dans l'installation de Wordpress.

Plaçons nous dans le répertoire temporaire:

cd /tmp

On va télécharger la dernière version de Wordpress:

Toujours vérifier sur Wordpress France si il y a une version plus récente. Si une autre version est disponible sur le site, il vous suffira d'adapte l'url et le numéro de version pour la décompression.

wget http://fr.wordpress.org/wordpress-4.1.1-fr_FR.tar.gz

Puis nous allons décompresser le fichier:

tar -xzvf wordpress-4.1.1-fr_FR.tar.gz

Il faut maintenant le déplacer dans le bon répertoire:

mv /tmp/wordpress /var/www/

Etape 3: configuration de Wordpress:

On va d'abord copier le fichier de configuration d'exemple:

cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php

On peut supprimer le fichier de configuration d'exemple:

rm /var/www/wordpress/wp-config-sample.php

Maintenant on va éditer le fichier de configuration:

nano /var/www/wordpress/wp-config.php

Et modifiez ces lignes:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'le nom de votre base de donnée (wordpress si vous n'avez pas changé le nom)');

/** MySQL database username */
define('DB_USER', 'votre utilisateur');

/** MySQL database password */
define('DB_PASSWORD', 'votre mot de passe');

Ajoutez ces lignes à la fin du fichier:

/** Force https */

define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

On va modifier la fichier de configuration nginx pour éviter les erreurs http lors d'uploads de gros fichiers:

nano /etc/nginx/nginx.conf

et ajouter ceci:

client_max_body_size 100m;

On applique les droits:

chown -R www-data:www-data /var/www/wordpress/

Étape 4: Configuration de Nginx:

A/ Configuration de Wordpress dans un URI
B/ Configuration de Wordpress sur la page d'accueil
C/ Configuration de Wordpress sur un sous-domaine

A vous de savoir ce que vous voulez =)

A/ Configuration de Wordpress dans un URI:

Nous allons modifier notre fichier de configuration nginx:

nano /etc/nginx/sites-enabled/rutorrent.conf

Et ajoutez entre:

server {
.....
}

Ceci:

        ## Début de config wordpress ##

location ^~ /wordpress {
    root /var/www;
    try_files $uri $uri/ /index.php?q=$uri&$args;
    include /etc/nginx/conf.d/php.conf;
    include /etc/nginx/conf.d/cache.conf;
    satisfy any;
    allow all;
   }

    ## fin de config wordpress ##

Enfin:

service nginx restart

Vous pouvez désormais vous rendre sur http://<votre domaine>/wordpress pour terminer l'installation.

B/ Configuration de Wordpress sur la page d'accueil:

Modifions votre fichier de configuration rutorrent:

nano /etc/nginx/sites-enabled/rutorrent.conf

Et ajoutez entre:

server {
.....
}

Ceci:

        ## Début de config wordpress ##

    location ^~ / {
    root /var/www/wordpress;
    include /etc/nginx/conf.d/php.conf;
    include /etc/nginx/conf.d/cache.conf;
    try_files $uri $uri/ /index.php?q=$uri&$args;
    satisfy any;
    allow all;
   }

    ## fin de config wordpress ##

Et supprimez ceci:

        ## début config accueil serveur ##

    location ^~ / {
    root /var/www/base;
    include /etc/nginx/conf.d/php.conf;
    include /etc/nginx/conf.d/cache.conf;
    satisfy any;
    allow all;
    }

    ## fin config accueil serveur ##

On va supprimer le fichier base:

rm -r /var/www/base

Maintenant on va réactiver le plugin Fileshare:

ln -s /var/www/rutorrent/plugins/fileshare/share.php /var/www/wordpress/share.php

On relance nginx:

service nginx restart

Vous pouvez désormais vous rendre sur http://<votre domaine>/ pour terminer l'installation.

C/ Configuration de Wordpress sur un sous-domaine:

Tout d'abord, il va falloir créer un sous-domaine nommé Wordpress au niveau de votre registar. Cela va vous permettre d'avoir une URL comme: wordpress.<votre domaine>.

On va modifier le fichier rutorrent.conf:

nano /etc/nginx/sites-enabled/rutorrent.conf

Remplacez :

server {
        listen 80 default_server;
        listen 443 default_server ssl;
        server_name _;

Par:

server {
        listen 80;
        listen 443 ssl;
        server_name <votre domaine> www.<votre domaine>;

Puis nous allons créer le fichier de configuration de Wordpress:

nano /etc/nginx/sites-enabled/wordpress.conf

Et copiez:

server {
    listen 80;
    listen 443 ssl;
    server_name wordpress.<votre domaine> www.wordpress.<votre domaine>;
    index index.html index.php;
    charset utf-8;

ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;

access_log /var/log/nginx/rutorrent.access.log combined;
error_log /var/log/nginx/rutorrent.error.log error;
   
error_page 500 502 503 504 /50x.html;
location = /50x.html { root /usr/share/nginx/html; }

location = /var/www/site/favicon.ico {
    access_log off;
    return 204;
}

    ## Début de config wordpress ##

location ^~ / {
    root /var/www/wordpress;
    try_files $uri $uri/ /index.php?q=$uri&$args;
    include /etc/nginx/conf.d/php.conf;
    include /etc/nginx/conf.d/cache.conf;
    satisfy any;
    allow all;
   }

    ## fin de config wordpress ##
}

on relance nginx:

service nginx restart

Vous pouvez désormais vous rendre sur http://wordpress.<votre domaine>/ pour terminer l'installation.

Remarque: Une fois l'installation de Wordpress terminée, et si vous voulez changer d'URL, il vous faudra d'abord changer l'URL dans le panneau d'administration Wordpress avant de modifier le fichier rutorrent.conf.

Le tuto est terminé, merci de m'avoir lu.

Enjoy =D

Répondre…