LAMP

Apache2

Commençons par l'installation d'Apache2,de php5 ainsi que de quelques utilitaires, et pour cela nous allons utiliser la commande suivante :
debian:

aptitude install apache2 apache2-utils php5 php5-dev php5-gd

centos:

sudo yum install httpd mysql-server php php-mysql

FreeBSD:

#Avec ports
cd /usr/ports/www/apache24/
make config-recursive
make
make install clean
#Avec pkg
pkg install apache24 mysql56-server-5.6.25 php56-5.6.11 mod_php56-5.6.11
#rajout d'apache au fichier /etc/rc.conf
echo "apache24_enable='Yes'">/etc/rc.conf

Afin de mettre en place des virtual hosts, d'autres actions sont nécessaires.
Pour les créer il est nécessaire d'éditer le fichier /etc/apache/apache.conf ou /etc/apache/httpd.conf:

NameVirtualHost * 
Include conf.d/*.conf
Include /etc/phpmyadmin/apache.conf
Include /etc/apache/sites-enabled

Sous Debian, les fichiers de configuration des Vhosts se mettent dans le dossier /etc/apache2/sites-availables, les fichiers suivent ce modèle.

<VirtualHost *:80>
	ServerAdmin webmaster@localhost
        ServerName www.monserver.com
	DocumentRoot /var/www
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>
 
	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>
	ErrorLog ${APACHE_LOG_DIR}/error.log
	LogLevel warn
 
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost*:80>:pour dire qu'on écoute sur toutes les adresses et sur le port 80
avec pour ServerName : votre nom de domaine
et pour DocumentRoot : le chemin du dossier du site sur le serveur.

Suite a la création de ce fichier il suffit de l'activer et de redémarrer le serveur apache avec la commande suivante:
Sous Debian:

a2ensite <Vhost> && service apache2 restart

Sinon:

service apache2 restart

Si tout est bien configuré, la sortie devrait ressembler à:

root@oweteam:a2ensite monsite.conf
Enabling site monsite.conf.
To activate the new configuration, you need to run:
  service apache2 reload
root@oweteam:/etc/apache2/sites-available$ service apache2 restart
[....] Restarting web server: apache2
. ok 

Mysql

Passons maintenant a l'installation de Mysql qui sera notre système de bases de données, et pour cela, rien de plus simple, il vous suffis de lancer la commande:

aptitude install mysql-server php5-mysql

Suivez tout bêtement l'installation de Mysql, juste rentrez le mot de passe de votre future session root Mysql et gardez le bien au chaud, vous en aurez rapidement besoin.
Enfin, il reste plus qu'a modifier le fichier mysql_secure_installation et d'activer ou désactiver ce que vous voulez et enfin, à tester si votre installation Mysql fonctionne

vincent@Vincent:/etc/apache2/sites-available$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
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 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql>

si vous avez ça qui s'affiche c'est que tout fonctionne. 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'installation , c'est aussi facile que pour Mysql, il vous suffira de taper la commande suivante:

# apt-get install phpmyadmin

suivez l'installation et au moment ou il vous demande quel serveur web vous utilisez, repondez apache2
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 /usr/share/phpmyadmin/config.inc.php, si vous l'avez pas, faites:

mv config.sample.inc.php config.inc php

ensuite ajoutez une phrase a votre blowfish_secret qui vous permettra de garder votre nom d'identifiant dans le champ sur l'interface phpmyadmin.

$cfg['blowfish_secret'] = 'masuperphrasemagique';

et vous pouvez si vous le souhaitez, dé-commentez toutes les options un peu plus bas dans le fichier en dessous de “ ”

FTP

Passons maintenant a l'installation de notre application FTP.
Et pour cela nous allons utiliser ProFTPD
Pour cela, et comme pour les applications installées auparavant, une ligne de commande et ça s'installe.

sudo aptitude install proftpd proftpd-mod-mysql 

Une fois Proftpd installé, vient la configuration:
Pour commencer au niveau de la configuration, on va modifier le fichier /etc/proftpd/module.conf et y ajouter ceci:

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'ajouter(ou de-commenter) la ligne suivante dans le fichier proftpd.conf:

#use this to jail all users in their homes
DefaultRoot ~

Sécurité

Mise en place de l'authentification par htacces qui empechera les utilisateurs non autorisés a venir sur notre page.
Pour cela on crée le fichier .htaccess dans lequel on met les informations suivantes:

AuthType Basic #type d'authentification(basic,anonyme,digest)
AuthName "Restricted Access" #message affiché sur la fenêtre
AuthUserFile "mon/chemin/vers/mon/.htpasswd" #endroit ou se trouve le fichier .htpasswd
Require user "root" #l'utilisateur avec lequel se connecter

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:

htpasswd -c mon/chemin/vers/mon/.htpasswd [utilisateur]

Il nous reste plus qu'a modifier le fichier de notre VHost soit /etc/apache2/sites-availables et y ajouter:

AllowOverride All
exemple:
<Directory /var/www/>
	AllowOverride None
	Order allow,deny
	allow from all
</Directory>

Passons maintenant a Fail2Ban qui sera notre utilitaire pour empecher tout bruteforce de connection au serveur. Pour cela, on va l'installer avec la commande suivante:

sudo aptitude install fail2ban

ensuite il vous suffis de modifier le fichier /etc/fail2ban/jail.conf ou vous pourrez parametrer certains criteres tel que les ports a surveiller,le service, la durée de ban, le nombre d'essais avant ban ou autres.

wiki/lamp.txt · Dernière modification: 2018/04/25 10:44 par root
CC0 1.0 Universal
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5