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 :
11 jan 2024
Billet créé le :
21 nov 2020

1. Putty

L'image ci-contre présente 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.

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 ci-contre 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" ;

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.

 

Cliquez pour agrandir l'image

 

Indiquer enfin SSH dans la section "protocole" pour obtenir la configuration illustrée ci-contre :

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-dessous :

Cliquer pour agrandir l'image

 

Cliquez pour agrandir l'image

3. Les principales actions

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

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

-S : affiche les erreurs ;

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

|  : 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 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-contre.

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.1-cli composer.phar global require drush/drush:dev-master

Créer ou adapter le fichier de profil pour que votre environnement par défaut connaisse "drush"

Editer votre fichier de profil :

nano .profile

Voici le contenu de mon fichier ".profile" :

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

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.

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 :

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 modules sont copiés dans le dossier "modules/contrib/devel" du site web ;

pour installer la version précise 5.1.1,  utiliser la syntaxe drupal/devel:^5.1.1 ;

composer remove drupal/devel (ou ... ) permet la désinstallation du module "devel" et de ses dépendances ;

le dossier devel de "modules/contrib" est supprimé.

NB : il faut ensuite activer ce module à travers la page /admin/modules.

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 :

 

 

Gérer son site en ligne de commande avec "putty"ou mRemoteNG