Informations générales de développement numérique.

Informations MEZOTICAM - Activités générales : Plus de masque, mais restons vigilants. Les contraintes sanitaires obligent à un ralentissement des développements. | Guerre en Ukraine : Un conflit qui mène à une pénurie alimentaire et informatique. | Cybersécurité : La guerre en Ukraine nous montre combien il est important de renforcer la sécurité informatique.
Chiffre 2Chiffre 4Chiffre 0Chiffre 5Chiffre 0Chiffre 2
depuis le 15/05/2009
Vendredi 2 Mai 2025 | Saint Boris

Installation de Apache


Après avoir installer le système d'exploitation, il sera nécessaire d'y accéder pour y transférer des fichiers. Ceci se fera à l'aide d'un client ftp. Maintenant il faut ajouter Apache, Php 5, MySql et PhpMyadmin pour parfaire le serveur Web.

Comment se connecter au serveur ?

Sous Windows® deux logiciels très pratiques Winscp pour la gestion des fichiers et Putty pour se connecter en mode console au serveur (SSH).


Installation du serveur Web::Apache2

 sudo apt-get install apache2
 

Installation de Php5

 sudo apt-get install libapache2-mod-php5 php5 php5-mysql php5-gd php5-cli php5-imagick
 

Installation des librairies graphiques

sudo apt-get install imagemagick netpbm 
 

Installation de la base de données Mysql5 :

 sudo apt-get install mysql-server mysql-client libmysqlclient15-dev
sudo apt-get install mysql-server-5.0 mysql-client

Modification du mot de passe par défaut de l'utilisateur «root»:

 mysqladmin -u root password motdepasse 
 

ou

 /etc/init.d/mysql reset-password 
 

Installation de phpmyadmin

phpMyAdmin
Une Interface graphique, nullement néessaire pour le fonctionnement de MySql, mais trè pratique pour l'administration des bases de données depuis un navigateur web.

 sudo apt-get install phpmyadmin
 

Création des dossiers web pour chaque utilisateur

Dans le dossier /media

sudo mkdir /media/www-dev
sudo mkdir /media/www-dev/public
sudo mkdir /media/www-dev/private
sudo chown -R utilisateur_courant:users /media/www-dev
 

Créer un VirtualHost dans Apache est une tâche courante pour héberger plusieurs sites web sur un même serveur. Voici une procédure idéale pour configurer un VirtualHost dans Apache :

