Archives par mot-clé : creation

Webmin: Mise en place d’un hébergement web de A à Z (Apache, Mysql)

Dans ce tutoriel, nous vous montrerons comment mettre en place un hébergement web de A à Z. En effet, nous vous décriront toutes les étapes permettant de visualiser votre site web sur le net depuis l’enregistrement de votre nom de domaine.

Voici les chapitres décris dans ce tutoriel :

Paramétrage de la zone DNS de votre nom de domaine

Création d’un vhost Apache

Création d’un base de données et d’un utilisateur Mysql

Création d’un compte FTP pour modifier les fichiers Web

Webmin: Création, modification et suppression d’un vhost Apache

Dans ce tutoriel, nous allons vous montrer comment créer, modifier ou supprimer un vhost sous votre serveur Apache. Nous effectuerons ces opérations depuis l’interface d’administration Webmin.

Dans un serveur Web comme Apache, il est possible de créer plusieurs hôtes virtuels.  Le but de ce système est de pouvoir héberger plusieurs hébergements sur le même serveur. Un hébergement faisant référence à un vhost.
Exemple:

Supposons deux noms de domaine différents : toto.fr et tutu.com

Dans les entrées web des deux zones DNS (Paramétrage de votre zone DNS), vous avez fait pointer ces deux noms de domaine sur l’IP 46.31.193.X

Nous allons vous montrez comment accéder au dossier /home/WwwBSD/toto du serveur 46.31.193.X en tapant http://www.toto.fr (dans un navigateur). Et puis de la même manière, être diriger dans le dossier /home/WwwBSD/tata en tapant http://www.tutu.com dans un navigateur . Les deux sites étant bien sûr hébergés sur le même serveur Apache !

