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
İ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.
İşte sonunda benim için işe yarayan. Bu, kök kullanıcı olduğunuzu varsayar.
/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:
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).
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.
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>
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.
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ı.