(Strangley) Mein installierter Apache2 startet nicht, wenn ich mich bei Linux Mint anmelde.
Wenn Sie diesen Befehl ausführen, wird Folgendes ausgeführt:
sudo service apache2 start
Wie soll ich versuchen, diesen Dienst bei jeder Anmeldung zu starten?
linux-mint
startup
eoinoc
quelle
quelle
~/.xinitrc
, der beim Start ausgeführt wird.~/.xinitrc
wird zur Anmeldezeit ausgeführt , was nicht richtig ist. Apache muss beim Booten von root gestartet werden.Antworten:
Debian (Ubuntu / Linux Mint)
rcconf (CLI-GUI)
update-rc.d
oder
RedHat / Fedora / CentOS
chkconfig
oder
quelle
update-rc.d
Befehls führt zu einem Fehler :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)
.Da Mint auf Ubuntu basiert und Ubuntu auf Upstart umgestellt hat, enthält das Upstart-Kochbuch alle Informationen für den Start eines Dienstes beim Booten oder auf einem bestimmten Runlevel.
Diese Seite enthält ein detailliertes Kochbuch zum Starten von Apache beim Booten.
quelle
/etc/init.d/apache2
. Diese Datei enthält jedoch bereits ein viel komplizierteres Bash-Skript, das von Apache selbst dort abgelegt worden sein muss.Eine weitere Ursache für dasselbe Problem ist die Priorität der Apache-Links in rc [0-6] .d. Meine waren S90 und K09, und Apache würde beim Booten nicht starten. Das Setzen der Prioritäten auf ihre Standardeinstellungen (20) hat für mich funktioniert. Die vorhandenen Links müssen zuerst entfernt werden.
quelle
Beim Herunterfahren wurde ein Fehler angezeigt:
Die Sache war,
mysite
war mit einer Datei in meinem Home-Ordner verknüpft.Das sollte normalerweise kein Problem sein, dachte ich.
Aber soweit ich weiß, ist meine Home-Partition verschlüsselt . Daher vermute ich, dass Apache die Datei der virtuellen Site beim Laden nicht lesen konnte. Auf die Datei konnte erst zugegriffen werden, als ich mein Passwort eingegeben habe.
Eine komplexe Situation, und es dauerte Monate, um sie zu klären :)
quelle
Eine neue Antwort, die 2019 aktualisiert wurde:
Der Befehl systemctl ist ein neues Tool zur Steuerung des Systems und des Dienstes systemd. Dies ist der Ersatz für die alte SysV-Init-Systemverwaltung. Die meisten modernen Linux-Betriebssysteme verwenden dieses neue Tool. Wenn Sie mit CentOS 7, Ubuntu 16.04 oder höher oder Debian 9 arbeiten. Sie haben sich jetzt für systemd entschieden.
Der aktivierte Dienst wird beim Systemstart automatisch gestartet. Dies ist die ähnliche Option für systemd wie chkconfig für den SysV-Init.
quelle