OVH Community, votre nouvel espace communautaire.

[TUTO] VPS OVH installer ngx_pagespeed avec Ubuntu 13.10


shirokoweb
10/02/2014, 11h12
Bonjour à tous,

Je vous propose un petit tutoriel rapide sur comment installer installer ngx_pagespeed avec Ubuntu sur un VPS OVH.
Je vois beaucoup de monde galérer pour y arriver, alors je me suis dit qu'une petite contribution en français serait bien utile.
Ce tuto est le premier d'une petite série que j'ai l'intention de partager avec vous.

Champ d'application :
Ce tutoriel est destiné à une installation dite "fraîche" de votre VPS. Elle ne couvre pas la migration de vos configurations / installations / sauvegardes que vous pourriez éventuellement avoir. Je vous conseille vivement de faire tout backup AVANT de suivre ce tutoriel.

Responsabilité :
Bien que ce tutoriel fonctionne pour ma part, il se peut qu'il ne fonctionne pas pour vous (si vous suivez les instructions fournies à la lettre, vous ne devriez pas rencontrer de soucis). Ainsi, je dégage toute responsabilité en cas de dysfonctionnement.

Quelques trucs sympa à connaître :
Utilisez nano au lieu de vim comme éditeur de texte, interface plus simple si vous débutez en SSH ( y'a le nom dez commandes tout en bas )

Quelques raccourcis SSH :
Pour copier du texte, on sélectionne avec le clique gauche de la souris (mettre en surbrillance) puis on fait un clique milieu.
Pour coller votre texte : clique droit à l'endroit où vous voulez insérer le texte.
Pour supprimer une ligne entière : Ctrl+K
Supprimer un fichier entièrement : rm /chemin_du_fichier_complet/nom_du_fichier ou rm nom_du_fichier si vous êtes déjà dans le dossier
Lister le contenu d'un dossier : ls /chemin_du_fichier_complet/
Lister le contenu du dossier dans lequel vous êtes : ls -1
Dernières commandes tapées : flèche du haut clavier

TUTO

1. Choix de la distribution :
Rendez-vous dans votre manager et réinstallez votre VPS avec Ubuntu 13.10 choix de langue peu important mais je vous suggère anglais par convention...

2. Connectez vous à votre serveur avec un terminal SSH en utilisant les informations reçues dans l'E-mail OVH.

3. Installation des packs :

On installe quelques outils :

Code:
cd ~     #pour revenir au dossier /root

apt-get install sudo
apt-get install unzip
On installe en premier les librairies nécessaires à la construction :

Code:
sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev
Puis on installe mod_pagespeed pour nginx :

Code:
wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.7.30.3-beta.zip
unzip v1.7.30.3-beta.zip && cd ngx_pagespeed-1.7.30.3-beta/
wget https://dl.google.com/dl/page-speed/psol/1.7.30.3.tar.gz
tar -xzvf 1.7.30.3.tar.gz
Nous passons à la compilation de la dernière version de Nginx :

cd ~

wget http://nginx.org/download/nginx-1.5.10.tar.gz
tar -xvzf nginx-1.5.10.tar.gz && cd nginx-1.5.10
Avant de lancer la compilation, on y ajoute l'instruction ./configure --add-module=$HOME/ngx_pagespeed-1.7.30.3-beta pour y intégrer pagespeed !

./configure --add-module=$HOME/ngx_pagespeed-1.7.30.3-beta
make
Vous devriez voir à la fin :

Code:
Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + using builtin md5 code
  + sha1 library is not found
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"
Enfin on procède à l'installation :

Code:
sudo make install
Vous devriez voir à la fin :

Code:
make -f objs/Makefile install
make[1]: Entering directory `/root/nginx-1.5.10'
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
test -d '/usr/local/nginx/sbin'                 || mkdir -p '/usr/local/nginx/sb                                   in'
test ! -f '/usr/local/nginx/sbin/nginx'                 || mv '/usr/local/nginx/                                   sbin/nginx'                     '/usr/local/nginx/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx/sbin/nginx'
test -d '/usr/local/nginx/conf'                 || mkdir -p '/usr/local/nginx/co                                   nf'
cp conf/koi-win '/usr/local/nginx/conf'
cp conf/koi-utf '/usr/local/nginx/conf'
cp conf/win-utf '/usr/local/nginx/conf'
test -f '/usr/local/nginx/conf/mime.types'              || cp conf/mime.types '/                                   usr/local/nginx/conf'
cp conf/mime.types '/usr/local/nginx/conf/mime.types.default'
test -f '/usr/local/nginx/conf/fastcgi_params'          || cp conf/fastcgi_param                                   s '/usr/local/nginx/conf'
cp conf/fastcgi_params          '/usr/local/nginx/conf/fastcgi_params.default'
test -f '/usr/local/nginx/conf/fastcgi.conf'            || cp conf/fastcgi.conf                                    '/usr/local/nginx/conf'
cp conf/fastcgi.conf '/usr/local/nginx/conf/fastcgi.conf.default'
test -f '/usr/local/nginx/conf/uwsgi_params'            || cp conf/uwsgi_params                                    '/usr/local/nginx/conf'
cp conf/uwsgi_params            '/usr/local/nginx/conf/uwsgi_params.default'
test -f '/usr/local/nginx/conf/scgi_params'             || cp conf/scgi_params '                                   /usr/local/nginx/conf'
cp conf/scgi_params             '/usr/local/nginx/conf/scgi_params.default'
test -f '/usr/local/nginx/conf/nginx.conf'              || cp conf/nginx.conf '/                                   usr/local/nginx/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs'                 || mkdir -p '/usr/local/nginx/lo                                   gs'
test -d '/usr/local/nginx/logs' ||              mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html'                 || cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' ||              mkdir -p '/usr/local/nginx/logs'
make[1]: Leaving directory `/root/nginx-1.5.10'
Et voilà, simple comme bonjour !

Le problème quand on compile la source de Nginx, c'est qu'on n'a pas de fichier d'initialisation (à l'inverse des packages déjà prêts à l'emploi)
Il faut donc que l'on créé notre propre fichier dans /etc/init.d. Plutôt que de vous coller un pavé des 500 lignes, tapez la commande suivante :

Code:
sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
Les commandes sont :

service nginx status # afficher le statut actuel
service nginx stop # arrêt du service
service nginx start # démarrer le service

Tapez :

Code:
service nginx start
Vous pouvez à présent vous accéder via votre navigateur préféré sur votre VPS :

http://vpsOVH.com

Si tout c'est passé comme prévu, vous devriez voir :

Code:
Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.
Petit mot de la fin :

N'oubliez pas de nettoyer !

cd ~
rm nginx-1.5.10.tar.gz
rm v1.7.30.3-beta.zip

PS : c'est un tuto d'installation, pas de configuration

prochain tuto :
Installer un serveur optimisé pour les boutiques e-commerce (Prestashop, Magento...) sur son VPS sous Ubuntu + Nginx + pagespeed + MariaDB, et peut-être un FTP (pas encore défini) + ISPConfig 3 + Mail (pas encore défini) si vous êtes allergiques au SSH

Happy config !