NOTA: Isso está relacionado à minha pergunta: "O Apache 2.4 não será recarregado, tem algum problema com a minha configuração? ".
Estou tentando testar um site local, localmente. Pelo que entendi, o Apache 2 (e talvez o Apache também) tem algo chamado VirtualHost
. Meu pouco entendimento me diz que o virtualhosting é uma maneira em que um servidor / endereço IP pode servir vários domínios.
De qualquer forma, estou recebendo o seguinte erro ao executar o Apache 2 configtest
para ver onde estou falhando. Estou executando o Apache 2.4.10-1 e parece que muitas mudanças ocorreram entre o Apache 2.2 e o Apache 2.4, das quais não estou ciente.
$ 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
Este é o /etc/hosts
arquivo:
$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 debian mini
Eu também vejo um /etc/hosts.conf
arquivo vazio . Talvez os dados em /etc/hosts
precisem ser copiados para /etc/hosts.conf
que o servidor obtenha conhecimento?
Meu nome de host:
$ hostname
debian
Este é o arquivo de configuração do site:
$ 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>
Também li sobre a ligação a endereços e portas , mas não entendi muito bem por várias razões. Ele não fornece / compartilha um exemplo de qual arquivo essas linhas precisam ser colocadas e o que virá antes e depois. Um exemplo teria sido muito melhor.
Fiz isso e reiniciei o servidor, mas ainda recebo o mesmo erro.
~$ 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
Parece que existem três arquivos de configuração no Debian que eu preciso conhecer e entender.
/etc/apache2$ ls *.conf
apache2.conf ports.conf
e
/etc/apache2/conf.d$ ls *.conf
httpd.conf
Aparentemente, apache2.conf É o arquivo de configuração global, enquanto o httpd.conf é um arquivo de configuração do usuário. Também existe o ports.conf. O apache2.conf e o ports.conf estão no padrão, exceto que eu alterei o nível de log do Apache de warn
para debug
.
Eu tentei outra coisa:
$ 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
Talvez alguém tenha mais discernimento.
fonte
/etc/apache2/conf-available/fqdn.conf
, ouservername.conf
ouhttpd.conf
sem sucesso. DebianJessie
, eapache 2.4.10
conf-available/
econf-enabled/
, crie um arquivoconf-available/
e use o comandoa2enconf
para habilitá-lo. Desta forma, o dpkg não irá perturbá-lo sobre as mudanças untracked quando / se asapache2-common
atualizações de pacotesapache2.conf
conf-available
após isso e uma edição podem estar/etc/apache2/conf-available/servername.conf
com conteúdoServerName myserver.mydomain.com
(experimentado no Raspberry Pi, Apache 2.4.10, Debian 8 (Jessie), kernel do Linux 4.4.34).Você deve definir a diretiva ServerName :
No Debian, você pode configurá-lo
/etc/apache2/conf.d/httpd.conf
.No macOS, você pode configurá-lo em
/private/etc/apache2/httpd.conf
.fonte
apache2.conf
./etc/apache2/apache2.conf
vez disso.Para localizar o arquivo de configuração do Apache, tente executar o seguinte comando:
Em seguida, edite esse arquivo e localize a linha com
ServerName
e remova o comentário, para que fique assim:fonte
No arquivo de configuração apache24, você verá a linha
ServerName:80
:ServerName www.name (of your official domain or website.com:80)
cmd
, abra-o como administrador, alteredir
para onde apache24 estácd apache24
em seguida,cd bin
em seguida, httpd.exeVocê verá que o problema está resolvido.
fonte