06 sept. 2016

[Tuto] Serveur Web Ubuntu

Serveur Web Ubuntu

Prérequis

Installation de l'ISO sur une clé USB bootable : Tuto Clé USB

Installation d'Ubuntu server : Tuto d'installation

Configuration lors de l'installation : Ne pas avoir coché toutes les cases serveurs lors de l'installation

Petit Extra : un bon litre de café bien chaud.

 

Dans un premier temps nous voulons pouvoir bosser sur le serveur à distance en SSH sur le serveur. 

Installation Open SSH Server

Ecrivez : sudo apt-get install openssh-server 

[object Object]
 
  • Sélectionnez : « OUI »
  • Une fois l’installation terminer télécharger PUTTY : http://www.putty.org
  • Nullement besoin d’une installation pour putty, c’est un Exe portable. 
  • Lancez Putty
[object Object]
 
  1. Mettez l’ip ou le nom de votre serveur.
  2. Donnez un nom à cette session
  • Cliquez : SAVE
  • Cliquez : OPEN 
[object Object]
 

Ceci apparait

  • Selectionnez : OUI 
[object Object]
 

Vous voilà avec un terminal distant.

Il ne vous reste plus qu’à vous loggez. 

 

Installation d’APACHE2, PHP et Mysql

  • APACHE

Apache, qui est le serveur web en tant que tel. Quand on parle de serveur web, on pense souvent à la machine, mais ce terme désigne aussi le logiciel qui permet à la machine d’analyser les requêtes d’un utilisateur (sous forme http), et de retourner le fichier correspondant à la requête (ou une erreur si le fichier n’est pas trouvé, ou la requête mal formulée).

Dans le cadre d’Apache, c’est donc du logiciel que l’on parle.Apache est le serveur web le plus utilisé. Apache possède même sa propre licence, utilisée par de nombreux autres projets.

De plus, l’utilisation massive d’Apache (devenu le standard des serveurs web), couplée à sa forte popularité, à amener à une formidable abondance de documentation, de cours, et autres livres traitant de son utilisation, depuis l’installation jusqu’à la sécurisation.Apache est donc un choix sûr, et les compétences que vous pourrez acquérir sur le sujet vous seront toujours utiles.

 

  • PHP

Le PHP est un langage interprété. Et comme dans le cas des serveurs, l’acronyme PHP peut avoir plusieurs sens. En fait, quand l’on parle de PHP, on peut parler soit du langage, soit de l’interpréteur.Ici, quand nous parlons d’installer PHP, cela signifie que nous allons installer l’interpréteur, afin d’utiliser le langage.

PHP (le langage cette fois) est principalement utilisé pour rendre un site dynamique, c’est-à-dire que l’utilisateur envoie des informations au serveur qui lui renvoie les résultats modifiés en fonction de ces infos. A contrario, un site statique ne s’adapte pas aux informations fournies par un utilisateur. 

