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 :
1. Putty
L'image n°1 présente dans la fenêtre qui s'ouvre pour paramétrer la connexion :
l'adresse de votre serveur web ;
le type de connexion ;
le comportement du shell.
L'image n°2 présente la fenêtre du terminal (shell) obtenu :
saisissez votre identifiant de connexion ;
saisissez votre mot de passe ;
saisissez votre commande (exemple : pwd ou ls).
2. mRemoteNG
Pour créer la connexion au serveur, suivez les 8 étapes illustrées par les 2 images ci-dessous :
Dans la fenêtre "connexions", effectuer un clic-droit pour ouvrir le menu contextuel ;
Dans ce menu, cliquer sur l'item "Nouvelle connexion" ;
Un item "Nouvelle connexion" est apparu dans la fenêtre "connexions" ;
Cliquer sur cet item ;
Dans la fenêtre "Configuration" (dont le contenu dépend de l'item "connexion" choisi) ;
Compléter le champ "Nom" pour identifier cette nouvelle connexion" ;
Compéter l'adresse IP ou le nom complet du serveur (URL) à joindre ;
Compléter les informations d'authentification du compte qui établira la connexion avec le serveur.
Indiquer enfin SSH dans la section "protocole" pour obtenir la configuration illustrée dans 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 :
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.
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
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
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)" ;
sources :
- www.drupal.org/node/828466 et le commentaire de greg.1.anderson pour les options à ajouter à l'alias ;
- http://www.daveboulden.co.uk/index.php/2015/03/03/installing-drush-7-on-11-unlimited-shared-hosting/