Avant de modifier la configuration de votre serveur Apache, nous allons donc, pour commencer, se connecter sur l’interface Webmin (https://votreIP:10000)

webMin_connexion

Saisissez votre identifiant et votre mot de passe root. La page d’accueil de Webmin s’affichera.

webMin_accueil

Veuillez cliquer sur « Serveurs »:

webmin_accueil_serveur

Puis cliquer sur « Serveur Web Apache ».

apache_accueil

Dans cette page, tous les vhosts (hébergements) de votre serveur Apache sont listés. Pour agir sur la configuration globale d’apache que ce soit pour créer, modifier ou supprimer, veuillez cliquer sur l’onglet « Configuration globale ».

apache_conf_globale

Webmin va ouvrir le fichier texte de la configuration générale d’apache :

conf_apache

C’est dans ce fichier que sont déclarés tous les vhosts d’apache. C’est donc ce fichier qu’il faudra si vous le souhaitez: créer, modifier ou supprimer un vhost.

1. Création d’un vhost sous apache

Dans un vhost apache, il y a des directives indispensables pour son bon fonctionnement. Voici la forme d’un vhost type :
<VirtualHost votreIP:80>
ServerName www.toto.fr
ServerAlias www.toto.fr toto.fr
DocumentRoot /leCheminOùSeSitueVosFichiersWeb
ErrorLog /leCheminOùSeSitueVosErreursLogs/error_log
CustomLog /leCheminOùSeSitueVosLogs/error_log combined
</VirtualHost>

Descriptions des variables:

ServerName www.toto.fr
ServerAlias www.toto.fr toto.fr

Ces directives contiennent les noms de domaine pour lequel ce vhost sera accessible. Quand http://www.toto.fr a été tapé depuis un navigateur, le serveur Web va analyser ces directives dans chaque vhost que vous avez. Il y aura deux cas possibles:
Si aucune correspondance avec ServerName ou ServerAlias ne correspond, une erreur apparaitra sur votre navigateur.
Lorsque que votre serveur Web trouve une correspondance, il va diriger votre demande vers le dossier renseigné dans DocumentRoot . Ce dossier devra bien sûr être existant et contenir vos fichiers web (html, php,..).  Une fois arrivée dans votre dossier, Apache va traiter le contenu de la page et la transmettre à votre navigateur qui affichera le rendu graphique.

Les directives ErrorLog et CustomLogs renseignent les fichiers où apache va écrire soit les erreurs dans ErrorLog, soit le reste des logs dans CustomLogs. Les deux fichiers précisés dans ses directives devront bien sr être existants. Si vous ne les précisez pas, Apache mettra tous ses logs dans son fichier général de logs situé dans /var/log/httpd .

Vous pouvez rajouter dans un vhost des variables de php. Ces directives seront donc spécifiques à ce vhost. Voici quelques exemples de directives php mais de la même façon, vous pourrez modifier toutes les variables php:

php_admin_value sendmail_path ‘/usr/sbin/sendmail.postfix -t -f votreAdresseMail@nomDeDomaine.fr’
php_admin_value open_basedir /cheminHebergement:/tmp

La directive php_admin_value sendmail_path permet de diminuer le risque que votre mail soit considéré comme un spam si l’adresse renseignée est existante.
La directive php_admin_value open_basedir permet de cloisonner l’accès aux deux dossiers renseignés (/cheminHebergement et /tmp). Elle est prise en compte que si l’option safe mode est à 1.

D’autres directives peuvent être utiles comme DirectoryIndex où l’on précise l’ordre des fichiers que vous voulez exécuter si aucune page n’a été spécifiée. Si cette directive n’est pas renseignée, Apache prendra en compte la directive par des défaut de tous ses vhosts.
Dans l’exemple ci-dessous, si l’adresse http://www.toto.fr a été demandé alors le serveur analysera les valeurs de DirectoryIndex et traitera le premier fichier qu’il trouve:si index.html et index.html sont inexistants alors il traitera index.php.

DirectoryIndex index.html index.htm index.php index.php4 index.php5

La directive AddDefaultCharset permet de traiter les pages avec un décodage spécifique. Cela peut être utile quand vous encoder vos fichiers en iso-8859-1 lors de leurs créations et que le décodage d’apache est en utf-8. L’affichage de certains caractères comme les méta-caractères ou les caractères avec accents peuvent avoir un mauvais rendu graphique.

AddDefaultCharset iso-8859-1

Bien d’autres directives sont disponibles. Vous trouverez plus d’informations sur le site officiel d’Apache (Site officiel d’Apache).

Une fois que le vhost correspond à votre besoin, vous devrez cliquer sur « Enregistrer » puis revenir à la page précédente et cliquer sur « Appliquer les changements ». Il n’y a plus qu’à tester dans un navigateur.

2. Modification d’un vhost

Pour modifier un vhost, il faut procéder de la même manière que dans la rubrique précédente: Éditer la configuration globale d’Apache puis identifier le vhost à modifier. Une simple recherche sur le nom de domaine principal suffira (ServerName).

Une fois le vhost identifié, il faudra donc effectuer le(s) changement(s) que vous voulez apporter. Après chaque modifications, il faudra enregistrer vos changements et « Appliquer les changements ».
Voici l’exemple le plus demandé : « Ajout d’un nom de domaine à un vhost ».

2.1. Ajout d’un nom de domaine à un vhost

Pour revenir à notre exemple de www.toto.fr : vous voulez que le nom de domaine que vous venez d’enregistrer (toto.com) pointe vers le même hébergement que www.toto.fr. Dans ce cas, il n’y a qu’une chose à rajouter dans votre vhost (après avoir fait les pointages DNS) : Ajout d’une directive ServerAlias . Voici l’exemple du vhost précédent en ajoutant le ServerAlias (toto.com)

<VirtualHost votreIP:80>
ServerName www.toto.fr

ServerAlias www.toto.fr toto.fr

ServerAlias www.toto.fr www.toto.com
DocumentRoot /leCheminOùCeSitueVosFichiersWeb
ErrorLog /leCheminOùCeSitueVosErreursLogs/error_log
CustomLog /leCheminOùCeSitueVosLogs/error_log combined
</VirtualHost>

Cette modification va permettre de joindre votre hébergement en tapant dans un navigateur (http://www.toto.com). Si vous souhaiter que htttp://toto.com pointe également sur votre hébergement, il faudrait ajouter le serverAlias www.toto.fr toto.com :

<VirtualHost votreIP:80>
ServerName www.toto.fr

ServerAlias www.toto.fr toto.fr

ServerAlias www.toto.fr www.toto.com

ServerAlias www.toto.fr toto.com
DocumentRoot /leCheminOùCeSitueVosFichiersWeb
ErrorLog /leCheminOùCeSitueVosErreursLogs/error_log
CustomLog /leCheminOùCeSitueVosLogs/error_log combined
</VirtualHost>

N’oubliez pas d’enregistrer vos modifications et d’appliquer les changements.

3. Suppression d’un vhost

Pour supprimer un vhost , il suffit d’identifier le vhost à supprimer dans la configuration globale d’apache puis de le supprimer. N’oubliez pas de supprimer également les balises et .
Il suffira ensuite de sauvegarder et d’appliquer les changements.
Attention: La suppression d’un vhost ne va pas supprimer l’entrée DNS correspondant à cette hébergement.

Webmin: Création d’une base de données Mysql et des permissions pour être accessible depuis un utilisateur Mysql existant

Dans ce tutoriel, nous allons vous montrer comment créer une base de données mysql et ses permissions pour qu’un utilisateur existant puisse y accéder (depuis l’interface d’administration Webmin). Il sera également montré comment mettre à jour votre Phpmyadmin.

Connectez-vous sur votre interface Webmin ( https://votreIP:10000 ).

webMin_connexion

Entrer votre identifiant root et votre mot de passe, puis cliquer sur « Login ».

webMin_accueil

Cliquer sur l’onglet « Serveurs ».

webMin_serveurs

Cliquer sur « Serveur de base de données MySQL » . La page suivante s’affichera.

webMin_mysql

Cette page liste les bases de données Mysql créées sur votre serveur. Pour créer une nouvelle base de données, cliquer sur « Creation new database ». La page suivante s’affichera.

webMin_creation_base

Sur cette page, veuillez ne renseigner que le champ « Database name » par le nom de votre future base de données, puis cliquer sur « Créer ».

Cette base de données sera maintenant disponible sur votre serveur.

A ce stade, elle sera donc accessible et modifiable par des utilisateurs ayant toutes les permissions sur les bases de données Mysql.

Nous allons donc créer des permissions afin qu’un utilisateur existant puisse accéder à la base de données précédemment créé.

Veuillez donc retourner sur la page d’accueil du module Mysql et cliquer sur « Database permissions ».

La page suivante s’affichera :

webMin_permissions

Vous verrez sur cette page toutes les permissions spécifiques présentes sur votre serveur.

Dans ce tableau, le nom de la base de données, l’utilisateur Mysql et les droits spécifiques que cet utilisateur à sur cette base.

Nous allons donc faire de même avec votre votre base de données, votre utilisateur, et les droits que vous souhaitez lui attribuer.

Veuillez  donc cliquer sur « Creation new database permissions ».

La page suivante s’affichera :

webMin_creation_permissions

Tout d’abord, veillez bien à sélectionner les checkbox comme sur l’image ci-dessus.

  • Pour le champ « Databases », veuillez sélectionner dans le menu déroulant la base de données que vous avez créé précédemment.
  • Pour le champ « Username », veuillez saisir le nom exact (majuscules et minuscules) de l’utilisateur désiré.
  • Pour le champ « Hosts », veuillez saisir localhost .

Ensuite, veuillez sélectionner la/les permission(s) accordée(s) à cet utilisateur pour cette base de données (Select table data, Insert table data,….).

Puis cliquez sur « Créer ».

Les opérations sur Webmin sont maintenant terminées.

Si vous souhaitez accéder à votre nouvelle base de données par le biais de l’application Phpmyadmin, il vous reste quelques opérations à réaliser.

Il faut donc maintenant modifier le fichier « config.inc.php » du dossier phpmyadmin de l’hébergement concerné.

Si cela est un nouvel hébergement, copier phpmyadmin d’un hébergement existant ou téléchargez- le sur leur site officiel (http://www.phpmyadmin.net/home_page/downloads.php).

Il faudra en suite mettre le dossier phpmyadmin à la racine de votre hébergement.

Les nouveaux phpmyadmin ne nécessitent pas de créer ou de modifier le fichier « config.inc.php ». Vous pourrez directement y accéder en tapant dans la barre de recherche http://votredomaine.ext/phpmyadmin puis votre identifiant et mot de passe.

Le fichier « config.inc.php » contient (entre autre) l’utilisateur de votre base de données, le mot de passe de cet utilisateur et le nom des bases de données.
Pour pouvoir le modifier, il faut modifier les droits d’accès de ce fichier (par défaut restreints en lecture). Pour changer les droits d’accès à ce fichier, il faut vous connecter en ftp sur l’hébergement concerné et changer les droits d’accès du fichier situé dans le dossier phpmyadmin normalement à la racine de votre dossier FTP. Faire un clique droit sur le fichier, « Droit d’accès au  fichier… » et rentrer la valeur numérique 644 et « OK ».  Attention, cette modification rendra phpmyadmin indisponible pendant le modification.

Vous pouvez maintenant modifier ce fichier.

Dans ce fichier, veuillez donc rajouter le nom de votre nouvelle base de données au tableau de chaines de caractère (array(‘…)

$cfg[‘Servers’][$i][‘only_db’] = array(‘votreBaseDeDonnees1′,’votreBaseDeDonnees2’,..)

Faites bien attention de séparer vos noms de base de données par des virgules et de les mettre entre simple cote

Le fichier étant maintenant modifié, il n’y a plus qu’à modifier les droits d’accès du fichier en ftp.

Faire un clique droit sur le fichier, « Droit d’accès au  fichier… » et rentrer la valeur numérique 444 et « OK ».

Vous pouvez maintenant accéder à votre base de données avec votre utilisateur depuis phpmyadmin !