Aller au contenu

Création et Configuration d'une LAMP

Prérequis

Un serveur sous linux ou une VM sous linux

Création d'une connexion sécurisée

Création du nom de domaine en local

Pour modifier le fichier hosts, sur windows, c'est C:/Windows/System32/drivers/etc/hosts et sur linux, c'est /etc/hosts

Ajouter une ligne avec :

Text Only
<ip-lamp> lamp.mshome.net

Création de la configuration

On va créer un fichier de config

Text Only
nano config

Et on va ajouté le contenu suivant :

Text Only
Host lamp
    HostName lamp.mshome.net
    User <utilisateur>
    Port 22

Générer une clé SSH

Génerer une clé SSH sur windows ou linux via la commande suivante :

Bash
ssh-keygen -t ed25519

Vous pouvez juste faire enter jusqu'à la création du fichier.

Récupérer la clé public que vous venez de créer en ouvrant le fichier sur windows ou via la commande suivante sous linux :

Bash
cat id_ed25519.pub

Et copier la clé

Mettre la clé sur la machine

Ensuite, connectez-vous une première fois sur la machine de manière physique ou via le shell (si vous utilisez une VM)

aller dans ~/.ssh/ et modifier le fichier authorized_keys ou créer le si il n'existe pas via VI ou NANO

Bash
nano authorized_keys

et ajouter la clé public que vous aviez fait juste avant

Votre première connexion via SSH

Ouvrez votre terminal et faite la commande suivante

Bash
ssh lamp

Installation et configuration des éléments nécessaire

Apache2

Pour installer apache2, il suffit de faire un :

Bash
sudo apt install apache2 -y

MariaDB

Pour installer MariaDB, il suffit de faire un :

Bash
sudo apt install mariadb-server mariadb-client -y

Puis de le configurer avec :

Bash
mariadb_secure_installation

Si il vous met des trucs, mettez oui à chaque fois sauf dans le cas d'une configuration parcticulière

PHP

Pour installer PHP, on va uniquement installer les paquets nécessaire via :

Bash
sudo apt install php php-dev php-mysql -y

Test

Vous allez dans /var/www/html

Et vous allez créer le fichier info.php avec le contenu suivant :

PHP
<?php
    // Affiche les informations de PHP
    phpinfo();
?>

Et vous allez dans votre url lamp.mshome.net/info.php

Vous devriez avoir la page PHP

XDebug

Dans un premier temps, on va installer XDebug avec l'installeur officiel de PHP via la commande suivante :

Bash
sudo pecl install xdebug

Ensuite vous allez modifier le fichier de configuration PHP dans :

Bash
# Remplacer <version> par votre version de PHP (dans ce cas 8.3)
sudo nano /etc/php/<version>/php.ini

Et vous allez toute à la fin de la page puis vous ajoutez :

INI
; blabla du dessus

[xdebug]
zend_extension=/usr/lib/php/20230831/xdebug.so
xdebug.start_with_request=yes
xdebug.mode=debug

Toujours dans php.ini, il faut aussi chercher les éléments display_errors et display_startup_errors, les valeurs par défaut sont Off, remplacés les par On.

Pour en finir, il suffit de relancer apache2 avec la commande suivante :

Bash
sudo service apache2 restart

ZSH et OhMyZsh

Pour installer ZSH, il suffit de faire :

Text Only
sudo apt install zsh -y

Et installer OhMyZsh :

Text Only
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Si il vous propose : Do you want to change your default shell to zsh? [Y/n], vous faite simplement la touche entrer.

Il suffit de changer le thême via :

Bash
nano .zshrc

Et de modifier ZSH_THEME par bira puis de mettre à jour avec :

Bash
source .zshrc

Configurer les permissions du dossier html

Premièrement, on va aller dans le dossier /var/www

Deuxièmement, on va donner les droits du dossier à Apache via la commande suivante :

Bash
sudo chown -R www-data:www-data html

Et maintenant, on va donner les droits au groupe de modifier le dossier et son contenu :

Bash
sudo chmod -R g+w html

Il suffit maintenant d'ajouter l'utilisateur au groupe www-data avec :

Bash
sudo usermod -aG www-data <utilisateur>

Pour finir, il suffit de sortir avec la commande exit et de revenir de la même manière dont vous êtes venu juste avant

Ajout d'un projet école

Ajout du fichier config

Créer le fichier ou modifier le via la commande :

Text Only
nano config 

Et ajouter le contenu suivant :

Text Only
Host gitlab.ictge.ch
    HostName gitlab.ictge.ch
    User <utilisateur>
    Port 22002

Configurer git

Il faut pour cela modifier son nom d'utilisateur et son email de façon global via la commande :

Bash
git config --global user.name james-bnn
git config --global user.email james.bnn@eduge.ch

Création d'une clé SSH sur le serveur

Pour cela, vous pouvez simplement faire la commande :

Bash
ssh-keygen -t ed25519

Et faire entrer jusqu'à la création de la clé

Maintenant, il faut récupérer la clé via :

Bash
cat id_ed25519.pub

Copier son contenu.

Ajout de la clé sur GitLab

Aller sur votre instance GitLab et connectez-vous.

Ensuite, faite Profile/Edit Profile/SSH Keys et cliquer sur Add new key

Mettez ensuite la clé et faite Add key

Importer un projet

Sur votre instance GitLab, aller sur le projet que vous souhaitez ajouter et faite Code->Clone with SSH

Retourner sur le terminal SSH et aller dans /var/www/html et faite la commande suivante pour importer le projet :

Bash
git clone git@gitlab.ictge.ch:edu-bonvinp/webeng_es1.git

Ouvrir VSCode sur votre serveur

Ouvrez votre Visual Studio Code, cliquer sur la petite îcone en bas à droite des 2 flèches qui se croise puis faite Connect to Host->lamp

Une fois cela fait, faite Open folder et aller dans /var/www/html/<votre-projet>

Et voilà, vous êtes prêt à travailler.