it-swarm.asia

Linux'ta önyükleme zamanında Apache'yi nasıl başlatabilirim?

Linux kutuma Apache 2'yi kaynaktan yükledim. apachectl -k start gayet iyi çalışıyor, ama Apache'nin önyükleme zamanında başlamasını nasıl sağlayabilirim?

Bu bir Red Hat Linux dağıtımında:

Linux <hostname> 2.6.9-55.ELsmp # 1 SMP Cum 20 Nis 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux

32
grieve

İnit betiğini uygun çalışma düzeyine eklemek istiyorsunuz. İnit betiği genellikle /etc/init.d/Apache2 'Dur ve burada /etc/init.d/Apache2 start İle başlatabilirsiniz.

Gentoo'da şunları yazabilirsiniz:

rc-update add Apache2 default

Ubuntu/Debian'da bu işe yarar:

Sudo update-rc.d Apache2 defaults

Red Hat Linux/Fedora/CentOS'da biraz googling bunu gösterir:

chkconfig --add httpd

Dağıtımdan dağıtıma biraz değişir, ancak fikir genellikle aynıdır. Temel olarak, tüm bu komutlar /etc/init.d/ 'Dan /etc/ İçindeki uygun çalışma düzeyi klasörüne sembolik bir bağ kurar.

46
Evan Teran

İşte sonunda benim için işe yarayan. Bu, kök kullanıcı olduğunuzu varsayar.

  1. vi /etc/init.d/Apache2 (aşağıda gösterildiği gibi düzenleyin)
  2. chmod 755 /etc/init.d/Apache2
  3. chkconfig - Apache2 ekle
  4. chkconfig --list Apache2 (çalıştığını doğrulamak için)

/etc/init.d/Apache2: içeriği

 #!/bin/bash 
 # 
 # Apache2 Apache HTTP Sunucusu için başlangıç ​​komut dosyası 
 # 
 # chkconfig: 3 85 15 
 # description: Apache bir World Wide Web sunucusudur.\
 # HTML dosyaları ve CGI sunmak için kullanılır. 
 
/Usr/local/Apache2/bin/apachectl $ @ 

Benim durumumda 3 olan/sbin/runlevel'i çalıştırarak çalışma seviyesini alabilirsiniz. Ve tabii ki benim durumumda/usr/local/Apache2/bin/apachectl olan apachectl sürümünüzü çağırmanız gerekir.

Aşağıdakiler sayesinde:

26
grieve

httpd init betiğinin /etc/rc.d dizini. Evetse, httpd hizmetinin önyükleme zamanında başlamasını sağlayan aşağıdaki komutu çalıştırabilirsiniz.

chkconfig --level 345 httpd on

İnit komut dosyanız yoksa, /etc/rc.local içeren dosya apachectl -k start (Apache'yi başlatma komutu).

8
Viky

Kaynak olarak yüklediğiniz için, /etc/init.d/ dizininde yüklü bir init betiği olmayacaktır. Apachectl ikili dosyası, standart init komut dosyası seçenekleriyle uyumlu olacak şekilde tasarlanmıştır; Apache)

Daha sonra, init betiğini doğru çalışma düzeylerinde çağırmak için bağlantılar eklemek için diğer gönderilerde özetlenen yordamları izleyebilirsiniz.

Alıntı: Apache Belgeleri http://httpd.Apache.org/docs/2.2/invoking.html

Başlatma Zamanından Başlamak

Sunucunuzun sistem yeniden başlatıldıktan sonra çalışmaya devam etmesini istiyorsanız, sistem başlangıç ​​dosyalarınıza (genellikle rc.local veya rc.N dizinindeki bir dosya) apachectl çağrısını eklemeniz gerekir. Bu Apache'yi root olarak başlatacaktır. Bunu yapmadan önce sunucunuzun güvenlik ve erişim kısıtlamaları için uygun şekilde yapılandırıldığından emin olun.

Apachectl betiği, standart bir SysV init betiği gibi çalışacak şekilde tasarlanmıştır; argümanları başlatabilir, yeniden başlatabilir ve durdurabilir ve httpd'ye uygun sinyallere çevirebilir. Böylece genellikle apachectl'i uygun init dizinine bağlayabilirsiniz. Ancak sisteminizin tam gereksinimlerini kontrol ettiğinizden emin olun.

4

Red Hat Linux'ta, mevcut çalışma seviyenizde hangi hizmetleri başlatmak istediğinizi seçmenizi sağlayan ntsysv adlı kullanışlı bir yardımcı program vardır. Ayrıca, yardımcı programı başlattığınızda hangi çalışma seviyesini düzenlemek istediğinizi --level.

Httpd'ye ilerleyin ve tuşuna basın. Space böylece sol kutuda bir yıldız görünür. Sonra Tab Tamam. Basın Return kaydetmek ve Shell'e geri dönmek için.

Varsayılan olarak hemen hemen yüklendiğini gördüm. Hiç kurulmadığı bir pozisyonda bulunmadım.

İlk önce hizmet betiğini /etc/init.d dosyasına kopyalayıp sonra çalıştırarak hizmeti yüklemeniz gerekir:

chkconfig --add <script name>
1
Garry Harthill

chkconfig - seviye 345 httpd

3,4,5 çalışma seviyelerinde httpd başlatacak.

chkconfig --list, tüm hizmetleri ve mevcut başlangıç ​​çalışma düzeylerini gösterir. 345, bir şebeke servisi için tipiktir.

1
elint

Linux lezzetinize bağlıdır. /Etc/init.d/Apache2 dosyasının oluşturulduğunu varsayarak şunu deneyin:

chkconfig -a Apache2

veya

update-rc.d Apache2 defaults

Bunlardan biri çalışmalı.

1
Neobyte