Après le tutoriel d’installation d’un serveur Nginx Mysql Php (LNMP) il y a une semaine, il serait temps de l’utiliser. On va donc utiliser cette solution de serveurs web pour se faire la main avec des CMS et autres outils largement répandus. Le but à terme est bien entendu d’éventuellement se faire héberger chez les 1and1, OVH etc ... (cours de rattrapage ici pour l’installation de Nginx Basique)

Le but de ce tutoriel est d’installer un phpMyAdmin outil pour gérer facilement la base Mysql et les CMS (content Management Système) simples Joomla3 et WordPress. Dans un autre tutoriel on verra un peu plus en détails Joomla3 et Wordpress.

Un peu de vocabulaire, un site doit se comprendre au sens site web accessible via une url bien spécifique. Serveur lui est à double sens, soit il s’agit du logiciel qui va pousser vos sites telsque Apache ou Nginx, soit un bout de configuration pour ces deux serveurs.


La première chose à faire est de configurer les ‘sites’; un pour le phpMyAdmin, un pour Joomla 3, un pour Wordpress. Il est important de tout bien classer cela évite les mélanges malheureux.

Tout d’abord comme la dernière fois on va utiliser un tout petit peu la console (désolé pour les fans d’autre chose) pour mémoire sous Ubuntu Ctrl + Alt + T pour l’ouvrir.

Petite parenthèse dans Nginx (et apache) on créée les sites (serveur) dans le répertoire sites-available ensuite on créé un lien dans le répertoire sites-enable qui pointe vers sites-available. Tous les sites (serveurs) contenus dans sites-enable sont chargés au démarrage de Nginx.

1) préparation
Avant tout on va modifier son fichier hosts (celui qui fait office de DNS dans sa propre machine :D). et préparer les sources des sites.

sudo gedit /etc/hosts
Ajouter les lignes
127.0.0.1 phpmyadmin.local
127.0.0.1 joomla.local
127.0.0.1 wordpress.local

Avant de commencer la configuration de Nginx on va télécharger les sources php et les installer:
phpMyAdmin :ici
Joomla 3 :ici pack lanfageici
wordpress :ici
petite remarque pour un hébergement sur free.fr ça risque de coincer car tous les serveurs mutualisés ne sont pas en php 5.3

on va décompresser les fichiers récupérés, le plus simple est d’utiliser le gestionnaire de compression. Seul pour Joomla on devra crééer un répertoire lors de la décompression.

configuration Nginx Ubuntuimg 001 configuration Nginx Ubuntuimg 002 configuration Nginx Ubuntuimg 003 configuration Nginx Ubuntuimg 004 configuration Nginx Ubuntuimg 005 configuration Nginx Ubuntuimg 006 configuration Nginx Ubuntuimg 007 configuration Nginx Ubuntuimg 008
2) install phpMyAdmin
Le premier site a créer est phpmyadmin, tout simplement parce qu’avec phpmyadmin on pourra configurer les bases pour Joomla et Wordpress

sudo gedit /etc/nginx/sites-available/phpMyAdmin (attention au minuscule majuscule). Attention on va utiliser ici le port 8080 car en 80 j’ai déjà un serveur apache.

server {
listen 8080;
server_name phpMyAdmin.local;
server_name_in_redirect off;

root /home/jbaptiste/www/nginx/phpMyAdmin-3.5.3-all-languages;
index index.php index.html index.htm default.html default.htm;

# Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}

# deny running scripts inside writable directories

client_max_body_size 20M;

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

# With php5-cgi alone:
fastcgi_pass 127.0.0.1:9000;
#With php5-fpm:
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# include /etc/nginx/fastcgi.conf;
}
# caching of files
location ~* \.(ico|pdf|flv)$ {
expires 1y;
}
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 30d;
}
}

On enregistre, on quitte gedit

cd /etc/nginx/sites-enabled/
on dit à Nginx qu’il y a un nouveau site
sudo ln -s /etc/nginx/sites-available/phpMyAdmin phpMyAdmin
On redémarre Nginx
sudo service nginx restart

voilà dans votre navigateur préféré en tapanthttp://phpmyadmin.local:8080 (ouhttp://phpmyadmin.local ) vous avez un phpMyAdmin installé. On va en profiter pour déclarer de base une qui ce nomera joo3 et une autre wp3. [image]

pour se faire il n’y a que suivre les images ou quasiment.

configuration Nginx Ubuntuimg 009 configuration Nginx Ubuntuimg 010 configuration Nginx Ubuntuimg 011 configuration Nginx Ubuntuimg 012 configuration Nginx Ubuntuimg 013 configuration Nginx Ubuntuimg 014 configuration Nginx Ubuntuimg 015

 

