samedi 4 mai 2013

TUTORIEL créer un site WEB chez soi

Comment créer un site WEB chez soi, sur son propre Pc ?
Cette démo a été réalisée sur la distribution LINUX KUBUNTU 13.04 avec interface graphique KDE. Cette démo fonctionnera parfaitement sous toutes les versions de UBUNTU et ses dérivées ainsi que sous toutes les interfaces graphiques (Gnome, lxde...). Par contre l'éditeur de texte Dolphin est propre à KDE. Sous Gnome l'éditeur de texte est Gedit.
Le serveur proprement dit sera basé sur l’excellent APACHE2

Cliquez sur les images pour les afficher en plein écran

1-- Commençons par l'installation des composants nécessaires.
A savoir :
apache2 php5 mysql-server libapache2-mod-php5 php5-mysql

En tapant la commande suivante dans un terminal (Konsole) :
sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql
Faites ENTER
Lorsque l'on tape une commande qui commence par "sudo" le système vous demande le mot de passe administrateur de votre LINUX avant l’exécution de cette commande.

Une fois cette commande tapée, il faut laisser faire l'installation et répondre aux questions posées dans la fenêtre bleue par le système.



2-- Taper le mot de passe administrateur du serveur. Faire OK ou ENTER

3-- Laisser faire jusqu’à retrouver la main dans le terminal

4-- Test du serveur qui vient d'être installé. Dans un navigateur internet il faut taper localhost dans la barre d'adresse. Si le serveur fonctionne la réponse est immédiate "It works !" (en français : Ça marche)

5-- Maintenant que le serveur internet fonctionne il faut définir le "lecteur" qui contiendra le contenu du site. Dans le terminal il faut taper :
sudo mkdir /media/www-dev
Faites ENTER

6-- Maintenant créons le dossier "public" contenant les différentes pages du site internet. Dans un terminal il faut taper :
sudo mkdir /media/www-dev/public
Faites ENTER

7-- Maintenant créons le dossier "private" contenant les différentes pages privées du site internet. Dans un terminal il faut taper :
sudo mkdir /media/www-dev/private
Faites ENTER

8-- Donner des droits d’accès aux utilisateurs. Il faut taper dans le terminal :
sudo chown -R $USER:users /media/www-dev
Faites ENTER

9-- Il faut maintenant éditer le fichier texte /etc/apache2/sites-available/default
Dans le terminal taper : sudo dolphin pour ouvrir le gestionnaire de fichier avec les droits administrateur.
Dolphin une fois ouvert, il faut aller chercher le fichier default par le chemin suivant : /etc/apache2/sites-available/ pour le modifier.
Ce fichier doit être modifié à l'aide d'un éditeur de texte (Kate dans mon cas). Kate s'ouvre automatiquement lorsque l'on clic sur le fichier "default".
Il faut remplacer toutes les lignes d'origine du fichier default par les lignes ci-dessous en utilisant la fonction "copier / coller". Pour sélectionner l'ensemble des lignes ci-dessous faites CTRL A après avoir positionné le curseur sur une des lignes, puis faites CTRL V pour tout coller dans le fichier default à la place des lignes d'origine.

Voici les lignes à copier puis coller dans le fichier texte default :
Attention ce fichier comprend 2 lignes avec une adresse http://"votre_domaine" , "votre_domaine" est à remplacer par le nom réel de votre domaine (domaine obtenu par l'intermédiaire de no-ip.com par exemple) ou votre adresse IP

Voici ce fichier default, attention, ne pas oublier de faire "enregistrer" :



10-- Ajout des liens symboliques pour un accès aux dossiers private et public.
Dans un terminal on tape :
sudo ln -s /media/www-dev/public /var/www/public
Faites ENTER puis tapez :
sudo ln -s /media/www-dev/private /var/www/private
Faites ENTER

11-- Effacement du fichier index.
Dans un terminal on tape :
sudo rm /var/www/index.html
Faites ENTER


12-- Redémarrage du serveur :
Dans un terminal taper : sudo /etc/init.d/apache2 force-reload
Faites ENTER