Il est enregistré sous forme de fichier une fois pour toute, et livrera toujours le même contenu.PHP est libre, et maintenu par la fondation PHP, ainsi que l’entreprise Zend, et diverses autres entreprises (il est à noter que Zend est aussi l’auteur du célèbre framework Zend PHP, très utilisé et reconnu dans le monde de l'entreprise).C’est un des langages de programmation les plus utilisés, et c’est même le plus utilisé pour la programmation destinée au web, avec environ 79 % de parts de marché. 

 

  • Mysql

MySQL est un SGBD (Système de Gestion de Bases de Données) libre, puissant, massivement utilisé (environ 56 % de parts de marché des SGBD libres). Là encore, MySQL est tellement un incontournable du développement, quelle qu’en soit la branche, que vous devez absolument l'apprendre et le maîtriser. 

 

  • PhpMyAdmin

PHPMyAdmin est une application développée en PHP, et qui vise à fournir une interface simplifiée pour MySQL. Elle vous permet par exemple de voir rapidement et de façon lisible le contenu de votre base de données, ou de la manipuler sans avoir besoin de faire vous-mêmes vos requêtes MySQL. 

 

Installation

Dans votre terminal faites 

sudo apt-get install apache2 sudo apt-get install php

  • Si vous installer PHP7 rajouter ceci : sudo apt-get install libapache2-mod-php

 

 sudo apt-get install mysql-server

  • Il vous faudra ici entrée un mot de passe administrateur pour le gestionnaire de la base de donnée.

 

 

 sudo apt-get install phpmyadmin

  • Sélectionnez : apache2
  • Sélectionnez : Oui
  • Renseignez : Le mots de passe admin de la SGBD

 

 Configuration : Phpmyadmin + Apache

Afin d’avoir un lien entre apache et phpmyadmin vous devez renseigner ceci 

sudo nano /etc/apache2/apache2.conf

  • Mettre à la fin du fichier : Include /etc/phpmyadmin/apache.conf
  • Rebootez votre serveur apache : sudo /etc/init.d/apache2 restart 
  • Voilà à cette étape et depuis votre pc vous pouvez tester le serveur webConnecter vous à : http://ipdevotreserveur 

 

[object Object]
 

Si ceci apparaît c’est que votre serveur tourne correctement 

Vérifions si phpmyadmin fonctionne

Connectez-vous sur : http://ipdevotreserver/phpmyadmin 

 

[object Object]
 
  • Login : root
  • Pass : Celui que vous avez renseigner lors de l’installation de phpmyadmin. 

 

Installation d’un serveur FTP

Pourquoi mettre un serveur FTP avec un serveur Web.Afin de pouvoir développer plus facilement votre site, vous serez très certainement amené à charger des fichiers. Le moyen le plus simple reste le FTP. Bien que nous pouvons le faire en SSH.

Nous allons ici détailler l’installation d’un serveur FTP afin de rendre l’utilisation de notre serveur Web plus friendly. Direction votre terminal sudo apt-get install pure-ftpTestons notre connexion FTP : ftp://ipdevotreserver

 

  • Loggez vos avec votre compte root
  • Normalement le répertoire est vide mais au moins votre serveur FTP tourne.

 

Maintenant faisons en sorte que votre compte root ai le répertoire web apache par défaut.

Créons un groupe FTP ainsi qu’un utilisateur FTP:

sudo groupadd groupftp && sudo useradd -g groupftp -d /dev/null -s /bin/false userftp

Vérifions ensemble que tout est bon : grep ftp /etc/passwd /etc/group

 

FTP.jpg
 

 

Sécurisons le serveur FTP 

Donnons des droits au dossier web pour le groupe FTP:

sudo chown root:groupftp /var/www/html/cd /var/www/htmlsudo chmod 777 *.* 

Créons des utilisateurs virtuels à l’aide de la commande pure-pw

Dans notre exemple l’utilisateur portera le nom de toto

sudo pure-pw useradd toto -u userftp -g groupftp -d /var/www/html/ -m 

Vous avez besoin d’avoir des infos sur l’utilisateur toto ?

sudo pure-pw show toto 

Pour finir, nous allons créer un lien symbolique afin que pure-ftpd puisse activer l'authentification des utilisateurs virtuels.

sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure 

Afin de réduire l’audience des utilisateurs susceptible d’utiliser le FTP au seul utilisateur virtuelle vous devais supprimer l’authentification PAM et Unix.

 

Voici les commandes 

sudo nano /etc/pure-ftpd/conf/PAMAuthenticationsudo nano /etc/pure-ftpd/conf/UnixAuthentication 

  • Donnons maintenant des droits d’écriture sur le dossier web sudo /etc/init.d/pure-ftpd restart 

 

sudo apt-get install openssl 

Maintenant créons un certificat d’authentification

sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem 

Répondez aux questions

  1. Country Name : votre Pays
  2. State Or Province : votre region
  3. Locality Name : votre Ville
  4. Organization Name : Votre entreprise
  5. Organizational Unit Name : Votre service
  6. Common Name : Votre nom
  7. Email : Votre Mail 

Activons TLS dans Pure-ftpd

sudo nano /etc/pure-ftpd/conf/TLS 

Voici les différentes options disponibles :

  • 0 : désactive TLS
  • 1 : Utilisation de TLS optionnelle
  • 2 : force tous les utilisateurs à utiliser TLS . 

On reboot le serveur FTP

sudo /etc/init.d/pure-ftpd restart  

Donc votre client FTP préfères maintenant vous sélectionnez "Connexion FTP explicite sur TLS

[object Object]
 

Acceptez le certificat d’authentification.

 Voilà vous avez un serveur FTP sécurisé qui tourne parfaitement bien.

Partagez : Partage

Commentaires

1. Le 09/06/2016, 11:51 par Tuto - Installation Ubuntu Server - GameOverBlog.fr
[…] Tuto – Serveur Web Ubuntu Server 6 septembre 2016 […]
2. Le 09/08/2016, 17:09 par [Tuto] - Installation Ubuntu Server - GameOverBLog
[…] avez donc installé un serveur UBUNTU. Dans la suite du tuto nous allons mettre en place des services Web, SGBD et FTP sur ce […]

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : https://gameoverblog.fr/Sites/index.php?trackback/979

Fil des commentaires de ce billet