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-available
mé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-available
arquivos (um por arquivo, normalmente)- você pode querer numerá-los, por exemplo, 00-domain.com, 01-otherdomain.com
- portos (
Listen
diretivas) em/etc/apache2/ports.conf
- mods em
/etc/apache2/mods-available
Você pode manipulá-los com links simbólicos ou com uma a2
sé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.conf
em vez de uma entrada vhost seria para um redirecionamento global ou regra de reescrita, por exemplo. Outras informações - geralmente, você deve deixar apache2.conf
como está e certificar-se de configurar um esquema de nomenclatura consistente para vhosts no sites-available
diretó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 include
diretivas, 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.conf
paraapache2.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"