Différences
Ci-dessous, les différences entre deux révisions de la page.
— |
wiki:serveur.web [2018/04/23 19:13] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== LAMP ====== | ||
+ | ===== Apache2 ===== | ||
+ | Commençons par l' | ||
+ | debian: | ||
+ | < | ||
+ | centos: | ||
+ | <code bash> | ||
+ | FreeBSD: | ||
+ | <code bash> | ||
+ | #On se rend dans le dossier port de apache | ||
+ | cd / | ||
+ | #on choisit les modules qu'on installe avec apache | ||
+ | make config-recursive | ||
+ | #on compile et on installe | ||
+ | make install clean | ||
+ | #noobway | ||
+ | pkg install apache24 mysql56-server-5.6.25 php56-5.6.11 mod_php56-5.6.11 | ||
+ | #on oublie pas de rajouter apache a notre fichier / | ||
+ | echo " | ||
+ | </ | ||
+ | Si vous voulez mettre en place des virtual hosts, d' | ||
+ | Afin de pouvoir les créer nous allons rajouter ces quelques lignes dans le fichier /// | ||
+ | <code apache> | ||
+ | NameVirtualHost * | ||
+ | Include conf.d/ | ||
+ | Include / | ||
+ | Include / | ||
+ | </ | ||
+ | Si vous êtes sous Debian, vous aurez a créer dans le dossier /// | ||
+ | Sinon, on peut créer le Vhost directement dans le fichier /// | ||
+ | < | ||
+ | < | ||
+ | ServerAdmin webmaster@localhost | ||
+ | ServerName www.monserver.com | ||
+ | DocumentRoot /var/www | ||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride None | ||
+ | </ | ||
+ | < | ||
+ | Options Indexes FollowSymLinks MultiViews | ||
+ | AllowOverride None | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </ | ||
+ | ScriptAlias /cgi-bin/ / | ||
+ | < | ||
+ | AllowOverride None | ||
+ | Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch | ||
+ | Order allow,deny | ||
+ | Allow from all | ||
+ | </ | ||
+ | ErrorLog ${APACHE_LOG_DIR}/ | ||
+ | LogLevel warn | ||
+ | |||
+ | CustomLog ${APACHE_LOG_DIR}/ | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | avec pour ServerName : votre nom de domaine\\ | ||
+ | et pour DocumentRoot : l' | ||
+ | Suite a la création de ce fichier il suffit de l' | ||
+ | < | ||
+ | et vous obtiendrez un resultat tel quel:\\ | ||
+ | < | ||
+ | vincent@Vincent:/ | ||
+ | Enabling site monsite.conf. | ||
+ | To activate the new configuration, | ||
+ | service apache2 reload | ||
+ | vincent@Vincent:/ | ||
+ | [....] Restarting web server: apache2 | ||
+ | . ok | ||
+ | </ | ||
+ | ===== Mysql ====== | ||
+ | Passons maintenant a l' | ||
+ | < | ||
+ | Suivez tout bêtement l' | ||
+ | Enfin, il reste plus qu'a modifier le fichier mysql_secure_installation et d' | ||
+ | <code bash> | ||
+ | vincent@Vincent:/ | ||
+ | Enter password: | ||
+ | Welcome to the MySQL monitor. | ||
+ | Your MySQL connection id is 37 | ||
+ | Server version: 5.5.38-0+wheezy1 (Debian) | ||
+ | |||
+ | Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. | ||
+ | |||
+ | Oracle is a registered trademark of Oracle Corporation and/or its | ||
+ | affiliates. Other names may be trademarks of their respective | ||
+ | owners. | ||
+ | |||
+ | Type ' | ||
+ | |||
+ | mysql> | ||
+ | </ | ||
+ | si vous avez ça qui s' | ||
+ | Il ne vous reste plus qu'a créer vos bases de données. | ||
+ | ===== PhpMyAdmin ===== | ||
+ | Maintenant que Mysql est installé et que nous sommes pas très chauds pour travailler en ligne de commande on va installer PhpMyAdmin qui sera notre interface pour gérer nos bases de données depuis le navigateur web.\\ | ||
+ | Pour l' | ||
+ | <code bash> | ||
+ | # apt-get install phpmyadmin | ||
+ | </ | ||
+ | suivez l' | ||
+ | Une fois tout ça fait, redémarrez le serveur apache avec la commande vue au dessus. | ||
+ | Une fois installé, quelques modifications sont encore a faire dans le fichier /// | ||
+ | <code bash> | ||
+ | mv config.sample.inc.php config.inc php | ||
+ | </ | ||
+ | ensuite ajoutez une phrase a votre blowfish_secret qui vous permettra de garder votre nom d' | ||
+ | < | ||
+ | $cfg[' | ||
+ | </ | ||
+ | et vous pouvez si vous le souhaitez dé-commentez toutes les options un peut plus bas dans le fichier en dessous de " /* Storage database and tables */ " | ||
+ | ===== FTP ===== | ||
+ | Passons maintenant a l' | ||
+ | Et pour cela nous allons utiliser ProFTPD\\ | ||
+ | Pour cela, et comme pour les applications installées auparavant, une ligne de commande et ça s' | ||
+ | <code bash> | ||
+ | sudo aptitude install proftpd proftpd-mod-mysql | ||
+ | </ | ||
+ | Une fois Proftpd installé, vient la configuration: | ||
+ | Pour commencer au niveau de la configuration, | ||
+ | et y ajouter ceci: | ||
+ | <code apache> | ||
+ | LoadModule mod_sql.c | ||
+ | LoadModule mod_mysql.c | ||
+ | </ | ||
+ | Une petite sécurité en plus est a prévoir pour éviter que cet utilisateur se ballade dans les dossiers | ||
+ | précédant dans lesquels il est pas sensé aller,il suffit juste d' | ||
+ | dans le fichier protfp.conf: | ||
+ | <code apache> | ||
+ | #use this to jail all users in their homes | ||
+ | DefaultRoot ~ | ||
+ | </ | ||
+ | ===== Messagerie ===== | ||
+ | Avant tout, pour utiliser postfix, créez un utilisateur ainsi qu'un groupe\\ | ||
+ | Pour l' | ||
+ | on installe tout ça avec la commande suivante: | ||
+ | <code bash> | ||
+ | sudo aptitude install g++ make gnupg libdb-dev | ||
+ | wget ftp:// | ||
+ | </ | ||
+ | Puis téléchargez postfix avec cette commande: | ||
+ | <code bash> | ||
+ | sudo wget ftp:// | ||
+ | </ | ||
+ | On extrait ensuite notre archive de postfix dans le dossier / | ||
+ | Et on compile et on installe avec les commandes suivantes. | ||
+ | <code bash> | ||
+ | make makefiles CCARGS=' | ||
+ | make | ||
+ | make install | ||
+ | </ | ||
+ | Une fois l' | ||
+ | simplifier l' | ||
+ | <code bash> | ||
+ | echo -e" | ||
+ | </ | ||
+ | Maintenant que postfix est installé on va s' | ||
+ | configuration: | ||
+ | <code apache> | ||
+ | inet_interfaces=all #précise l' | ||
+ | mydomain=monnomdedomaine.com #précise le nom de domaine sur lequel pointe postfix | ||
+ | </ | ||
+ | Avant de démarrer le service, il nous faut gérer les alias, en d' | ||
+ | utilisateur du serveur. On se déplace dans// / | ||
+ | <code apache> | ||
+ | root: pi@olibrary.tk | ||
+ | support: support@olibrary.tk | ||
+ | </ | ||
+ | Une fois les aliases configurés, | ||
+ | <code bash> | ||
+ | postfix start | ||
+ | </ | ||
+ | ===== Sécurité ===== | ||
+ | Mise en place de l' | ||
+ | Pour cela on crée le fichier .htaccess dans lequel on met les informations suivantes: | ||
+ | <code apache> | ||
+ | AuthType Basic #type d' | ||
+ | AuthName " | ||
+ | AuthUserFile " | ||
+ | Require user " | ||
+ | </ | ||
+ | Ensuite, une fois notre fichier htaccess configuré, il nous faut creer et remplir le fichier .htpasswd qui contiendra les différents utilisateurs ainsi que leur mot de passe pour se connecter sur le htaccess\\ | ||
+ | Pour cela on va utiliser la commande suivante: | ||
+ | <code bash> | ||
+ | htpasswd -c mon/ | ||
+ | </ | ||
+ | Il nous reste plus qu'a modifier le fichier de notre VHost soit / | ||
+ | <code apache> | ||
+ | AllowOverride All | ||
+ | exemple: | ||
+ | < | ||
+ | AllowOverride None | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </ | ||
+ | </ | ||
+ | Passons maintenant a Fail2Ban qui sera notre utilitaire pour empecher tout bruteforce de connection au serveur. | ||
+ | Pour cela, on va l' | ||
+ | <code bash> | ||
+ | sudo aptitude install fail2ban | ||
+ | </ | ||
+ | ensuite il vous suffis de modifier le fichier /// |