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:

#On se rend dans le dossier port de apache
cd /usr/ports/www/apache24/
#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 /etc/rc.conf
echo "apache24_enable='Yes'">/etc/rc.conf

Si vous voulez mettre en place des virtual hosts, d'autres actions vont devoir êtres effectuées.
Afin de pouvoir les créer nous allons rajouter ces quelques lignes dans le fichier /etc/apache2/apache2.conf:

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

Si vous êtes sous Debian, vous aurez a créer dans le dossier /etc/apache2/sites-availables un fichier de conf suivant ce modèle. Sinon, on peut créer le Vhost directement dans le fichier /etc/apache24/httpd.conf

<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 que l'on ne filtre pas les adresses et que le Vhost sera sur le port 80
avec pour ServerName : votre nom de domaine
et pour DocumentRoot : l'endroit sur votre serveur ou se trouve votre site (par défaut /var/www).\\
Suite a la création de ce fichier il suffit de l'activer et de redémarrer le serveur apache avec la commande suivante:

sudo a2ensite [Vhost] && /etc/init.d/apache2 restart

et vous obtiendrez un resultat tel quel:

vincent@Vincent:/etc/apache2/sites-available$ sudo a2ensite monsite.conf
Enabling site monsite.conf.
To activate the new configuration, you need to run:
  service apache2 reload
vincent@Vincent:/etc/apache2/sites-available$ /etc/init.d/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. <syntaxhighlight lang=“php”> $cfg['blowfish_secret'] = 'masuperphrasemagique'; </code> et vous pouvez si vous le souhaitez dé-commentez toutes les options un peut 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 protfp.conf:

#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'installation du serveur mail nous avons besoins de prérequis tel que gnupg, g++, make, libdb-dev on installe tout ça avec la commande suivante:

sudo aptitude install g++ make gnupg libdb-dev
wget ftp://ftp.easynet.be/postfix/official/postfix-2.7.2.tar.gz

Puis téléchargez postfix avec cette commande:

sudo wget ftp://ftp.easynet.be/postfix/official/postfix-2.7.2.tar.gz

On extrait ensuite notre archive de postfix dans le dossier /usr/local
Et on compile et on installe avec les commandes suivantes.

make makefiles CCARGS='-DDEF_CONFIG_DIR=\"/usr/local/postfix/etc\"'
make
make install

Une fois l'installation terminer, on va modifier la variable d'environnement $PATH des utilisateurs pour simplifier l'utilisation de Postfix , pour ça on va utiliser la commande suivante:

echo -e"postfix=/usr/local/postfix/bin:/usr/local/postfix/sbin\nPATH=\$PATH:\$postfix" >> /etc/profile

Maintenant que postfix est installé on va s'occuper de la configuration en editant le fichier principal de configuration: main.cf qui se trouve dans /usr/local/postfix/etc et y ajouter les lignes suivantes:

inet_interfaces=all #précise l'adresse sur laquelle postfix écoute, on aurait pu mettre une adresse ip
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'autres termes relier une adresse mail à un utilisateur du serveur. On se déplace dans /usr/local/postfix et on édite le fichier aliases en y ajoutant:

root: pi@olibrary.tk
support: support@olibrary.tk

Une fois les aliases configurés, on peut démarrer le serveur:

postfix start

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/serveur.web.txt · Dernière modification: 2018/04/23 19:13 (modification externe)
CC0 1.0 Universal
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5