Aller au contenu principal


Gérer son site en mode console

Dans ce billet, se trouvent résumées les procédures que j'utilise pour gérer mon site en mode console (shell -ligne de commande-, terminal).

Plusieurs outils sous licence "libres" sont disponibles pour établir les connexions cryptées SSH vers la ligne de commande (shell) de mon serveur distant. J'utilise :

information complémentaire disponible en cliquant ici

Ceci n'est possible que parce que je dispose d'une offre d'hébergement incluant un accès SSH.
Dernière MAJ :
13 Sep 2024
Billet créé le :
21 nov 2020

1. Putty

Cliquez pour agrandir l'image

Image n°1

L'image n°1 présente dans la fenêtre qui s'ouvre pour paramétrer la connexion :

  1. l'adresse de votre serveur web ;

  2. le type de connexion ;

  3. le comportement du shell.

information complémentaire disponible en cliquant ici

Pensez à sauvegarder les paramètres de connexion en complétant la boîte "saved session", puis en appuyant sur le bouton "save".

L'image n°2 présente la fenêtre du terminal (shell) obtenu :

  1. saisissez votre identifiant de connexion ;

  2. saisissez votre mot de passe ;

  3. saisissez votre commande (exemple : pwd ou ls).

Image n°2

2. mRemoteNG

