{"id":911,"date":"2012-12-23T17:14:30","date_gmt":"2012-12-23T15:14:30","guid":{"rendered":"http:\/\/wilibre.homelinux.net\/?p=911"},"modified":"2016-03-30T21:27:55","modified_gmt":"2016-03-30T20:27:55","slug":"resume-de-la-creation-dun-serveur-web","status":"publish","type":"post","link":"https:\/\/wilibre.tk\/blog\/resume-de-la-creation-dun-serveur-web\/","title":{"rendered":"R\u00e9sum\u00e9 de la cr\u00e9ation d&rsquo;un serveur web"},"content":{"rendered":"<p>J&rsquo;ai r\u00e9sum\u00e9 les 2 articles (Ubuntu Server : sites web et Ubuntu Server : fichiers et autres) pr\u00e9c\u00e9demment r\u00e9cup\u00e9r\u00e9 afin d&rsquo;en faire un plus synth\u00e9tique qui servira juste \u00e0 ne pas louper les \u00e9tapes cl\u00e9s.<br \/>\n<!--more--><br \/>\nJ&rsquo;ai pris pour exemple certains noms:<br \/>\n&#8211; pi: le nom d&rsquo;utilisateur du serveur<br \/>\n&#8211; willy: le nom d&rsquo;utilisateur distant<br \/>\n&#8211; wilibre.homelinux.net: le nom du site<\/p>\n<h2>Installation<\/h2>\n<p>Installons les paquets recquis:<br \/>\n<code>sudo apt-get install apache2 mysql-server phpmyadmin php5 libapache2-mod-php5 php5-mysql apache2-mpm-itk<\/code><\/p>\n<h2>Apache<\/h2>\n<p>ajoutons des commandes raccourci:<br \/>\n<code> nano .bashrc<\/code><br \/>\npuis dans le fichier fraichement ouvert, ajoutons quelques lignes \u00e0 la fin:<br \/>\n<code># Apache aliases<br \/>\nalias a2restart='sudo \/etc\/init.d\/apache2 restart'<br \/>\nalias a2reload='sudo \/etc\/init.d\/apache2 reload'<br \/>\nalias a2conf='sudo nano \/etc\/apache2\/apache2.conf'<br \/>\nalias a2sites='sudo nano \/etc\/apache2\/sites-enabled\/000-default'<br \/>\nalias a2ssl='sudo nano \/etc\/apache2\/sites-enabled\/ssl'<\/code><\/p>\n<p>Ajoutons des modules \u00e0 Apache:<br \/>\n<code>sudo a2enmod rewrite deflate headers expires<\/code><\/p>\n<p>Puis configurons le:<br \/>\n<code>a2conf<\/code><br \/>\npuis dans le fichier fraichement ouvert, \u00e0 nouveau \u00e0 la fin:<br \/>\n<code>ServerName wilibre.homelinux.net<br \/>\n#<br \/>\n# We activate the gzip compression for everything that is served<br \/>\n&lt;IfModule mod_deflate.c&gt;<br \/>\n&lt;FilesMatch \".(js|css|php|svg|html|htm|xhtml|txt|xml)$\"&gt;<br \/>\nSetOutputFilter DEFLATE<br \/>\n&lt;\/FilesMatch&gt;<br \/>\n&lt;\/IfModule&gt;<br \/>\n#<br \/>\n# We set a high expire value to static and big files<br \/>\n&lt;IfModule mod_expires.c&gt;<br \/>\nExpiresActive On<br \/>\nExpiresByType image\/gif \"access plus 30 days\"<br \/>\nExpiresByType image\/jpg \"access plus 30 days\"<br \/>\nExpiresByType image\/jpeg \"access plus 30 days\"<br \/>\nExpiresByType image\/png \"access plus 30 days\"<br \/>\nExpiresByType image\/bmp \"access plus 30 days\"<br \/>\nExpiresByType image\/x-icon \"access plus 30 days\"<br \/>\nExpiresByType image\/svg+xml \"access plus 30 days\"<br \/>\nExpiresByType text\/css \"access plus 30 days\"<br \/>\nExpiresByType application\/x-javascript \"access plus 30 days\"<br \/>\n&lt;\/IfModule&gt;<br \/>\n#<br \/>\n# We set a special http header for some files<br \/>\n&lt;IfModule mod_headers.c&gt;<br \/>\n&lt;FilesMatch \".(gif|jpg|jpeg|png|bmp|ico|svg|css|js)$\"&gt;<br \/>\nHeader set Cache-Control \"max-age=2592000, public\"<br \/>\n&lt;\/FilesMatch&gt;<br \/>\n&lt;\/IfModule&gt;<\/code><\/p>\n<p>Rechargeons Apache pour voir si nous n&rsquo;avons pas fait d&rsquo;erreur:<br \/>\n<code>a2restart<\/code><\/p>\n<p>Maintenant, sp\u00e9cifions \u00e0 Apache, les informations de notre site:<br \/>\n<code>a2sites<\/code><br \/>\nPuis dans le fichier ouvert, supprimons tout (maj + T) afin de r\u00e9-\u00e9crire:<br \/>\n<code># BEGIN EXAMPLE VIRTUAL HOST<br \/>\n&lt;VirtualHost *:80&gt;<br \/>\n# ci-dessous le nom du serveur, dans mon cas wilibre.homelinux.net<br \/>\nServerName wilibre.homelinux.net<br \/>\n# si vous souhaitez ajouter une autre adresse, vous pouvez faire comme ci-dessous<br \/>\nServerAlias wilibre.tk<br \/>\n# les 2 lignes qui suivent permettent de preciser le chemin du dossier<br \/>\nDocumentRoot \/home\/pi\/www<br \/>\n&lt;Directory \/home\/pi\/www&gt;<br \/>\nOptions FollowSymLinks MultiViews<br \/>\nOrder allow,deny<br \/>\nallow from all<br \/>\n&lt;\/Directory&gt;<br \/>\n# la ligne qui suit evite des bugs avec wordpress<br \/>\n&lt;IfModule mpm_itk_module&gt;<br \/>\n# la ligne ci-dessous permet de definir le nom d'utilisateur<br \/>\nAssignUserId pi pi<br \/>\n&lt;\/IfModule&gt;<br \/>\n&lt;\/VirtualHost&gt;<br \/>\n# END EXAMPLE VIRTUAL HOST<\/code><br \/>\nEn rempla\u00e7ant les chemins et adresses par les v\u00f4tres.<\/p>\n<p>Rechargeons \u00e0 nouveau Apache:<br \/>\n<code>a2restart<\/code><\/p>\n<h2>PHP<\/h2>\n<p>Modifions la taille maximale des envois de fichiers; commen\u00e7ons par taper:<br \/>\n<code>sudo nano \/etc\/php5\/apache2\/php.ini<\/code><br \/>\npuis ctrl + W pour rechercher les termes \u00ab <em>upload_max_filesize<\/em> \u00bb et \u00ab <em>post_max_size<\/em> \u00bb afin de remplacer la valeur par 32.<\/p>\n<h2>MySQL \/ PHPMyAdmin<\/h2>\n<p>Connectons-nous \u00e0 PHPMyAdmin (http:\/\/<em>mon.site<\/em>\/phpmyadmin) puis dans \u00ab\u00a0privil\u00e8ges\u00a0\u00bb et \u00ab\u00a0ajout d&rsquo;un utilisateur\u00a0\u00bb. Cr\u00e9ons un utilisateur comme sur la copie d&rsquo;\u00e9cran ci-dessous:<br \/>\n<img decoding=\"async\" src=\"http:\/\/wilibre.homelinux.net\/images\/phpmyadmin.png\" alt=\"PHPMyadmin\" \/><\/p>\n<h2><strong>serveur FTP<\/strong><\/h2>\n<p>Installons PureFTPd:<br \/>\n<code>sudo apt-get install pure-ftpd<\/code><\/p>\n<p>D\u00e9finissons les ports utilis\u00e9s par le mode passif :<br \/>\n<code>sudo nano \/etc\/pure-ftpd\/conf\/PassivePortRange<\/code><br \/>\net \u00e9crivons dans le fichier<br \/>\n<code>3000 3005<\/code><\/p>\n<p>Fermons le fichier et saisissons:<br \/>\n<code>sudo nano \/etc\/pure-ftpd\/conf\/ChrootEveryone<\/code><br \/>\net \u00e9crivons dans le fichier<br \/>\n<code>yes<\/code><\/p>\n<p>Ajoutons un utilisateur:<br \/>\n<code>sudo pure-pw useradd willy -u pi -g pi -d \/home\/pi\/www<\/code><\/p>\n<p>Reconstruisons la base de donn\u00e9e d\u2019utilisateurs PureFTPd:<br \/>\n<code>sudo pure-pw mkdb<\/code><\/p>\n<p>Red\u00e9marrons le serveur FTP:<br \/>\n<code>sudo \/etc\/init.d\/pure-ftpd restart<\/code><\/p>\n<h2>Conclusion<\/h2>\n<p>Normalement, si tout c&rsquo;esst bien pass\u00e9, tu as un serveur web fonctionnel (pour l&rsquo;instant, uniquement sur ton r\u00e9seau local). Il te restera \u00e0 \u00e9crire ou copier les fichiers dans ton dossier \u00ab\u00a0www\u00a0\u00bb et configurer ta bobox pour rediriger les requ\u00eates web vers ton serveur web. Perso, dans mon dossier \u00ab\u00a0wwww\u00a0\u00bb, j&rsquo;ai mis le CMS (ou en francais, \u00ab\u00a0gestionnaire de contenu\u00a0\u00bb) WordPress pour mon site \u00ab\u00a0wilibre.homelinux.net\u00a0\u00bb.<\/p>\n<h2>A venir<\/h2>\n<p>Si tout se passe comme je le souhaite, je compte utiliser un raspberry pi comme serveur web basse consommation et donc silencieux; mon raspberry pi me permettra de continuer \u00e0 t&rsquo;aider tout en pr\u00e9servant notre ch\u00e8re plan\u00e8te!<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>J&rsquo;ai r\u00e9sum\u00e9 les 2 articles (Ubuntu Server : sites web et Ubuntu Server : fichiers et autres) pr\u00e9c\u00e9demment r\u00e9cup\u00e9r\u00e9 afin d&rsquo;en faire un plus synth\u00e9tique qui servira juste \u00e0 ne pas louper les \u00e9tapes cl\u00e9s.<\/p>\n<\/div>","protected":false},"author":4,"featured_media":1118,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-911","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gnulinux"],"_links":{"self":[{"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/posts\/911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/comments?post=911"}],"version-history":[{"count":1,"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/posts\/911\/revisions"}],"predecessor-version":[{"id":1140,"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/posts\/911\/revisions\/1140"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/media\/1118"}],"wp:attachment":[{"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/media?parent=911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/categories?post=911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wilibre.tk\/blog\/wp-json\/wp\/v2\/tags?post=911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}