13-- Test final du serveur WEB
Dans un navigateur internet il faut taper localhost (ou l'adresse IP du serveur) dans la barre d'adresse. 
Le serveur WEB est actif et fonctionnel. Il ne reste plus qu'à y placer le contenu du site WEB

Depuis internet (hors de mon réseau local), pour accéder à mon site je tape dans mon navigateur :
http://mon_domaine/no-ip.xyz/public (cela n'est pas le nom réel de mon site)

J'obtiens ma page WEB dans laquelle j'ai écrit un simple récapitulatif de mes liens favoris. Mais on peut y placer un contenu WEB du plus simple au plus évolué.

-----------------------------------------------------------------------------------------------
On trouve sur internet des exemples gratuits (ou trame complète) de site WEB téléchargeables et modifiables.
Le dossier ainsi téléchargé (ou fabriqué de toute pièce de vos mains) doit être coller dans le répertoire /media/www-dev/public et decompressé
Les pages Web que vous placerez dans le dossier /media/www-dev/private ne seront accessibles que depuis votre réseau intérieur.

Comme ceci :



Ainsi la trame du site WEB est créée comme le montre la copie d'écran ci-dessous :
A vous de modifier à votre guise les lignes de ces pages avec un simple éditeur de texte si vous maîtrisez le code html et autres... sinon avec un logiciel de création de page WEB

-----------------------------------------------------------------------------------------------

NOTA : 

Si vous possédez un compte DNS (par exemple no-ip.com) votre site sera visible par tout Pc dans le monde en tapant l'adresse suivante : http://votre_nom_de_domaine.no-ip.biz/public (par exemple). Sinon il ne sera attaquable que depuis votre réseau domestique, ou en tapant l'adresse IP de votre box internet. Mais les IP de nos box ne sont pas des IP fixes : elles changent ! Pour configurer votre BOX et un DNS dynamique sur no-ip.com, j'ai fait un tuto ICI en chapitre et 2

Un nom de domaine en votre_domaine.no-ip.xyz est gratuit.

Toutes les lignes de commande en bleu dans ce tutoriel peuvent être copier / coller dans un terminal, pas besoin d'écrire au clavier toutes ces instructions.

A chaque fois que le Pc contenant ce serveur est redémarré, le serveur WEB redémarre automatiquement.

Ce tuto est réalisé sur mon Pc portable packard bell ts11-hr-240-fr. Ce Pc portable est mon Pc de tous les jours, il n'est pas dédié à mon serveur WEB. Le fonctionnement en arrière plan de mon serveur WEB ne gène en rien l'utilisation de tous les jours.

-----------------------------------------------------------------------------------------------

ANNEXES :

1-- Si le serveur apache2 est démarré, la commande netstat -ntlp | grep ":80 " dans un terminal donne la réponse suivante :
Dans le cas présent, apache2 écoute sur tous les port physiques connectés de mon Pc, et sur le port de communication 80, qui est le port par défaut des connections http.


2-- La commande sudo/etc/init.d/apache2 reload rechargera la configuration du serveur sans intérompre le service.
-----------------------------------------------------------------------------------------------

ADMINISTRATION GRAPHIQUE DU SERVEUR :


L'outil utilisé est : WEBMIN

Pour installer Webmin sur KUBUNTU il faut ajouter un dépot contenant ce logiciel. En effet, Webmin n'est pas distribué dans les versions UBUNTU Linux.

1-- Il faut éditer le fichier texte /etc/apt/sources.list
Dans le terminal taper : sudo dolphin pour ouvrir le gestionnaire de fichier avec les droits administrateur.
Dolphin une fois ouvert, il faut aller chercher le fichier sources.list par le chemin suivant : /etc/apt/sources.list pour y ajouter la ligne suivante en fin de paragraphe : 
deb http://download.webmin.com/download/repository sarge contrib

Comme ceci :



2-- Dans le terminal vous tapez ces 3 commandes :
sudo apt-get clean (puis tapez sur ENTER)
sudo apt-get update (puis tapez sur ENTER)
sudo apt-get install webmin (puis tapez sur ENTER)

L'installation est terminée, maintenant il faut configurer Webmin.

3-- Dans le terminal il faut taper la commande suivante pour configurer le mot de passe Webmin.
sudo /usr/share/webmin/changepass.pl /etc/webmin root 123456
root sera le login Webmin (aucun rapport avec le compte root Linux)
123456 sera le mot de passe du compte root Webmin (aucun rapport avec le compte root Linux)

ÉVIDEMENT vous choisissez un mot de passe correcte !


4-- Redémarrage de Webmin
Dans le terminal vous tapez :
sudo /etc/init.d/webmin restart


5-- Utilisation de Webmin
Attention cet outil de configuration n'est pas sans risque, documentez vous avant d'utiliser des fonctions que vous ne connaissez pas.
Dans le navigateur de votre choix et sur le Pc qui contient le serveur Web vous tapez l'adresse suivante :
https://votre_adresse_IP:10000
Tapez root pour le login et le mot de passe que vous avez choisi il y a quelques minutes


Et voila votre outil graphique d'administration de votre serveur apache2 :