C’est pas tout de créer des serveur web et bases de données, faut savoir els exploiter. Dans ce tutoriel, vous trouverez comment réaliser un petit script pour tester votre serveur en mettant en oeuvre Ajax.
Premier site avec Ajax
L’objectif est de créer une page web avec une zone de saisie couplée à un liste de suggestion issue d’une base de données. A chaque saisie de l’utilisateur, une requete Ajax est soumise au serveur qui va interroger la base de données pour vérifier que le nom d’une ville commençant par les lettres saisies existe pas dans la table villes. Si c’est le cas, le serveur renvoi la liste des villes correspondant. Les villes renvoyées peuvent être cliquées pour remplir automatiquement la zone de saisie.
Créons notre table
Dans Postgresql, on créé la table avec le code SQL suivant
CREATE TABLE villes
(
nom character varying(50) NOT NULL,
CONSTRAINT villes_pkey PRIMARY KEY (nom)
)
Il est téléchargé sur Jquery.com la bibliothèque Javascript JQuery qui est enregistrée à la racine du site. Pour fonctionner, le site est constitué des 3 principaux fichiers suivants:
index.xhtml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
// exemple, renverra: <div onclick='$("#txt1").val("Montpellier");
// $("#suggest").hide();'>Montpellier</div>
}
}
?>
Mise en forme
Pour mettre en forme notre site, on applique une feuille de style simple
suggest.css
root {
display: block;
}
#suggest {
position:fixed;
top:33px;
left:130px;
background-color:#86B0D8;
border-style:solid;
border-width:1px;
margin:5px;
cursor : wait;
}
div:hover{
background-color:white;
}
Voilà, c’est fini. Les prochains articles seront plus « webmapping » avec la spatialisation des bases de données, et leur exploitation.
Premier site avec Ajax
L’objectif est de créer une page web avec une zone de saisie couplée à un liste de suggestion issue d’une base de données. A chaque saisie de l’utilisateur, une requete Ajax est soumise au serveur qui va interroger la base de données pour vérifier que le nom d’une ville commençant par les lettres saisies existe pas dans la table villes. Si c’est le cas, le serveur renvoi la liste des villes correspondant. Les villes renvoyées peuvent être cliquées pour remplir automatiquement la zone de saisie.
Dans Postgresql, on créé la table avec le code SQL suivant
CREATE TABLE villes
(
nom character varying(50) NOT NULL,
CONSTRAINT villes_pkey PRIMARY KEY (nom)
)
Il est téléchargé sur Jquery.com la bibliothèque Javascript JQuery qui est enregistrée à la racine du site. Pour fonctionner, le site est constitué des 3 principaux fichiers suivants:
index.xhtml
<?xml version= »1.0″ encoding= »UTF-8″?>
<!DOCTYPE html PUBLIC « -//W3C//DTD XHTML 1.0 Strict//EN » « http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd »>
// exemple, renverra: <div onclick=’$(« #txt1 »).val(« Montpellier »);
// $(« #suggest »).hide();’>Montpellier</div>
}
}
?>
Mise en forme
Pour mettre en forme notre site, on applique une feuille de style simple suggest.css
root {
display: block;
}
#suggest {
position:fixed;
top:33px;
left:130px;
background-color:#86B0D8;
border-style:solid;
border-width:1px;
margin:5px;
cursor : wait;
}
div:hover{
background-color:white;
}
Spatialiser la base de données colloque
Même si PostgreSQL a été installé conjointement avec PostGis, la base de données n’est pas par défaut spatialisée. Un rapide coup d’oeil aux tables nous montre l’absence des deux principales tables nécessaires à PostGIS, geometry_columns et statial_ref_sys.
Voilà comment les ajouter, ainsi que l’ensemble des fonctions necessaires à la spatialisation de la base colloque:
Dans cette partie, nous nous consacrerons à créer les alias permettant l’hébergement de sites web.
Pour héberger un site web, vous devez créer un espace dédié. Il s’agit en fait de créer un alias vers lequel toute requête http sera redirigée vers un répertoire du serveur, répertoire stockant les fichiers et scripts du site internet hébergé.
Cas d’étude
Exemple de la mise en place de répertoires et droits pour 3 sites web et 2 webmestres: Comment créer les espaces disques ainsi que les utilisateurs (les webmestres) pour ces sites?
Sites web:
http://site1/: dont les données stockées sur /var/www/site1
http://site2/: dont les données stockées sur /home/site-web/site2
http://site3/: dont les données stockées sur /home/site-web/site3
2 webmasters:
webmaster1: accès au site1 et site2,
webmaster2: accès au site2 et site3.
Création du site1
Créons le site1:
sudo -s
cd /var/www
mkdir site1
ls -la
Cette commande permet de voir que le dossier site1 a été créé mais avec les droits root:root.
Changeons le le propriétaire:
chown farah:www-data site1
Cette commande équivaut à:
chown farah site1
chgrp www-data site1
ls – la
Cette commande permet de voir que le dossier site1 a les droits passés à farah:www-data
cd site1
Copions le fichier /var/www/index.html vers /var/www/site1/
cp ../index.html .
ls -la
On voit ici que index.html est root:root. Donnons les droits à farah sur le fichier
chown farah:www-data index.html
exit
Cette dernière commande, tout comme [CTRL]+[d] permet de se déconnecter de root
Éditons le fichier index.html
gedit index.html
Son contenu est:
<html><body><h1>It works!</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
</body></html>
Ajouter dans la première ligne le mot Farah et enregistrer
<html><body><h1>It works! Farah</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
</body></html>
Voir dans le navigateur le résultat à l’adresse suivante: http://localhost/site1/
Remarque: si on retire les droits de lecture au groupe voici ce qui se passe
chmod 700 index.html
On remet les droits par de lecture
chmod 644 index.html
A ce niveau, nous avons bien créé un espace web, mais l’adresse http://site1/ n’est pas encore fonctionnelle, seule l’adresse http://localhost/site1/ est opérationnelle. L’alias site1, n’est pas encore activé.
Création du site2
On décide de monter les autres sites dans un répertoire différent (par exemple, le disque / est plein, on doit donc monter un second disque dur qui aura comme rôle d’héberger tous les sites web /home/siteweb/
On créera le site2 dans ce répertoire /home/sitesweb/site2 et on utilise un lien pour pointer le site 2 vers les fichiers du site2 stockés sur /home/sitesweb/site2/
Positionnons nous rapidement sur le homedirectory par la commande:
cd
Créons le dossier site2 dans /home/sitesweb/
cd ..
sudo mkdir sitesweb
cd sitesweb
sudo mkdir site2
Cette dernière commande créée le répertoire site2 mais celui-ci appartient au groupe root
Notez qu’il il faut ici sécuriser un minimum le serveur pour avoir un Forbidden (on verra plus tard).
On fait de même pour le site3
On créé ensuite 2 utilisateurs de nom « webmaster1 » et « webmaster2 »
sudo adduser webmaster1
sudo adduser webmaster2
Les alias avec Apache2
À supposer que nous disposions de la gestion des noms de domaine pour notre institut, nous souhaitons créer deux sites avec des noms de domaines que nous gérons.
Or, on veut accéder au site via l’url http://site2/ (site2 étant un domaine que nous gérons et dont nous contrôlons les DNS).
Éditons /etc/hosts
sudo gedit /etc/hosts
Dans le fichier, nous pouvons voir ce contenu notamment:
127.0.0.1 localhost
127.0.1.1 farah-laptop
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Ce qui est écrit dans les premières lignes, c’est que toute requete http://localhost/ ou http://farah-laptop renvoie vers la machine 127.0.0.1 soit le serveur lui même.
On ajoute donc les nouveaux sites:
127.0.0.1 site1
127.0.0.1 site2
127.0.0.1 site3
Ce qui donne le fichier /etc/hosts suivant :
127.0.0.1 localhost
127.0.1.1 farah-laptop
127.0.0.1 site1
127.0.0.1 site2
127.0.0.1 site3
# The following lines are desirable for IPv6 capable hosts
Attention, ceci n’est valable que sur la machine virtuelle (vu qu’on redirige vers localhost). Vu du réseau, la machine virtuelle doit être contactée par son adresse IP.
Pour rediriger http://site3/ vers http://localhost/site3/ , il faut l’expliciter dans /etc/apache2/sites-available/ en copiant le fichier default et en créant un nouveau fichier du nom que l’on veut avoir, ici site3
On ajoute dans ce nouveau fichier l’alias par le code suivant en créant un nouveau fichier site1, site2 puis site3 sur la base du fichier default
On va dans le répertoire qui contient les site disponibles (sites-available)
cd /etc/apache2/sites-available/
sudo cp ./default ./site2
Dans cette précédente ligne, on copie le fichier default en un nouveau fichier site2 (il faut faire de même pour site1 et site3)
On édite le nouveau fichier, pour:
ajouter la ligne ServerName site2
modifier DocumentRoot /www/var/site2
modifier RootDirectory par /www/var/site2/
Ceci se fait par la commande:
sudo gedit site2
Le site2 est déclaré dans sites-available, il faut maintenant l’activer:
cd ../sites-enabled
On créé un lien symbolique pour activer le site site2 dans sites-enabled vers sites-available
sudo ln -s ../sites-availabled/site2
Enfin, il faut redémarrer le serveur web pour prendre en compte les modifications
Dans la partie 4, la dernière de ce tutoriel, nous verrons comment vérifier que le serveur fonctionne correctement. Pour cela, on fera un petit script php/html avec un brin d’Ajax pour que tout ça soit plus fun.
Installation du serveur web avec Apache2 et PostgreSQL
Dans Ubuntu, l’installation des logiciels se fait via APT ou APTITUDE.
Advanced Packaging Tool est un système complet et avancé de gestion de paquets, permettant une recherche facile et efficace, une installation simple et une désinstallation propre de logiciels et utilitaires. Il permet aussi de facilement tenir à jour votre distribution Ubuntu avec les paquets en versions les plus récentes et de passer à une nouvelle version de Ubuntu, lorsque celle-ci est disponible. Il prend en charge en termes de mise à jour, l’ensemble des logiciels qui sont installé par son intermédiare, ce qui rend ltout système Ubuntu très facile à maintenir au niveau des mises à jours de sécurité.
Les logiciels sont proposés sous forme de « paquets ».
Une interface graphique pour l’installation des logiciels existe. Il s’agit de Synaptic (accessible via le menu Système \ Administration \ Synaptic).
Nous allons installer le serveur web et ses différents composants par Synaptic et en lignes de commandes pour information.
Installation d’Apache2 (le serveur web)
Dans Synaptic, chercher « apache2 » puis cliquez droit sur le paquet apache2 et choisir « Sélectionnez pour installation ».
Synaptic va vous proposer d’installer un certain nombre d’autres paquets à installer, il s’agit des dépendances. Sans eux, Apache2 ne peut fonctionner correctement, vous devez donc les installer également. L’installation se déroule en deux parties: au début, Synaptic télécharge l’ensemble des paquets nécessaires pour Apapche2 puis les installe. Il peut arriver que durant la phase d’installation, Des questions vous soient posées (ce n’est pas le cas pour Apache2, mais ça l’est si vous installez par exemple MySQL). Cliquez sur « Appliquer » et valider jusqu’à la fin de l’installation.
Apache2 est installé et opérationnel.
Dans un navigateur de votre machine virtuelle, tapez http://localhost/ ou depuis votre machine hôte Windows tapez http://192.168.0.154/ (il faut en fait tapez l’adresse IP de votre VM Ubuntu trouvée grâce à la commande ifconfig).
Pour qu’Apache puisse exécuter des scripts PHP, il faut également installer le paquet PHP5.
Pour la forme, nous allons lancer cette installation en ligne de commande. Dans une console, tapez:
sudo aptitude update
La liste des paquets disponibles est mise à jour.
Notez que la commande:
sudo aptitude upgrade
… installe tous les nouveaux paquets (cela force votre système à se mettre à jour).
Recherchons tous les paquets avec le nom php
sudo aptitude search php
On voit que le paquet php5 est disponible. Installons le avec la commande:
sudo aptitude install php5
Votre serveur web Apache2 et le moteur de script PHP5 est opérationnel.
Installation de PostgreSQL, PostGIS et pgAdminIII
Nous allons installer PostgreSQL et son module spatial PostGIS en ligne de commande (décidément, nous nous enfonçons dans le purisme linuxien…):
Tapez dans une console:
sudo aptitude search postgres
Nous allons installet la version 8.3 de PostgreSQL et PostGIS d’un même coup grâce au paquet postgres8.3-postgis. Tapez dans la console:
sudo aptitude install postgresql-8.3-postgis
Notez que pour l’installation d’une base de données MySQL, il faut renseignez durant l’installation les différentes options. La version 8.4 est, au 17 juin 2010 disponible via le paquet postgresql-8.4-postgis
Installons maintenant l’interface graphique pgAdminIII permettant de gérer en mode graphique PostgreSQL. Dans la console, tapez:
sudo aptitude install pgadmin3
PgAdmin III est accessible depuis le menu Application / Programmation
Pour pouvoir utiliser les fonctions Postgresql natives dans PHP, il faut installer également, le paquet php5-pgsql depuis synaptic ou en ligne de commande par aptitude
sudo aptitude install php5-pgsql
L’installation de PostgreSQL et la configuration d’Apache2 est achevée.
Création d’un utilisateur sous PostgreSQL
Nous allons créer un utilisateur avec un rôle d’administrateur de la base de données. Il sera nommé formation, son mot de passe sera aussi formation. En ligne de commande, dans une console, tapez:
sudo -s -u postgres
psql
CREATE USER formation ;
ALTER ROLE formation WITH createdb ;
ALTER USER formation WITH encrypted password 'formation' ;
\q
Création d’une base de données sous PostgreSQL
Nous allons créer une base de données nommée formation pour l’utilisateur précédemment créé:
CREATE DATABASE formation OWNER formation ;
Lancer pgAdmin III et créer une nouvelle connexion avec les données suivantes:
Hôte: localhost
port TCP: 5432
Base de maintenance: postgres
Utilisateur: formation
Mot de passe: formation
Vous avez alors accès à tout ce qui est nécessaire pour gérer votre propre base de données PostgreSQL.
Gérer le super utilisateur de votre serveur de base de données Postgresql
Par défaut le mot de passe du gestionnaire de base de données (utilisateur nommé « postgres ») est celui de l’utilisateur sudo d’Ubuntu.
Il est très fortement conseillé, en production, de choisir un mot de passe différent.
Pour cela, tapez :
sudo -s -u postgres
psql
ALTER USER postgres WITH encrypted password ‘lenouveaumotdepasse’ ;
\q
Remarque : Le fait d’attribuer (ou de forcer si vous voulez…) un mot de passé different du sudo d’Ubuntu, vous permet d’utiliser l’utilisateur postgres via l’interface graphique pgAdminIII. Si vous n’avez pas attribué un mot de passe à postgres (donc si vous utiliser pour vous connecter à postgres le mot de passe sudo), alors vous ne pourrez vous connecter via pgAdminIII à votre serveur postgresql.
Remarque : si vous devez donner des droits à un utilisateur tiers sur une base de donnée et que cet utilisateur n’est pas le propriétaire de la base de données en question, vous devez alors, en tant qu’utilisateur ‘postgres’, créer un rôle de groupe, puis spécifier que le rôle (de l’utilisateur, dit rôle de connexion) appartient au rôle de groupe. Enfin il faut donner les droits d’usage (SELECT ou INSERT ou …) de la base de façon générale (clic droit sur « Propriétés… » de la base), ou des tables (clic droit sur « Propriétés… » de Tables (xxx)), ou d’une table (clic droit sur « Propriétés… » de la table) au groupe de rôle et tout ceci directement depuis l’interface de PgAdminIII.
Dans la partie 3, nous verrons comment mettre en place les sites web (les alias)
Février 2010, avec l’un de mes collègues du Cirad Alain Clopès, j’ai donné un cours sur la création d’un serveur web virtualisé dédié au webmapping. Alors, autant que ça serve à d’autres, voici un petit topo du cours.
Nous allons mettre en œuvre un serveur web fonctionnant sous Linux (avec Ubuntu 9.10 Karmic Koala) virtualisé sous Windows XP à l’aide du logiciel gratuit VirtualBox de Sun MicroSystem.
Il s’agit ici de se créer un environnement de développement avec les serveurs installés sur une machine virtuelle pour ne pas ralentir sa machine lorsqu’on ne développe pas. La sécurisation réalisée dans ces notes est donc extrêmement faible. Vous devez, pour un serveur en production, impérativement consulter les ressources disponibles sur internet (notamment sur http://doc.ubuntu-fr.org/tutoriel/securiser_apache2 pour sécuriser votre serveur web correctement).
Installation d’une machine virtuelle de type Linux
Sous Windows, installer VirtualBox (dans notre cas, en version 3.1.4). De nombreux tutoriels existent pour l’installation de VirtualBox couplée à une installation d’Ubuntu. Recherchez en un avec Google si nécessaire (mots clé: tutoriel VirtualBox Ubuntu)
Télécharger la dernière version de Ubuntu (http://www.ubuntu-fr.org/telechargement, il faut récupérer un fichier iso de Ubuntu 9.10 par exemple mais il n’est pas nécessaire de la graver sur un support optique, VirtualBox va se charger d’émuler grace à ce fichier iso, un CD-ROM)
Dans VirtualBox, créez une machine virtuelle de type Linux Ubuntu, avec un disque dur virtuel d’au minimum 10Go. Vous pouvez également créer un disque dur virtuel dynamique.
A ce stade, les ressources clavier et souris sont capturées par la machine virtuelle lorsque vous cliquez dans celle-ci. Pour récupérer la souris dans Windows, il faut utiliser la touche [CTRL] droite qui désactive la capture. Cette touche [CTRL] droite est la touche ressource dans VirtualBox pour tout ce qui concerne les fonctions « facilitatrices » de VirtualBox.
Après l’installation d’Ubuntu, lancez les mises à jours qui sont nécessaires. Il se peut que le système vous demande de redémarrer la machine virtuelle.
Installation des VBoxGuestAdditions
Afin de rendre plus agréable l’utilisation conjointe de Windows XP et d’une machine virtuelle, VirtualBox propose d’installer un ensemble d’utilitaires appelés VBoxGuestAdditions. Pour cela, montez le disque iso nommé VboxGuestAddition.iso accessible depuis le menu « Périphériques/Périphériques optiques » de votre machine virtuelle.
Pour information, ce fichier iso se situe dans le répertoire d’installation de VirtualBox (C:/Program Files/Sun/VirtualBox). Un CD apparaît sur le bureau d’Ubuntu. Ne le lancez pas comme il vous l’est proposé (en fait, ce CD n’est pas bootable, cela ne servirait à rien).
Dans Ubuntu, dans la console (menu Application/Accessoires/Terminal), installez les VBoxGuestAddition par la commande suivante:
sudo /media/cdrom/VBoxLinuxAddition-x86.run
La commande sudo permet d’exécuter le script en mode superutilisateur (Super Utilisateur Do).
Après avoir redémarré, il n’est plus utile d’utiliser la touche [CTRL] droite pour récupérer dans Windows la souris ou le clavier. C’est l’un des grands avantages des VBoxGuestAdditions. Vous pouvez également passer en mode plein écran. Par exemple [CTRL] + [F] (fait passer ou sortir la machine virtuelle en mode plein écran ). [CTRL] + [G] permet par exemple d’ajuster la taille de l’écran automatiquement.
Partage de ressource de type disques durs et répertoires
Pour partager une ressource disque de Windows vers votre Ubuntu virtualisé, créez un répertoire partagé (menu Périphérique/Répertoires partagés). Partagez en accès complet par exemple votre disque D: de Windows XP (utilisez par exemple le nom de partage donné par défaut D_DRIVE.
Sous Ubuntu, créez, par exemple sur votre Bureau, un nouveau dossier (ce sera le dossier avec lequel nous accèderons à votre disque dur D: partagé sous le nom de D_DRIVE). Nommez ce dossier explicitement, par exemple DISQUE_D_WINDOWS sur le bureau et dans une console, tapez cette ligne de commande:
sudo mount -t vboxsf /home/farah/Bureau/D_DRIVE DISQUE_D_WINDOWS
Après cette commande, en le dossier du bureau nommé DISQUE_D_WINDOWS, vous aurez accès à votre disque dur D: en lecture et écriture (faites d’ailleurs attention…)
Pour rendre permanent le partage de ressources, il faut éditer le fichier rc.local par la commande
sudo gedit /etc/init.d/rc.local
et ajouter la ligne suivante en fin de fichier
mount –t vboxsf D_DRIVE /home/farah/Bureau/DISQUE_D_WINDOWS
Rendre accessible depuis votre réseau votre machine virtuelle Ubuntu
VirtualBox configure par défaut les machines virtuelles en mode NAT, c’est-à-dire que la machine virtuelle Ubuntu (VM) accède au LAN (le réseau local) à travers la machine hôte par un routage NAT. La machine virtuelle partage donc l’adresse IP de la machine hôte. Internet est accessible depuis votre VM Ubuntu, mais votre VM Ubuntu n’est pas accessible depuis votre réseau local.
Confirmons cela: dans la console Ubuntu, trouvez votre adresse ip (de votre contrôleur réseau eth0) par la commande:
Votre adresse IP est signalée en rouge ci-dessus. On voit que l’adresse IP de votre machine virtuelle est de la forme 10.0.2.15. Sous Windows exécutez la console par la commande (menu Démarrer/Exécuter…):
cmd
puis pinguez votre machine virtuelle par la commande windows:
ping 10.0.2.15
L’adresse n’est pas pinguable… votre machine virtuelle n’est donc pas accessible depuis votre machine hôte (ici Windows XP ou Vista) et d’une façon générale, depuis votre réseau local.
Passage du réseau du mode « NAT » en mode « Pont réseau »:
Pour rendre accessible votre MV Ubuntu, il faut modifier les préférences de la machine virtuelle dans VirtualBox et passer de mode réseau NAT à mode « Accès par pont ». Arrêtez votre machine virtuelle et allez dans ses préférences depuis VirtualBox. Dans l’onglet réseaux, choisissez le mode « Accès par un pont réseau » et choisissez la carte réseau par laquelle la machine hôte est connectée au réseau local. La machine virtuelle sera alors vue par le routeur du réseau comme une machine à part entière, avec une adresse MAC propre, et votre VM Ubuntu récupèrera du DHCP (s’il existe) une adresse « normale ». S’il n’y a pas de DHCP, il vous faudra attribuer à votre VM Ubuntu une adresse IP (masque et DNS) que vous donnera votre administrateur réseau
Relancez votre machine virtuelle Ubuntu et confirmez que votre machine est accessible depuis le réseau local.
Dans la console Ubuntu, trouvez votre adresse ip (de votre contrôleur réseau eth0) par la commande:
Votre adresse IP est signalée en rouge ci-dessus. On voit que l’adresse IP de votre machine virtuelle est maintenant de la forme 192.168.0.154. Sous Windows exécutez la console par la commande (menu Démarrer/Exécuter…):
cmd
puis pinguez votre machine virtuelle par la commande windows:
ping 192.168.0.154
L’adresse est accessible !!! Votre machine virtuelle est accessible depuis votre réseau local et répondra, par exemple, une fois un serveur web créée, à toute requête de type http://192.168.0.154/
Nous avons à ce niveau une machine, soit virtuelle, mais qui se comporte exactement comme n’importe quelle autre machine du réseau local, comme n’importe quel serveur…
A partir de maintenant, toutes les commandes ci-dessous se réaliserons uniquement sous la machine virtuelle Ubuntu.
Petits rappels sur Linux:
La commande man dans une console, donne l’aide d’un programme. Exemple:
man crontable
Pour sortir de l’aide, taper
:q
D’autres méthodes permettent d’obtenir l’aide d’une commande, notamment le – – help
L’utilisateur par défaut sur serveur web apache sera nommé www-data. Il appartiendra au groupe www-data (noté www-data:www-data).
Un utilisateur appartient forcément à un groupe. Il peut être seul dans son propre groupe. Un groupe peut avoir plusieurs utilisateurs. Un utilisateur peut être dans plusieurs groupes.
La commande chmod modifier les droits. La commande suivante les droits d’exécution à tout le monde:
chmod a+x /mondossier
Elle est l’équivalement des 3 commandes suivantes:
chmod u+x /mondossier
chmod g+x /mondossier
chmod o+x /mondossier
… ce qui est aussi l’équivalent de
chmod 711 /mondossier
Ajout d’un utilisateur:
Cette commande créée l’utilisateur et le groupe s’il n’existe pas ainsi que le répertoire /home/toto/
sudo adduser toto:totogr
Arborescence des fichiers linux
Rappel rapide sur l’arborescence des fichiers linux (avec en mémoire cet adage: sous Linux, tout est fichier):
/ (c'est la racine )
|---boot (noyaux linux nécessaires au démarrage de la machine)
|---etc (contient tous les fichiers de configuration)
|---bin (contient tous les exécutables et utilitaires de Linux)
|---usr (contient le bazar utilisateurs compléments au répertoire bin)
|---|---bin
|---|---local / bin
|---|---lib
|---└---sbin (c'est là où il y apache notamment)
|---home (c'est le homedirectory : les données utilisateur y sont
|---var (contient la messagerie, les mails arrivant, partants,
| | les spool d'impression, les logs système, ...)
|---|---www (fichiers affichés à la racine du serveur
| | ex: http://localhost/ )
|---|---mail (les mails entrants, sortants, ..)
|---|---spool
|---└---log
Enfin, si vous avez une longue série de commande en sudo à taper, passer en sudo permanent (attention, d’une façon générale, c’est déconseillé) par la commande:
sudo -s
Prochaine étape, la partie 2: Serveur web Apache et PostgreSQL