Notice: this is an archived website / Note: ceci est une ancienne page du site archivé

Démarrer et utiliser Apache et MySQL uniquement à la demande

Avoir un environnement de travail et de développement sous la main sur son ordinateur portable c’est bien pratique, aussi j’ai Apache2/MySQL/PHP5/PhpMyAdmin (et moult autres joyeusetés) sur mon fidèle Thinkpad tournant avec Ubuntu.
J’ai aussi installé cet environnement sur le Netbook jouet « Playskool » (eMachines 350*) qui me sert comme machine d’appoint, en cas de déplacements non-professionnels.

Néanmoins, lorsque l’on utilise que ponctuellement cet environnement de travail, avoir ces lourds processus qui tournent pour rien ça peut être gênant car ça consomme son petit paquet de ressources (surtout si la machine est limitée et c’est bien le cas d’un netbook) et encore plus lorsque l’on est sur batterie car cela vient réduire l’autonomie.

Nous allons voir comment faire pour n’avoir Apache et MySQL qui ne tournent pas inutilement, mais seulement lorsque l’on en a besoin.

Arrêter le lancement automatique d’Apache et de MySQL au démarrage de la machine

Note: je n’ai fait cette procédure que sur mon Netbook où je n’y utilise Apache/MySQL qu’occasionnellement, alors que sur mon Thinkpad c’est mon environnement de travail quotidien: quasi tout le temps sur secteur, bien plus puissant, et j’y ai très souvent besoin de ces serveurs.

Ouvrez un terminal et lancez-y ces commandes:

sudo update-rc.d -f apache2 remove
sudo update-rc.d -f mysql remove

j’utilise l’option -f car ils pouvaient être récalcitrants à dégager.
Ça enlève leur lancement de la séquence de démarrage des processus de la machine.

Mais bon, ce n’est pas suffisant pour le serveur MySQL qui a aussi une procédure de lancement lorsque votre interface réseau émerge. Il faut alors éditer le fichier /etc/init/mysql.conf avec la commande:

gksudo gedit /etc/init/mysql.conf

puis commenter ces lignes:

start on (net-device-up
          and local-filesystems
          and runlevel [2345])

ce qui donne:

#start on (net-device-up
#          and local-filesystems
#          and runlevel [2345])

et enregistrer le fichier.

Au redémarrage de la machine, ils ne se lanceront plus automatiquement!

Commandes pour les démarrer et arrêter manuellement

Il y a surement plus malin, plus élégant, plus efficace, mais je me suis simplement fait deux petits scripts bash tout simples
.lamp-start , avec dedans:

#!/bin/bash

# by Tof www.galipe.net
# lamp start

sudo service apache2 start
sudo service mysql start

et .lamp-stop , avec dedans:

#!/bin/bash

# by Tof www.galipe.net
# lamp stop

sudo service apache2 stop
sudo service mysql stop

Rendre ces deux scripts exécutables par un « chmod +x » ou en mode graphique: clic-droit sur le fichier > Propriétés > Permissions, puis cocher « Autoriser l’exécution du fichier comme un programme »

Puis j’ai ajouté le lancement de ces deux scripts depuis le menu « Applications » de Gnome (clic-droit sur le menu « Applications » > Éditer les menus):

C’est ainsi plus accessible en clic depuis le menu que d’aller faire ça à chaque fois en console.

Conclusion

Voilà, sur mon Netbook: Apache et MySQL ne se lancent jamais sauf si j’en ai besoin, auquel cas je peux les lancer et les arrêter d’un simple clic. Et sur mon Thinkpad (qui est ma station de travail principale et plutôt sédentaire) ils restent lancés au démarrage mais je peux facilement les arrêter (et relancer) manuellement si jamais je l’emporte dans le train.


* eMachine 350: une concession que j’ai du faire à l’informatique plébéienne, ayant eu un besoin urgent d’un laptop pour une journée (donc budget minimum) afin de réaliser une intervention imprévue pour un client lors de mes vacances cet été. Le Windows 7 Starter (32bits et bloqué en un seul thread processeur, donc le processeur 64bits/dual-thread est sous-utilisé) installé en standard est déjà une vraie ramasse, avec en plus toute la couche de pourriciels made-in Acer/Norton/etc… en font une machine qui ne sert pas à grand chose tellement la couche OS et logicielle est lourde, inappropriée et inutile.
Je lui ai augmenté sa RAM à 2Go et changé sa carte wifi par une Intel. Mais bon le problème n’est pas la RAM sur cet ordi mais bel et bien Windows. (Au passage un conseil pour générer et graver les DVD de restauration de windows afin de mettre l’installe Winwin d’usine sur DVD dans un placard et d’ensuite dégager Windows pour de bon de votre machine et y installer un vrai OS)
Avec Ubuntu en version Desktop c’est déjà bien mieux: 64bits et plusieurs threads (le processeur de cette machine étant dual-thread, autant en profiter), cette machine est déjà 100 fois plus utilisable.


Un petit coup de Newrez (+ d’infos) pour extrapoler à la volée le bureau au-delà de sa pauvre résolution (et le mettre en 1280 pixel, par exemple quand il y a besoin) et là il y a moyen de faire des choses! Mais bon… ça ne vaut pas un bon Thinkpad!

One thought on “Démarrer et utiliser Apache et MySQL uniquement à la demande”

  1. grognon says:

    Bonjour,
    J’ai commis ce script pour lamp :

    #!/bin/sh

    case « $1 » in
    start)
    sudo /etc/init.d/apache2 start
    sudo /etc/init.d/mysql start
    ;;
    stop)
    sudo /etc/init.d/apache2 stop
    sudo /etc/init.d/mysql stop
    ;;
    reload)
    sudo /etc/init.d/apache2 reload
    sudo /etc/init.d/mysql reload
    ;;
    restart)
    sudo /etc/init.d/apache2 restart
    sudo /etc/init.d/mysql restart
    ;;
    *)
    echo « Usage: lamp {start|stop|restart|reload} »
    exit 1
    ;;
    esac

    exit 0

    Merci pour ton article

Comments are closed.