D’abord on entre le user root et le password que vous aviez pris soin de noter au tuto précédent
Un fois entrée dans phpMyAdmin on va ajouter les utilisateurs (joo3 et wp3), dans onglet utilisateur . il faut cliquer sur le lien en bas “ajouter un utilisateur”
Dans la fenêtre qui s’ouvre on entre les champs demandé et surtout on coche ‘créer une base portant son nom’

Voilà nos deux bases sont créées, on peut poursuivre l’installation des Joomla et Wordpress. On va tout d’abord créer les sites dans sites-availables

3) configuration de joomla3
sudo gedit /etc/nginx/sites-available/joomla3

server {
listen 8080;
server_name joomla.local;
server_name_in_redirect off;

root /home/jbaptiste/www/nginx/joomla3;
index index.php index.html index.htm default.html default.htm;

# Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}

# deny running scripts inside writable directories
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}

client_max_body_size 20M;

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

# With php5-cgi alone:
fastcgi_pass 127.0.0.1:9000;
#With php5-fpm:
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# include /etc/nginx/fastcgi.conf;
}
# caching of files
location ~* \.(ico|pdf|flv)$ {
expires 1y;
}

location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
}

On enregistre, on quitte gedit

cd /etc/nginx/sites-enabled/
on dit à Nginx qu’il y a un nouveau site
sudo ln -s /etc/nginx/sites-available/joomla3 joomla3
On redémarre Nginx
sudo service nginx restart

on peut lancer dans un navigateurhttp://joomla.local
sudo gedit ~/www/nginx/joomla3/configuration.php pour éditer le fichier configuration.php qui est donné à la fin de l’installation (faire un copier coller du texte) sauvegarder

effacer le répertoire de configuration avec la commande
sudo rm ~/www/nginx/joomla3/installation/ -rf

installation du pack fr

configuration Nginx Ubuntuimg 016 configuration Nginx Ubuntuimg 017 configuration Nginx Ubuntuimg 018 configuration Nginx Ubuntuimg 019 configuration Nginx Ubuntuimg 020 configuration Nginx Ubuntuimg 021 configuration Nginx Ubuntuimg 022 configuration Nginx Ubuntuimg 023 configuration Nginx Ubuntuimg 024 configuration Nginx Ubuntuimg 025 configuration Nginx Ubuntuimg 026 configuration Nginx Ubuntuimg 027 configuration Nginx Ubuntuimg 028

 

4) configuration de wordpress

sudo gedit /etc/nginx/sites-available/wordpress

server {
listen 8080;
server_name wordpress.local;
server_name_in_redirect off;

root /home/jbaptiste/www/nginx/wordpress;
index index.php index.html index.htm default.html default.htm;

# Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}

# deny running scripts inside writable directories
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}

client_max_body_size 20M;

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

# With php5-cgi alone:
fastcgi_pass 127.0.0.1:9000;
#With php5-fpm:
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# include /etc/nginx/fastcgi.conf;
}
# caching of files
location ~* \.(ico|pdf|flv)$ {
expires 1y;
}

location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
}

On enregistre, on quitte gedit

on dit à Nginx qu’il y a un nouveau site
sudo ln -s /etc/nginx/sites-available/wordpress wordpress
On redémarre Nginx
sudo service nginx restart

c’est presque fini, il faudra encore faire un copier coller dans le fichier wp-config.php, car votre serveur web n’a pas les droits d’écriture dans vos répertoires.
sudo gedit ~/www/nginx/wordpress/wp-config.php

Pour palier au droit d’écriture il y a une solution de bourrin à n’utiliser que sur votre machine perso et jamais au grand jamais dans une machine de production à savoir le chmod 777

sudo chmod 777 ~/www/nginx -R

J’espère que tout c’est bien passé, vous devez pouvoir commencer à triturer votre wordpress et Joomla en ajoutant des articles, des modules etc ...

configuration Nginx Ubuntuimg 029 configuration Nginx Ubuntuimg 030 configuration Nginx Ubuntuimg 031 configuration Nginx Ubuntuimg 032 configuration Nginx Ubuntuimg 033 configuration Nginx Ubuntuimg 034 configuration Nginx Ubuntuimg 035

 

 

Comments powered by CComment

We use cookies

Nous utilisons des cookies sur notre site web. Certains d’entre eux sont essentiels au fonctionnement du site et d’autres nous aident à améliorer ce site et l’expérience utilisateur (cookies traceurs). Vous pouvez décider vous-même si vous autorisez ou non ces cookies. Merci de noter que, si vous les rejetez, vous risquez de ne pas pouvoir utiliser l’ensemble des fonctionnalités du site.