(Strangley) Mon Apache2 installé ne démarre pas lors de la connexion à Linux Mint.
L'exécution de cette commande le fait démarrer:
sudo service apache2 start
Comment dois-je tenter de démarrer ce service à chaque connexion?
linux-mint
startup
eoinoc
la source
la source
~/.xinitrc
, qui sera exécutée au démarrage.~/.xinitrc
est exécuté au moment de la connexion, ce qui n'est pas correct. Apache doit être démarré par root au démarrage.Réponses:
Debian (Ubuntu / Linux Mint)
rcconf (CLI-GUI)
update-rc.d
ou
RedHat / Fedora / CentOS
chkconfig
ou
la source
update-rc.d
commande conduisent à une erreur:update-rc.d: warning: apache2 start runlevel arguments (none) do not match LSB Default-Start values (2 3 4 5)
.warning: apache2 start runlevel arguments (none) do not batch LSB default-Start values (2 3 4 5)
.Étant donné que Mint est basé sur Ubuntu et qu'Ubuntu est passé à Upstart, le livre de recettes Upstart contient toutes les informations pour démarrer un service au démarrage ou à tout niveau d'exécution spécifié.
Ce site donne un livre de recettes détaillé pour démarrer Apache au démarrage.
la source
/etc/init.d/apache2
. Mais ce fichier est déjà plein d'un script bash beaucoup plus compliqué, qui doit avoir été placé là par Apache lui-même.Une autre cause du même problème est la priorité des liens apache dans rc [0-6] .d. Les miens étaient S90 et K09, et Apache ne voulait pas démarrer au démarrage. Fixer les priorités à leurs valeurs par défaut, 20 ans, a fonctionné pour moi. Les liens existants doivent d'abord être supprimés.
la source
À l'arrêt, j'ai vu une erreur:
Le truc,
mysite
c'était un lien symbolique vers un fichier dans mon dossier personnel.Cela ne devrait normalement pas être un problème, pensai-je.
Mais pour autant que je sache, ma partition domestique est cryptée . Par conséquent, je suppose qu'Apache n'a pas pu lire le fichier de site virtuel lors du chargement. Le fichier n'était accessible que lorsque je saisis mon mot de passe.
Une situation complexe, et il a fallu des mois pour le résoudre :)
la source
Une nouvelle réponse mise à jour en 2019:
La commande systemctl est un nouvel outil pour contrôler le système et le service systemd. Il s'agit du remplacement de l'ancienne gestion du système SysV init. La plupart des systèmes d'exploitation Linux modernes utilisent ce nouvel outil. Si vous travaillez avec CentOS 7, Ubuntu 16.04 ou version ultérieure ou le système Debian 9. Ils ont opté pour systemd maintenant.
Le service activé démarre automatiquement au démarrage du système. Il s'agit de l'option similaire pour systemd que chkconfig pour l'initialisation SysV.
la source