Saya telah menginstal Apache 2 dari sumber pada kotak Linux saya. apachectl -k start
berfungsi dengan baik, tetapi bagaimana cara membuat Apache untuk memulai saat boot?
Ini adalah distribusi Red Hat Linux:
Linux <hostname> 2.6.9-55.ELsmp # 1 SMP Jumat 20 Apr 17:03:35 EDT 2007 i686 i686 i386 GNU / Linux
linux
apache-2.2
startup
bersedih hati
sumber
sumber
Jawaban:
Anda ingin menambahkan skrip init ke level run yang sesuai. Skrip init biasanya
/etc/init.d/apache2
digunakan/etc/init.d/apache2 start
untuk menjalankannya secara manual .Di Gentoo Anda akan menulis:
Di Ubuntu / Debian ini berfungsi:
Di Red Hat Linux / Fedora / CentOS sedikit googling menunjukkan ini:
Ini sedikit berbeda dari distribusi ke distribusi, tetapi idenya biasanya sama. Pada dasarnya, semua perintah ini membuat tautan simbolis dari
/etc/init.d/
ke folder run-level yang sesuai di/etc/
.sumber
Inilah yang akhirnya berhasil untuk saya. Ini mengasumsikan Anda adalah pengguna root.
Isi dari /etc/init.d/apache2:
Anda bisa mendapatkan runlevel dengan menjalankan / sbin / runlevel, yang dalam kasus saya adalah 3. Dan tentu saja Anda perlu memanggil versi apachectl Anda, yang dalam kasus saya adalah / usr / local / apache2 / bin / apachectl
Berkat yang berikut ini:
sumber
Periksa apakah Anda memiliki
httpd
skrip init di/etc/rc.d
direktori. Jika ya, maka Anda bisa menjalankan perintah berikut yang memungkinkan layanan httpd untuk memulai saat boot.Jika Anda tidak memiliki skrip init, maka cukup tambahkan
/etc/rc.local
file denganapachectl -k start
(perintah untuk memulai Apache).sumber
Seperti yang telah Anda instal oleh sumber tidak akan ada skrip init yang diinstal di direktori /etc/init.d/. Biner apachectl dirancang agar kompatibel dengan opsi skrip init standar sehingga Anda mungkin dapat dengan mudah menyinkronkannya daripada membuat skrip pembungkus (mis. Ln -s / usr / local / sbin / apachectl /etc/init.d/ apache)
Anda kemudian dapat mengikuti prosedur yang diuraikan dalam posting lain untuk menambahkan tautan untuk menjalankan skrip init di runlevel yang benar.
Kutipan: Dokumentasi Apache http://httpd.apache.org/docs/2.2/invoking.html
sumber
chkconfig --levels 345 httpd
akan memulai httpd di runlevel 3,4,5.
chkconfig --list akan menampilkan semua layanan dan runlevel startup mereka saat ini. 345 adalah tipikal untuk layanan jaringan.
sumber
Di Red Hat Linux ada utilitas berguna yang disebut ntsysv yang memungkinkan Anda memilih layanan mana yang ingin Anda mulai di level run saat ini. Anda memanggil juga menentukan level run mana yang ingin Anda edit ketika Anda mulai menggunakan utilitas
--level
.Gulir ke bawah ke httpd dan tekan Spacesehingga bintang muncul di kotak sebelah kiri. Lalu Tabke OK. Tekan Returnuntuk menyimpan dan kembali ke shell.
Saya telah menemukan bahwa itu menginstal cukup banyak secara default. Saya tidak pernah berada di posisi yang tidak diinstal.
Anda perlu menginstal layanan terlebih dahulu dengan menyalin skrip layanan ke /etc/init.d lalu menjalankan:
sumber
Itu tergantung pada rasa Linux Anda. Dengan asumsi file /etc/init.d/apache2 telah dibuat, coba:
atau
Salah satunya harus bekerja.
sumber