Professional Documents
Culture Documents
co m
Posted on oct 11, 2013 by in InternetTech | 0 comments Partager la publication "Debian 7 Nginx php5-f pm MariaDB phpmyadmin" Facebook Twitter Google+ Viadeo LinkedIn E-mail HOWT O : Open Source Server Debian Wheezy Nginx+php5-fpm+MariaDB+phpmyadmin
Ce lancer dans la cration dun serveur web et par ou commencer ? Le traditionnel LAMP (Linux +Apache+MySql+Php) a de moins en moins la cte et plusieurs succs story du web comme Facebook ont dmarrer sous Nginx rput pour tre bien plus rapide sur les requtes HT T P. Un nouveau tournant est galement apparut avec les systmes de bases de donnes et le f ork de mySql MariaDB en Open Source qui est en train de prendre des parts de marchs. Wikipdia f in 2012 a migr sur MariaDB. Dans la jungle des of f res de serveurs, il nest pas toujours galement vident de trouver un bon rapport qualit/prix et de perf ormance de lhbergeur. Lun des hbergeurs f rancophones le plus rentable pour dmarrer ayant un service aprs vente de qualit et rapide est Be1host. La premire of f re de VPS propose 1 cur (1x 3.0ghz) 512Mo de mmoire et 75Go en Disque dur pour 4,99/mois avec la possibilit dinstaller le serveur sur dif f rentes distribution Linux. Lien vers lhbergeur Egalement pour ce lancer dans lauto-hbergement et apprendre linf ormatique avec un serveur de poche 33 : Raspberry Pi Obtenir un Raspberry Pi
Ce tutorial permet dacquerir des bases dans la cration de serveur avec comme points abords: Connexion console SSH Installation de Nginx Installation de php5 f pm dialoguant avec le serveur http Installation et paramtrage de MariaDB comme gestion de base de donne Utilisation de linterf ace phpmyadmin pour lutilisation en graphique de MariaDB Utilisation de Filezilla pour du transf ert SFT P vers le serveur Transf ert de KrISS Feed pour tester le serveur Connexion console SSH Aprs cration du serveur, mise en place de la distribution voici venu le temps de la premire connexion via SSH distance (Secure Shell) comme protocole de communication scuris. Sous Linux Desktop, la dmarche est simple en ouvrant un terminal. Sous Windows il est ncessaire dutiliser un client comme Putty. Les dmarches sont ici f f ectu sous un desktop linux et via ladresse IP en local 192.168.122.105
1 2
1 2
ECDSA key ngerprint is XXX Are you sure you want t o cont inue connect ing (yes/no)? yes
1 2 3 4 5 6 7 8 9
root @192.168.122.105's password: Linux server1 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64 The programs included wit h t he Debian GNU/Linux syst em are free soft ware; t he exact dist ribut ion t erms for each program are described in t he individual les in /usr/share/doc/*/copyright . Debian GNU/Linux comes wit h ABSOLUTELY NO WARRANTY, t o t he ext ent permit t ed by applicable law.
passwd
1 2 3
1 2
1 2 3
1 2
Changement dans le f ichier de conf iguration SSH du port et dinterdiction de connexion distance en root
1 2 3
# What port s, IPs and prot ocols we list en for Port 36449 Permit Root Login no
1 2 3 4
root @192.168.122.105:~# service ssh rest art [ ok ] Rest art ing OpenBSD Secure Shell server: sshd. Ouvrir un nouveau t erminal et t ent la nouvelle connexion ssh -p @ avec l'ut ilisat eur crer auparavant
Installation de Nginx HT T P serveur Nouvelle commande SSH daccs au serveur distant avec le port et user
su
Mise jours de la liste des paquets et des sources logiciels pour Nginx et PHP5
1 2 3 4
deb ht t p://packages.dot deb.org wheezy all deb-src ht t p://packages.dot deb.org wheezy all deb ht t p://packages.dot deb.org wheezy-php55 all deb-src ht t p://packages.dot deb.org wheezy-php55 all
1 2 3 4 5 6 7 8 9 10
--2013-10-09 16:16:38-- ht t p://www.dot deb.org/dot deb.gpg Rsolut ion de www.dot deb.org (www.dot deb.org)... 88.190.17.153 Connexion vers www.dot deb.org (www.dot deb.org)|88.190.17.153|:80...connect . requt e HTTP t ransmise, en at t ent e de la rponse...200 OK Longueur: 5299 (5,2K) [applicat ion/oct et -st ream] Sauvegarde en : dot deb.gpg 100%[======================================> ;] 5 299 0,006s 2013-10-09 16:16:38 (849 KB/s) - dot deb.gpg sauvegard [5299/5299] --.-K/s ds
Installation dun f irewall serveur et dun logiciel de bannissement dIP (conf iguration non traite)
1 2 3 4
server 0.fr.pool.nt p.org server 1.fr.pool.net p.org server 0.europe.pool.nt p.org server nt p2.jussieu.fr
1 2
Netoyage du serveur pour linstallation du serveur HT T P Nginx. Les serveurs sont livr prconf igur sous Apache rentrant en conf lit avec celui-ci. Netoyage du serveur DNS, Samba et mail.
apt -get inst all nginx php5 php5-fpm php5-cli php5-curl php5-gd php5-mcrypt php5-int l php5mysql unzip bzr
1 2 3
Fin de l'inst allat ion indiquant le redmarrage de php5-FPM Trait ement des act ions dires ( t riggers ) pour php5-fpm ... [ ok ] Rest art ing PHP5 Fast CGI Process Manager: php5-fpm.
Demarrage de Nginx
Vrif ication de linstallation dans le navigateur (eg: IP du serveur ou hostname) [Show slideshow] Installation de php5 fpm dialoguant avec le serveur http Modif ication php.ini contre un exploit 0day Nginx + f astcgi PHP
1 2 3 4 5
; t o use SCRIPT_FILENAME rat her t han PATH_TRANSLATED. ; ht t p://php.net /cgi.x-pat hinfo cgi.x_pat hinfo=0
Chroot du dossier pour Nginx avec lutilisateur www-data (Utilisateur par df ault de Nginx)
passwd www-dat a
1 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
server { list en 80; ## list en for ipv4; t his line is default and implied list en [::]:80 default _server ipv6only=on; ## list en for ipv6 server_name example.com www.example.com (ou IP pour t est ); access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; root /usr/share/nginx/www/example.com; index index.php index.ht ml index.ht m; locat ion / { t ry_les $uri $uri/ /index.php?$args; } locat ion ~ \.php$ { fast cgi_split _pat h_info ^(.+\.php)(/.+)$; t ry_les $uri =404; include fast cgi_params; fast cgi_pass unix:/var/run/php5-fpm.sock; } }
1 2
1 2
1 2
Redmarrage de Nginx
1 2
root @192.168.122.105:/et c/nginx/sit es-enabled# service nginx reload [ ok ] Reloading nginx congurat ion: nginx.
1 2 3
root @192.168.122.105:/et c/nginx/sit es-enabled# nginx -t nginx: t he congurat ion le /et c/nginx/nginx.conf synt ax is ok nginx: congurat ion le /et c/nginx/nginx.conf t est is successful
installation dun f ichier inf o.php pour tester les modules php f onctionnels
nano /usr/share/nginx/www/example.com/info.php
Sauvegarder et quitter
Test dans la conf iguration sur le navigateur et vrif ication du module mysql pour MariaDB [Show slideshow] Installation et paramtrage de MariaDB comme gestion de base de donne edition des sources logiciels de /etc/apt/sources.list
1 2
deb <a href="ht t p://mariadb.mirror.nucleus.be//repo/10.0/debian">ht t p://mariadb.mirror.nucleus.be//repo/10.0/debian</a> wheezy main deb-src <a href="ht t p://mariadb.mirror.nucleus.be//repo/10.0/debian">ht t p://mariadb.mirror.nucleus.be//repo/10.0/debian</a> wheezy main
1 2
root @192.168.122.105:/# mysql -V mysql Ver 15.1 Dist rib 10.0.4-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1
Redmarrage du serveur
Conf iguration de phpmyadmin durant linstallation 1. Choisir un mot de passe 2. Ne rien cocher dans le choix de serveur par df ault , ENT RER
1 2 3 4 5 6 7 8 9 10 11 12 13 14
locat ion /phpmyadmin { root /usr/share/; index index.php index.ht ml index.ht m; locat ion ~ ^/phpmyadmin/(.+\.php)$ { t ry_les $uri =404; root /usr/share/; fast cgi_split _pat h_info ^(.+\.php)(/.+)$; include fast cgi_params; fast cgi_pass unix:/var/run/php5-fpm.sock; fast cgi_index index.php; } locat ion ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|ht ml|xml|t xt ))$ { root /usr/share/; }
Redmarrage de Nginx
1 2
root @192.168.122.105:/et c/nginx/sit es-enabled# service nginx reload [ ok ] Reloading nginx congurat ion: nginx.
1 2 3
root @192.168.122.105:/et c/nginx/sit es-enabled# nginx -t nginx: t he congurat ion le /et c/nginx/nginx.conf synt ax is ok nginx: congurat ion le /et c/nginx/nginx.conf t est is successful
Accs phpmyadmin sur le navigateur via http://IPduServeur/phpmyadmin [Show slideshow] 1. Root Login
2. Aller dans privilges et crer un nouvelle utilisateur 3. Crer une base de donne avec lutilisateur / Cocher tous les privilges > Excuter Base de donne prte lemploi Utilisation de Filezilla pour du transfert SFT P vers le serveur Filezilla permet denvoyer avec une interf ace graphique des f ichiers sur un serveur et galement de grer les rgles daccs aux f ichiers / dossiers. Il utilise le protocole FT P et galement SSH+FT P = SFT P utilisant une meilleure scurit que le port FT P classique et non chif f r. Pour installer Filezilla sous Linux, le logiciel est disponible dans les dpts. Pour Windows ou Mac OS il est ncessaire de le tlcharger ici Conf iguration de Filezilla pour communiquer avec le serveur dans le f ichier racine / appartenant lutilisateur www-data [Show slideshow] Dossier de travail du rpertoire racine / du serveur /usr/share/nginx/www/example.com Transfert de KrISS Feed pour tester le serveur Maintenant que le serveur est en place, un test avec linstallation de KrISS Feed en local dans le dossier racine / du web serveur Nginx. Tranf ert du f ichier via Filezilla dans le dossier de travail du serveur. Pour rcuprer le f ichier index.php transf rer suivre le lien. Pour plus dinf ormation sur lutilisation de KrISS Feed direction le GitHub T lcharger index.php Il reste plus qua entrer dans son navigateur ladresse IP du serveur ou le hostname af f ichant lcran de cration dutilisateur de KrISS Feed. Pour aller plus loin et linstallation de CMS open source (Systme de gestion de contenu) et crer un site web avec WordPress, Joomla ou Drupal Egalement un site de tutoriaux sous linux: HowToForge Article publication by Anthony Le Gof f is licensed under a Creative Commons AttributionNonCommercial-ShareAlike 3.0 Unported License. Anthony Le Gof f est le f ondateur dAlpharatz Consulting en tant que consultant, conseil en Stratgie, veille et innovation, prestation intellectuelle dans la haute technologie, recherche & dveloppement, cyberdf ense. Linux User, Technologies addict. Auditeur ANAJ-IHEDN. Parf ois port par la Science. Edit this page