Étape 1 : Installer Apache (si ce n'est pas déjà fait)

  1. Si Apache n'est pas déjà installé sur votre serveur, vous pouvez l'installer en utilisant les commandes suivantes :
  1. Sur Ubuntu/Debian :
sudo apt update
sudo apt install apache2
  1. Sur CentOS/RHEL :
sudo yum install httpd

Étape 2 : Créer un Répertoire pour Votre Site Web

  1. Créez un répertoire pour votre site web dans /var/www/ (ou un autre emplacement de votre choix).
sudo mkdir -p /var/www/votre_site

Étape 3 : Créer un Fichier de Configuration pour le VirtualHost

  1. Créez un fichier de configuration pour votre VirtualHost dans le répertoire /etc/apache2/sites-available/ (ou /etc/httpd/conf.d/ sur CentOS/RHEL).
sudo nano /etc/apache2/sites-available/votre_site.conf
  1. Ajoutez la configuration suivante dans ce fichier :
<VirtualHost *:80>
  ServerAdmin webmaster@votre_site.com
  ServerName votre_site.com
  ServerAlias www.votre_site.com
  DocumentRoot /var/www/votre_site

  <Directory /var/www/votre_site>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
  </Directory>

ErrorLog ${APACHE_LOG_DIR}/votre_site_error.log
CustomLog ${APACHE_LOG_DIR}/votre_site_access.log combined
</VirtualHost>

Étape 4 : Activer le VirtualHost

  1. Activez le VirtualHost en utilisant la commande suivante :

Sur Ubuntu/Debian :

sudo a2ensite votre_site.conf

Sur CentOS/RHEL :

  1. Vous n'avez pas besoin d'activer le site, mais assurez-vous que le fichier de configuration est inclus dans le fichier principal de configuration d'Apache.

Étape 5 : Redémarrer Apache

  1. Redémarrez Apache pour appliquer les modifications :
  1. Sur Ubuntu/Debian :
sudo systemctl restart apache2
  1. Sur CentOS/RHEL :
sudo systemctl restart httpd

Étape 6 : Configurer le DNS (Optionnel)

  1. Si vous avez un nom de domaine, assurez-vous que votre DNS pointe vers l'adresse IP de votre serveur. Vous pouvez configurer cela via votre registrar de domaine ou votre fournisseur DNS.

Étape 7 : Tester la Configuration

  1. Ouvrez un navigateur web et accédez à http://votre_site.com pour vérifier que votre VirtualHost fonctionne correctement.

Conclusion

En suivant ces étapes, vous devriez être en mesure de configurer un VirtualHost dans Apache pour héberger plusieurs sites web sur un même serveur.

Gestion des permissions pour l'utilisateur 'www-data'

Pour éviter les problèmes de permissions avec l'utilisateur www-data (l'utilisateur sous lequel Apache s'exécute) lors de la création de fichiers à partir de votre site web, vous pouvez configurer les permissions de manière à ce que www-data ait les droits nécessaires sans compromettre la sécurité. Voici une procédure idéale pour configurer les permissions sur les dossiers et fichiers :

Étape 1 : Créer un Groupe Dédié

Créez un groupe dédié pour les utilisateurs qui doivent avoir accès aux fichiers web. Par exemple, vous pouvez créer un groupe appelé webdev.

sudo groupadd webdev

Étape 2 : Ajouter les Utilisateurs au Groupe

Ajoutez votre utilisateur personnel et l'utilisateur www-data au groupe webdev.

sudo usermod -aG webdev votre_utilisateur
sudo usermod -aG webdev www-data
Remplacez votre_utilisateur par votre nom d'utilisateur.

Étape 3 : Configurer les Permissions sur les Répertoires Web

Changez le groupe propriétaire des répertoires web à webdev et définissez les permissions appropriées.

sudo chown -R votre_utilisateur:webdev /var/www/votre_site
sudo chmod -R 2775 /var/www/votre_site
  1. 2775 : Le bit "setgid" (2) assure que les nouveaux fichiers et répertoires créés dans ce répertoire héritent du groupe propriétaire (webdev). Les permissions 775 permettent au propriétaire et au groupe de lire, écrire et exécuter, et aux autres utilisateurs de lire et exécuter.

Étape 4 : Configurer les Permissions par Défaut pour les Nouveaux Fichiers et Répertoires

Configurez les permissions par défaut pour les nouveaux fichiers et répertoires créés dans le répertoire web.

sudo chmod g+s /var/www/votre_site

Étape 5 : Configurer les Permissions pour les Fichiers Existants

Assurez-vous que les fichiers existants ont les permissions appropriées.

sudo find /var/www/votre_site -type f -exec chmod 664 {} \;
sudo find /var/www/votre_site -type d -exec chmod 2775 {} \;
  1. 664 : Les fichiers sont lisibles et modifiables par le propriétaire et le groupe, et lisibles par les autres.
  2. 2775 : Les répertoires sont lisibles, modifiables et exécutables par le propriétaire et le groupe, et lisibles et exécutables par les autres. Le bit "setgid" (2) assure que les nouveaux fichiers et répertoires héritent du groupe propriétaire.

Étape 6 : Vérifier les Permissions

Vérifiez que les permissions sont correctement configurées.

ls -l /var/www/votre_site

Conclusion

En suivant ces étapes, vous configurez les permissions de manière à ce que l'utilisateur www-data et votre utilisateur personnel puissent créer et modifier des fichiers dans le répertoire web sans rencontrer de problèmes de permissions. Cela permet également de maintenir un niveau de sécurité approprié.