Linux, c’est top, Ubuntu c’est cool, mais quand on installe une pile LAMP, Apache2 et MySql se lancent au boot, et si, comme moi, vous ne développez pas à chaque session, et bien vous les lancez pour rien. Heureusement, il est facile de rendre ce lancement manuel.

Supprimer les deux services du démarrage automatique

Source : https ://askubuntu.com/questions/57381/how-to-stop-mysql-from-running-at-boot-time

sudo systemctl disable apache2
sudo systemctl disable mysql

Ensuite, pour les relancer en ligne de commande :

sudo service mysql start
sudo service apache2 start

Évidemment, nous voulons une entrée dans le menu des applications pour le faire sans avoir à ouvrir un terminal…

Créer deux scripts qui lancent et arrêtent les 2 services

  • Remarque 1 : on pourrait bien sûr ne faire qu’un script qui prend un paramètre start ou stop en entrée
  • Remarque 2 : je mets tout dans ~/.local/share/applications, il serait plus élégant de mettre les scripts et les icônes dans un dossier ad hoc

Source : https ://askubuntu.com/questions/37401/how-do-i-add-a-launcher-for-sh-applications

Créer un script qui lance les 2 services  :

vim ~/.local/share/applications/start-lamp.sh
# !/bin/bash
sudo service mysql start
sudo service apache2 start
zenity --info --text="Started !"

Répéter l’opération pour créer un script qui arrête les 2 services (stop au lieu de start).

Le problème est que ces deux services nécessitent les droits root. Donc…

Autoriser votre user à lancer/arrêter apache2 et mysql

sudo visudo

**Attention** : cela autorise le user à exécuter sudo <commande> sans mot de passe, pas à exécuter <commande> sans sudo !

Ajouter la ligne suivante à la fin du fichier avant includedir :
<votre_user> ALL=NOPASSWD :/usr/sbin/service apache2 *, NOPASSWD :/usr/sbin/service mysql *

Créer deux icônes start et stop dans le menu application

Créer un fichier start-lamp.desktop

vim ~/.local/share/applications/start-lamp.desktop

Contenant :

[Desktop Entry]
Name=Start Lamp
GenericName=Start LAMP Stack
GenericName[fr]=Lancement LAMP Stack
Comment=Manually start Apache2 and MySql services
Comment[fr]=Lancement manuel des services Apache2 et MySql
Exec=/home/denis/.local/share/applications/start-lamp.sh
Icon=/home/denis/.local/share/applications/start-lamp.png
Terminal=false
Type=Application

 ! ! ! Attention la ligne suivante ne marche pas : faire avec l’éditeur du launcher ubuntu (extension Appfolders Management extension du gnome shell) ! !

Categories=<où vous voulez> ;
MimeType=text/html ;
StartupNotify=true
Keywords=Apache ;MySql ;

Y adjoindre un icône start-lamp.png dans le même dossier

Répéter l’opération pour stop-lamp.desktop

Tags : ,

Classés dans :