Pour créer la connexion au serveur, suivez les 8 étapes illustrées par les 2 images ci-dessous :

  1. Dans la fenêtre "connexions", effectuer un clic-droit pour ouvrir le menu contextuel ;

  2. Dans ce menu, cliquer sur l'item "Nouvelle connexion" ;

  3. Un item "Nouvelle connexion" est apparu dans la fenêtre "connexions" ;

  4.  

    1. Cliquer sur cet item ;

    2. Dans la fenêtre "Configuration" (dont le contenu dépend de l'item "connexion" choisi) ;

  5. Compléter le champ "Nom" pour identifier cette nouvelle connexion" ;

  6. Compéter l'adresse IP ou le nom complet du serveur (URL) à joindre ;

  7. Compléter les informations d'authentification du compte qui établira la connexion avec le serveur.

 

Cliquez pour agrandir l'image

 

Indiquer enfin SSH dans la section "protocole" pour obtenir la configuration illustrée dans l'image :

Cliquez pour agrandir l'image

Lorsque la configuration est terminée, dans la fenêtre "connexions", faire un clic droit sur l'item créé puis cliquer sur l'item "connexion" du menu contextuel et obtenir l'illustration ci-jointe :

Cliquer pour agrandir l'image

 

3. Créer ou adapter votre fichier de profil

Créer ou éditer votre fichier de profil (qui doit être situé à la racine de votre hébergement) :

nano .profile

Voici le contenu de mon fichier ".profile" :

alias php='/usr/bin/php8.1-cli'
alias composer='php ~/composer.phar'
alias drush='php ~/8/vendor/drush/drush/drush.php --php=/usr/bin/php8.1-cli'
export COLUMNS

Ctrl+X pour sortir et Y pour enregistrer les modifications
Attention : il faut se reconnecter pour que les modifications apportées au profil soient prises en compte.

information complémentaire disponible en cliquant ici

J'ai écrit le profile avec "nano" pour éviter les problèmes de transcodage  qui peuvent apparaître lorsque l'on crée son fichier en local, par exemple avec notepad++, et qu'on l'envoie sur le serveur 1and1 par ftp. 
La version de php utilisée pour la gestion des mises à jour avec "composer" est actuellement limité à 8.1 (cf : le fichier .profile). Cependant mon site s'exécute sous php8.3 ; en effet toutes ces versions sont disponibles chez mon hébergeur.

4. Les principales actions à effectuer

Automatiser des tâches avec CRON

CRON est un programme (sur les serveurs UNIX) pour exécuter régulièrement (par exemple tous le jours à 09h37) et de manière automatique des commandes (par exemple : optimisation de la BdD).   
La commande "crontab" permet de créer ou de modifier la liste des tâches à automatiser :

  • crontab -l   // affiche la liste des tâches
  • crontab -e //ouvre la liste dans l'éditeur de texte par défaut du serveur ("le plus souvent "vi") 

Par exemple, le code suivant :  

               MAILTO = "daniel@dhumbert.info" 
               @daily /usr/bin/php8.1-cli $HOME/mycron.php 

permet à CRON de lancer tous les jours à 0H00 l'exécution du script "mycron.php" situé dans le dossier privé de l'utilisateur et envoie sur l'adresse mail "daniel@dhumbert.info" le résultat produit par le script

La version de php-cli à utiliser dépend de votre installation. L'image ci-dessous montre les différentes versions existant dans mon installation. Rendez-vous dans le dossier \usr\bin et taper la commande "ls *cli" pour les visualiser :

Lire cet article qui détaille la mise en place d'une tâche CRON pour optimiser l'espace occupé par une BdD sur un serveur Linux hébergé chez 1and1

information complémentaire disponible en cliquant ici

Avec "vi", l'éditeur de texte par défaut sous linux, lorsque la table cron est affichée en résultat de la commande "crontab -e", utiliser :

  •   la touche "i" pour passer en mode saisie ;
  •   la touche "echap" pour quitter le mode saisie puis taper ":wq" pour sauvegarder ou ":q" pour quitter sans sauvegarder.

Installer composer

"curl"  est une (interface de) commande permettant le transfert de données depuis (ou vers) un serveur à l'aide des protocoles tels que HTTP, FTP ... 


Exemple :

curl -sS https://getcomposer.org/installer |  /usr/bin/php8.1-cli

Explications :

  • -s  : exécution de "curl" en mode silencieux ;

  • -S : affiche les erreurs ;

  • "https://getcomposer.org/installer" est le lien de téléchargement du programme "installer" de "composer" ;

  • est le fameux "pipe" linux pour enchaîner les commandes donc le programme "installer", téléchargé par "curl -sS https://getcomposer.org/installer",  est exécuté par le programme  "php8.1-cli.exe"du dossier "/usr/bin".

Pour vérifier que l'installation de "composer" s'est bien déroulée, taper la commande :

/usr/bin/php8.1-cli composer.phar

qui produit l'affichage ci-joint.

Pour mettre à jour la version de "composer", utiliser la commande :

/usr/bin/php8.1-cli composer.phar self-update

Penser à adapter la version de php-cli à la version existant sur votre installation.

installer drush ( DRUpal SHell)

php8.3-cli composer.phar global require drush/drush:dev-master

 

Vérifier le fonctionnement de drush

drush st

pour les commandes disponibles avec drush : www.drush.org

Je me suis inspiré du billet de "Dave Boulden" pour l'installation de drush à partir de composer. Cependant je n'ai pas utilisé le profil qu'il propose et qui fonctionnait mal chez moi. J'ai suivi commentaire de  "greg.1.anderson"  posté sur drupal.

Installer/retirer un module avec composer

Je vais utiliser le module "devel" comme exemple de module à installer ou  désinstaller :

Commentaires sur l'image :

  • La commande encadrée "composer require drupal/devel"  (ou /usr/bin/php8.1-cli composer.phar require drupal/devel) permet l'installation du module "devel" et de ses dépendances ;

  • Les fichiers du module sont téléchargés, puis copiés dans le dossier "modules/contrib/devel" du site web (lignes respectives  "downloading drupal/devel (5.1.1)" et "installing drupal/devel (5.1.1)" ;

NB : il faut ensuite activer ce module à travers la page "/admin/modules".
Pour installer la version précise,  utiliser la syntaxe du type "drupal/devel:^5.1.1"
Pour désinstaller le module "devel" et de ses dépendances : composer remove drupal/devel. Le dossier "devel "de l'arborescence "modules/contrib" est supprimé.
 

information complémentaire disponible en cliquant ici

Attention, l'utilisation de composer remplace le fichier .htaccess du site. Si votre version est différente de la version par défaut, il faut interdire ce remplacement en modifiant le fichier "composer.json" comme indiqué sur le lien.

sources :