Apache 2'de ServerName yönergesini genel olarak nerede belirlersiniz?


37

NOT: Bu sorumla ilgili: " Apache 2.4 yeniden yüklenmiyor, yapılandırmamla ilgili herhangi bir sorun var mı? ".

Yerel bir siteyi yerel olarak test etmeye çalışıyorum. Anladığım kadarıyla Apache 2'de (ve belki de Apache'de) bir şey var VirtualHost. Anlayışım bana sanal barınmanın tek bir sunucu / IP adresinin birden fazla alana hizmet edebileceği bir yol olduğunu söylüyor.

Her neyse, configtestnerede başarısız olduğumu görmek için Apache 2'yi çalıştırırken aşağıdaki hatayı alıyorum . Apache 2.4.10-1 kullanıyorum ve Apache 2.2 ile Apache 2.4 arasında farkında olmadığım birçok değişiklik olduğu görülüyor.

$ sudo apache2ctl configtest
[sudo] password for shirish:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Bu /etc/hostsdosya:

 $ cat /etc/hosts
127.0.0.1    localhost
127.0.1.1    debian mini

Ayrıca boş bir /etc/hosts.confdosya görüyorum . Belki de sunucunun farkında /etc/hostsolması /etc/hosts.confiçin içindeki verilerin kopyalanması gerekir.

Ana bilgisayar adım:

$ hostname
debian

Bu sitenin yapılandırma dosyasıdır:

$ cat /etc/apache2/sites-available/minidebconfindia.conf
<VirtualHost mini:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html/in2014.mini/website

    <Directory />
        Options +FollowSymLinks +Includes
        Require all granted
    </Directory>

    <Directory /var/www/html/in2014.mini/website/>
        Options +Indexes +FollowSymLinks +MultiViews +Includes
        Require all granted
    </Directory>
</VirtualHost>

Ayrıca adreslere ve bağlantı noktalarına bağlanma hakkında da bilgi okudum , ancak birçok nedenden dolayı bunu iyi anlamadım. Bu satırların hangi dosyaya konması gerektiğine ve neyin önce ve sonra geleceğine dair bir örnek vermez / paylaşmaz. Bir örnek daha iyi olurdu.

Bunu yaptım ve sunucuyu yeniden başlattım, ancak yine de aynı hatayı alıyorum.

~$ sudo apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Debian'da bilmem ve anlamam gereken üç yapılandırma dosyası var.

/etc/apache2$ ls *.conf
apache2.conf  ports.conf

ve

/etc/apache2/conf.d$ ls *.conf
httpd.conf

Görünüşe göre, apache2.conf genel yapılandırma dosyası IS, httpd.conf kullanıcı yapılandırma dosyası. Ayrıca ports.conf da vardır. Ben gelen Apache loglevel değişti hariç Hem apache2.conf ve ports.conf varsayılan altındadır warniçin debug.

Başka bir şey denedim:

$ sudo apache2ctl -S
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
127.0.1.1:80           debian (/etc/apache2/sites-enabled/minidebconfindia.conf:1)
*:80                   127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

Belki birisinin daha fazla iç görüsü vardır.

Yanıtlar:


43

Düzenlenecek dosya:

/etc/apache2/apache2.conf

Dosyayı düzenleme komutu:

sudo nano /etc/apache2/apache2.conf

Genel bir sunucu adı için, dosyanın üstüne (sanal ana bilgisayar etiketlerinin dışında) koyabilirsiniz.

İlk satır şöyle görünür:

ServerName myserver.mydomain.com

Ardından aşağıdaki komutu kullanarak konfigürasyonu kaydedin ve test edin:

apachectl configtest

Almalısın:

Sözdizimi Tamam

Ardından sunucuyu yeniden başlatıp hata mesajı alıp almadığınızı kontrol edebilirsiniz:

sudo service apache2 restart

2
Bu Debian'ın doğru cevabı. Denedim /etc/apache2/conf-available/fqdn.confya servername.confda httpd.confboşuna. Debian Jessie, veapache 2.4.10
Dr Beco,

2
Eğer varsa conf-available/ve conf-enabled/, bir dosya oluşturmak conf-available/ve komutu kullanın a2enconfetkinleştirmek için. Bu şekilde, dpkg / eğer izlenmeyen değişiklikler hakkında sizi rahatsız olmaz apache2-commonpaket güncellemeleriapache2.conf
Kevin

Bundan conf-availablesonra bir düzenleme ve düzenleme /etc/apache2/conf-available/servername.confiçeriği olabilir ServerName myserver.mydomain.com(Raspberry Pi, Apache 2.4.10, Debian 8 (Jessie), Linux çekirdeği 4.4.34'te denenmiştir).
Peter Mortensen,

@PeterMortensen, paylaşılan örneği kullanabilir misiniz, böylece ne demek istediğinizi anlayabilirim.
Ocak'ta

Dosya mevcut değil
Black 12

5

ServerName yönergesini ayarlamanız gerekir :

ServerName localhost

Debian'da onu ayarlayabilirsiniz /etc/apache2/conf.d/httpd.conf.

MacOS'ta, onu ayarlayabilirsiniz /private/etc/apache2/httpd.conf.


5
Ubuntu'da,
/etc/apache2/apache2.conf

1
Debian ya: apache2.conf.
Dr Beco,

1
Bu Apache / Debian'ın hangi versiyonları için çalışıyor? Apache 2.4 için işe yaradığını sanmıyorum. Bunun /etc/apache2/apache2.confyerine olabilir .
Peter Mortensen,

çalışıyor, Debian 8'deki Apache 2.4
erajuan

2

Apache yapılandırma dosyanızı bulmak için aşağıdaki komutu çalıştırmayı deneyin:

apachectl -t -D DUMP_INCLUDES

Ardından bu dosyayı düzenleyin ve satırını bulun ServerNameve uncomment ile işaretleyin , böylece şöyle görünür:

ServerName localhost

0

Apache24 config dosyasında şu satırı göreceksiniz ServerName:80:

  1. Boş bırak.
  2. Ardından boş satırdaki satırın altına yazın:
    ServerName www.name (of your official domain or website.com:80)
  3. Config dosyasını kaydedin.
  4. Git cmd, dirapache24’ün olduğu yere yönetici değişikliği yap .
  5. Sonra cd apache24sonra cd binsonra httpd.exe

Sorunun çözüldüğünü göreceksiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.