Cara memulai layanan secara otomatis (apache2) dengan Linux Mint

11

(Strangley) Apache2 yang saya instal tidak memulai ketika masuk ke Linux Mint.

Menjalankan perintah ini membuatnya:

sudo service apache2 start

Bagaimana saya harus mencoba memulai layanan ini pada setiap login?

eoinoc
sumber
Anda bisa menempatkan perintah itu ~/.xinitrc, yang akan dijalankan saat startup.
n0pe
2
@ Maxmackie Sebaliknya, ~/.xinitrcdijalankan pada saat login, yang tidak benar. Apache harus dimulai oleh root pada saat boot.
Gilles 'SANGAT berhenti menjadi jahat'
@ Gilles, benar saya lupa tentang itu, terima kasih sudah mengoreksi. Namun, mengapa apache harus dimulai saat boot? Tidakkah login bisa mencapai hal yang sama?
n0pe
@MaxMackie Tidak jika Anda tidak masuk segera setelah boot, tentu saja. Juga Apache tidak berjalan seperti Anda, jadi Anda harus memberinya hak istimewa. Itu harus dimulai pada bagian dari skrip boot, dan biasanya.
Gilles 'SO- stop being evil'
@Gilles benar. Terima kasih telah menjelaskan hal itu.
n0pe

Jawaban:

12

Debian (Ubuntu / Linux Mint)

rcconf (CLI-GUI)

sudo apt-get install rcconf
sudo rcconf

perbarui-rc.d

sudo update-rc.d -f apache2 add

atau

sudo update-rc.d apache2 defaults

RedHat / Fedora / CentOS

chkconfig

sudo chkconfig --add apache2

atau

sudo chkconfig -- level 35 apache2 on
earthmeLon
sumber
Apache sudah diperiksa ketika saya menjalankan rcconf.
eoinoc
Menjalankan update-rc.dperintah menyebabkan kesalahan: update-rc.d: warning: apache2 start runlevel arguments (none) do not match LSB Default-Start values (2 3 4 5).
eoinoc
Sudahkah Anda memberikan pembaruan-rc.d apache2 secara default atau memperbarui-rc.d -f apache2 tambahkan 3 5
earthmeLon
1
Terima kasih, tetapi tidak ada yang berhasil. Pertama menghasilkan peringatan "sudah ada", yang kedua menghasilkan warning: apache2 start runlevel arguments (none) do not batch LSB default-Start values (2 3 4 5).
eoinoc
6

Karena Mint didasarkan pada Ubuntu, dan Ubuntu telah beralih ke Pemula, Cookbook Pemula memiliki semua info untuk memulai layanan saat boot, atau pada runlevel tertentu.

Situs ini Memberikan buku masak terperinci untuk memulai Apache saat boot.

bsd
sumber
Halaman itu berbicara tentang menempatkan skrip bash di /etc/init.d/apache2. Tapi file itu sudah penuh dengan skrip bash yang jauh lebih rumit, yang pasti telah ditempatkan di sana oleh Apache sendiri.
eoinoc
3

Penyebab lain dari masalah yang sama adalah prioritas tautan apache di rc [0-6] .d. Milik saya S90 dan K09, dan Apache tidak akan mulai saat boot. Menetapkan prioritas pada standarnya, 20, bekerja untuk saya. Tautan yang ada harus dihapus terlebih dahulu.

sudo update-rc.d -f apache2 remove
sudo update-rc.d apache2 defaults
htoip
sumber
2

Saat shutdown, saya melihat kesalahan:

Kesalahan sintaks pada baris 230 dari /etc/apach2/apache.conf .... / etc / apache / sites-enabled / mysite: Tidak ada file atau direktori seperti itu

Masalahnya, mysitedikaitkan dengan file di folder rumah saya.

Biasanya itu seharusnya tidak menjadi masalah, pikirku.

Tapi sejauh yang saya tahu, partisi rumah saya dienkripsi . Oleh karena itu, saya menduga bahwa Apache tidak dapat membaca file situs virtual ketika sedang memuat. File tidak dapat diakses sampai saya mengetikkan kata sandi saya.

Situasi yang rumit, dan butuh berbulan-bulan untuk menyelesaikannya :)

eoinoc
sumber
Jadi bagaimana Anda mengatasinya?
Jonas Äppelgran
0

Jawaban baru diperbarui pada 2019:

sudo systemctl mulai httpd

sudo systemctl mengaktifkan httpd

Perintah systemctl adalah alat baru untuk mengontrol sistem dan layanan systemd. Ini adalah penggantian manajemen sistem init SysV lama. Sebagian besar sistem operasi Linux modern menggunakan alat baru ini. Jika Anda bekerja dengan CentOS 7, Ubuntu 16.04 atau lebih baru atau sistem Debian 9. Mereka telah memilih systemd sekarang.

Layanan yang diaktifkan autostarts pada boot sistem. Ini adalah opsi yang mirip untuk systemd daripada chkconfig untuk init SysV.

rauldeng
sumber
1
Anda mungkin mempertimbangkan membalik urutan, sehingga diaktifkan sebelum Anda memintanya untuk memulai.
Jeff Schaller