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 :
<ip-lamp> lamp.mshome.net
Création de la configuration¶
On va créer un fichier de config
nano config
Et on va ajouté le contenu suivant :
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 :
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 :
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
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
ssh lamp
Installation et configuration des éléments nécessaire¶
Apache2¶
Pour installer apache2, il suffit de faire un :
sudo apt install apache2 -y
MariaDB¶
Pour installer MariaDB, il suffit de faire un :
sudo apt install mariadb-server mariadb-client -y
Puis de le configurer avec :
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 :
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
// 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 :
sudo pecl install xdebug
Ensuite vous allez modifier le fichier de configuration PHP dans :
# 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 :
; 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 :
sudo service apache2 restart
ZSH et OhMyZsh¶
Pour installer ZSH, il suffit de faire :
sudo apt install zsh -y
Et installer OhMyZsh :
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 :
nano .zshrc
Et de modifier ZSH_THEME par bira puis de mettre à jour avec :
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 :
sudo chown -R www-data:www-data html
Et maintenant, on va donner les droits au groupe de modifier le dossier et son contenu :
sudo chmod -R g+w html
Il suffit maintenant d'ajouter l'utilisateur au groupe www-data avec :
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 :
nano config
Et ajouter le contenu suivant :
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 :
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 :
ssh-keygen -t ed25519
Et faire entrer jusqu'à la création de la clé
Maintenant, il faut récupérer la clé via :
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 :
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.