Como configurar o Apache (sites disponíveis vs httpd.conf)

Como configurar o Apache (sites disponíveis vs httpd.conf)

Tenho tentado seguir alguns tutoriais básicos que explicam como colocar o Apache em funcionamento (no Ubuntu, rodando na Amazon). Quase sempre fiquei em branco, porque todos os tutoriais me disseram para configurar o httpd.conf (para adicionar DocumentRoot, etc.).

Agora me deparei com um tutorial que me dizia para adicionar configurações de site ao diretório de sites disponíveis (em /etc/apache) e, em seguida, criar um link simbólico para ele a partir de sites habilitados. Configurar desta forma parece funcionar.

Mas agora estou confuso - como devo configurar o Apache? A maioria dos tutoriais ainda parece dizer que eu deveria usar o httpd.conf. Qual devo usar? Qual é a diferença? Por que todos os tutoriais estão "errados" (se estão)?

Responder1

O sites-availablemétodo é geralmente considerado o "Modo Debian":

  • configuração "principal" em/etc/apache2/apache2.conf
  • configuração de "usuário" em/etc/apache2/httpd.conf
  • vhosts em /etc/apache2/sites-availablearquivos (um por arquivo, normalmente)
    • você pode querer numerá-los, por exemplo, 00-domain.com, 01-otherdomain.com
  • portos ( Listendiretivas) em/etc/apache2/ports.conf
  • mods em/etc/apache2/mods-available

Você pode manipulá-los com links simbólicos ou com uma a2série de comandos:

a2ensite/a2dissite <site_config_filename>
a2enmod/a2dismod <module_name>

Dependendo da preferência pessoal, você pode reiniciar o Apache usando apachectl, /etc/init.d/apache2 (start|stop|reload|restart)ouservice apache2 (start|stop|reload|restart)

Um exemplo onde você usaria httpd.confem vez de uma entrada vhost seria para um redirecionamento global ou regra de reescrita, por exemplo. Outras informações - geralmente, você deve deixar apache2.confcomo está e certificar-se de configurar um esquema de nomenclatura consistente para vhosts no sites-availablediretório.

Responder2

A localização e a organização dos arquivos de configuração são configuráveis ​​e podem mudar entre versões principais ou entre distribuições.

O Apache Wiki tem um práticoguiaaos nomes e locais dos arquivos de configuração.

Como os arquivos de configuração podem conter includediretivas, partes da configuração podem ser separadas em arquivos menores. Como um arquivo de configuração padrão do Apache contém muitos comentários e muitos itens padrão, faz sentido separar as partes que você provavelmente alterará.

O nome do arquivo de configuração principal pode ser alterado durante a compilação e nas versões recentes foi alterado de httpd.confparaapache2.conf

Ao longo dos anos, também houve alguma evolução na organização dos arquivos de configuração incluídos.

Por exemplo, instalei o Apache2 em um sistema baseado em Ubuntu usando apt-get install apache2- aqui estão os arquivos incluídos

/etc/apache2$ ls
apache2.conf  envvars     mods-available  ports.conf       sites-enabled
conf.d        httpd.conf  mods-enabled    sites-available

/etc/apache2$ grep ^Include apache2.conf
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/ 

/etc/apache2$ ls -l sites-enabled
total 0
lrwxrwxrwx 1 root root 26 Dec 26 12:30 000-default -> ../sites-available/default

Portanto, as poucas definições de configuração nas quais você provavelmente estará mais interessado estão agora em /etc/apache2/sites-available/default.

Posso ver que isso é consistente com o Ubuntudocumentação para Apacheque eu recomendo que você leia primeiro. Se você tiver outra documentação para versões mais antigas do Apache (ou outras distribuições), poderá adaptar essas informações para se adequar à forma como as coisas são organizadas no Ubuntu.

Responder3

O Apache no Linux pode ser instalado por dois tipos. um é pelo apt-get e outro baixa o arquivo tar e extrai .... Assim, no processo do apt-get, os sites são servidos na pasta /etc/apache2/sites-enabled, pois cada site que atende ao mundo externo é configurado nestas pasta por Exemplo de arquivos .conf 000-default.conf é um site padrão habilitado para mostrar o trabalho do Apache.

assim, criando qualquer arquivo .conf em sites habilitados e direcionando-o para o local do conteúdo. Assim, o site é veiculado.

Portanto, para adicionar um novo site estático, um novo arquivo .conf deve ser criado na pasta habilitada para sites com qualquer nome, exemplo example.conf . e tem que adicionar as linhas abaixo nele

ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combinado

Onde as , *:80 indica "aberto ao mundo através da porta 80" DocumentRoot /var/www/html indica "caminho do conteúdo do site"

informação relacionada