GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara membuat Apache untuk memulai saat boot di Linux?

Solusi 1:

Anda ingin menambahkan skrip init ke run level yang sesuai. Skrip init biasanya /etc/init.d/apache2 tempat Anda dapat menjalankan /etc/init.d/apache2 start secara manual untuk memulainya.

Di Gentoo Anda akan menulis:

rc-update add apache2 default

Di Ubuntu/Debian ini berfungsi:

sudo update-rc.d apache2 defaults

Di Red Hat Linux/Fedora/CentOS sedikit googling menunjukkan ini:

chkconfig --add httpd

Ini sedikit berbeda dari satu distribusi ke distribusi lainnya, tetapi idenya biasanya sama. Pada dasarnya, semua perintah ini membuat tautan simbolik dari /etc/init.d/ ke folder run-level yang sesuai di /etc/ .

Solusi 2:

Inilah yang akhirnya berhasil untuk saya. Ini menganggap Anda adalah pengguna root.

  1. vi /etc/init.d/apache2 (edit seperti yang ditunjukkan di bawah)
  2. chmod 755 /etc/init.d/apache2
  3. chkconfig --add apache2
  4. chkconfig --list apache2 (untuk memverifikasi bahwa itu berfungsi)

Isi dari /etc/init.d/apache2:

#!/bin/bash
#
# apache2        Startup script for the Apache HTTP Server
#
# chkconfig: 3 85 15
# description: Apache is a World Wide Web server.  It is used to serve \
#              HTML files and CGI.

/usr/local/apache2/bin/apachectl [email protected]

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

Terima kasih kepada yang berikut:

  • Jawaban dari Evan Teran +1 untuk bantuannya
  • Jawaban dari Russell Heilling +1 untuk bantuannya
  • man chkconfig
  • Tautan ini dari sysdigg yang berisi informasi tentang runlevel.

Solusi 3:

Periksa apakah Anda memiliki httpd skrip init di /etc/rc.d direktori. Jika ya, maka Anda dapat menjalankan perintah berikut yang mengaktifkan httpd layanan untuk memulai saat boot.

chkconfig --level 345 httpd on

Jika Anda tidak memiliki skrip init, cukup tambahkan /etc/rc.local file dengan apachectl -k start (perintah untuk memulai Apache).

Solusi 4:

Karena Anda telah menginstal berdasarkan 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 menghubungkannya daripada membuat skrip pembungkus (mis. ln -s /usr/local/sbin/apachectl /etc/init.d/ apache)

Anda kemudian dapat mengikuti prosedur yang diuraikan dalam postingan lain untuk menambahkan tautan guna menjalankan skrip init pada runlevel yang benar.

Kutipan:Dokumentasi Apache http://httpd.apache.org/docs/2.2/invoking.html

Mulai dari Waktu Boot

Jika Anda ingin server Anda terus berjalan setelah reboot sistem, Anda harus menambahkan panggilan ke apachectl ke file startup sistem Anda (biasanya rc.local atau file di direktori rc.N). Ini akan memulai Apache sebagai root. Sebelum melakukan ini, pastikan server Anda dikonfigurasi dengan benar untuk keamanan dan pembatasan akses.

Skrip apachectl dirancang untuk bertindak seperti skrip init SysV standar; itu dapat mengambil argumen start, restart, dan stop dan menerjemahkannya menjadi sinyal yang sesuai untuk httpd. Jadi, Anda sering dapat menautkan apachectl ke direktori init yang sesuai. Namun pastikan untuk memeriksa persyaratan yang tepat dari sistem Anda.


Linux
  1. Cara Instal Apache Cassandra di Oracle Linux 8

  2. Cara Menginstal Apache Maven di Oracle Linux 8

  3. Bagaimana cara mendapatkan netmask dari bash?

  1. Cara Membuat Script Perintah Linux

  2. Cara Setup Script Startup &Shutdown di Gentoo Linux

  3. Cara Membuat Script Startup menggunakan Crontab di Lubuntu Linux

  1. Cara Instal Apache Kafka di Rocky Linux 8

  2. Cara mendapatkan ukuran direktori di Linux

  3. Cara menjalankan skrip shell saat startup