Não há sites-available/000-default.conf em /etc/apache2

Não há sites-available/000-default.conf em /etc/apache2

Estou tentando configurar hosts virtuais para Apache2. Existem muitos tutoriais, mas todos presumem que o arquivo /etc/apache2/sites-available/000-default.confestá lá. Mas se eu correr:

$ cd /etc/apache2/
$ ls
conf-available
$ cd conf-available
$ ls
javascript-common.conf

Não consigo encontrar ninguém que tenha tido o mesmo problema. Preciso fazer alguma coisa antes de iniciar tutoriais como este?

https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04

Tudo está atualizado. O Ubuntu é 16.04 LTS.

Responder1

Os arquivos contidos /etc/apache2/conf-availablesão arquivos que um administrador pode criar, renomear, remover, preencher com conteúdo adequado, etc. Se você não tiver 000-default.com, basta criar um.

Você deve então ligar

sudo a2ensite 000-default.conf

Ressalvas:

  • os virtualhosts coexistem - pelo que entendi, você já tem alguma configuração fora do padrão. Cuidado com hosts virtuais em conflito entre si. Provavelmente, você precisará de uma nova instalação do Apache2, incluindo sua configuração.

  • quais arquivos são finalmente carregados (incluídos) como configurações dependem de alguns outros arquivos de configuração, como /etc/apache2/apache2.confseu includecomando (que inclui um arquivo especificado). Incluir também pode ser chamado em um arquivo incluído.

Para sua informação, o 000-default.conf para Apache2 (versão 2.4.7) é o seguinte:

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

E é melhor usar os seguintes comandos para ativar/desativar um site em vez de criar um site criando um link simbólico (o que você ainda pode fazer, mas bem... normalmente depende de scripts auxiliares, por exemplo, para evitar erros de digitação)

a2ensite 000-default
a2dissite 000-default

Se algumas configurações não funcionarem, você pode tentar:

sudo service apache2 reload

ou um recarregamento de configuração ainda mais profundo acontece em:

sudo service apache2 restart

Recarregar mantém alguns dados relacionados à conexão na memória e ambos levam uma fração de segundo em uma nova instalação típica.

EDIT: adicionei uma nota sobre quatro comandos úteis: a2ensite, a2dissite, service apache2 restart/reload e na edição subsequente reorganizei a resposta para melhor se adequar à pergunta.

informação relacionada