Como faço para alterar o diretório raiz de um servidor apache?

Alguém sabe como alterar a raiz do documento do servidor Apache? Eu basicamente quero que o localhost venha do diretório /users/spencer/projects vez de /var/www .

Editar

Acabei descobrindo isso. Alguns sugeriram que eu alterasse o arquivo httpd.conf , mas acabei encontrando um arquivo em /etc/apache2/sites-available/default e alterei o diretório raiz de /var/www para /home/myusername/projects_folder e isso funcionou.

Você precisa alterar a configuração do DocumentRoot no seu arquivo httpd.conf . As chances são de que seja sob algo como /etc/apache2/conf/httpd.conf

Use seu editor favorito (eu recomendo o Vim ) e procure o DocumentRoot e mude para /users/spencer/projects . Também olhe um pouco mais abaixo para uma configuração como esta:

  

Você também desejará alterar o que está entre aspas para o novo diretório. Isso permite que o Apache acesse esse diretório quando um usuário faz uma solicitação que o chama.

Agora reinicie seu serviço apache ( httpd -k restart ) e você deve estar pronto.

Editar : Os arquivos de configuração do site do Apache2 agora são normalmente mantidos em /etc/apache2/sites-available/ (Debian, Ubuntu, etc.).

Por favor, note que isto só se aplica ao Ubuntu 14.04 LTS e versões mais recentes.

No meu Ubuntu 14.04 LTS, a raiz do documento foi configurada para /var/www/html . Foi configurado no seguinte arquivo:

 /etc/apache2/sites-available/000-default.conf 

Então faça uma

 sudo nano /etc/apache2/sites-available/000-default.conf 

e mude a seguinte linha para o que você deseja:

 DocumentRoot /var/www/html 

Também faça um

 sudo nano /etc/apache2/apache2.conf 

e encontrar isso

  Options Indexes FollowSymLinks AllowOverride None Require all granted  

e altere /var/www/html para o seu diretório preferido

e salve-o.

Depois de salvar suas alterações, basta reiniciar o servidor web apache2 e você estará pronto 🙂

 sudo service apache2 restart 

Se você preferir um editor de texto gráfico, você pode simplesmente replace o sudo nano por um gksu gedit .

Eu tive que editar o /etc/apache2/sites-available/default . As linhas são as mesmas mencionadas pelo RDL.

Isto é para o Ubunutu 14.04:

No arquivo /etc/apache2/apache2.conf , deve ser como abaixo sem o nome do diretório:

  Options Indexes FollowSymLinks AllowOverride All Require all granted  

e no arquivo /etc/apache2/sites-available/000-default.conf você deve include o nome do diretório personalizado, isto é, www:

 DocumentRoot /home/username/www 

Se não como acima, você receberá um erro ao carregar o servidor: Forbidden You don't have permission to access / on this server

O caminho certo para alterar o diretório ou executar a partir de vários diretórios em diferentes portas para o apache2 é o seguinte:

Para o apache2, os arquivos de configuração estão localizados em /etc/apache2 e não usam um único arquivo de configuração como nas versões mais antigas, mas são divididos em arquivos de configuração menores, com /etc/apache2/apache2.conf sendo o arquivo de configuração principal. Para servir arquivos de um diretório diferente, precisamos de um novo arquivo conf virtualhost. Os arquivos conf virtualhost estão localizados em /etc/apache2/sites-available (não edite arquivos em sites habilitados). A instalação padrão do apache usa o arquivo conf virtual 000-default.conf .

Comece criando um novo arquivo virtualhost copiando o arquivo virtualhost padrão usado pela instalação padrão do apache (aquele que é executado no localhost na porta 80). Mude para o diretório /etc/apache2/sites-available e faça a cópia por sudo cp 000-default.conf example.com.conf , agora edite o arquivo pelo sudo gedit example.com.conf para:

  ServerAdmin example@localhost DocumentRoot /home/ubuntu/example.com  

Eu apaguei as linhas não importantes do arquivo acima por brevidade.

Crie o diretório do qual você deseja servir os arquivos, por exemplo; mkdir example.com e proprietário da mudança e grupo padrão do diretório, por exemplo, se o seu nome de usuário logado for ubuntu alterar permissions como sudo chown ubuntu:www-data example.com . Isso concede access total ao usuário ubuntu e permite a leitura e execução do access ao grupo www-data .

Agora edite o arquivo conf do apache /etc/apache2/apache2.conf emitindo o comando sudo gedit apache2.conf e encontre a linha e abaixo da tag de fechamento , adicione o seguinte abaixo:

  Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted  

Agora existem dois comandos para habilitar ou desabilitar os arquivos de configuração do virtualhost, que são a2ensite e a2dissite respectivamente. Agora, como o nosso arquivo example.com.conf usa a mesma porta ( 80 ) usada pelo arquivo de configuração padrão ( 000-default.conf ), temos que desabilitar o arquivo de configuração padrão, emitindo o comando sudo a2dissite 000-default.conf e habilite nosso arquivo conf virtualhost por sudo a2ensite example.com.conf

Agora reinicie ou recarregue o servidor com o comando sudo service apache2 restart . Agora o apache exibe arquivos do diretório example.com no localhost na porta padrão de 80 .

O comando a2ensite basicamente cria um link simbólico para o arquivo conf sob o diretório habilitado para o site

Não edite arquivos em diretórios habilitados para sites (ou * habilitados), como apontado nesta resposta https://stackoverflow.com/a/41568701/2532763

Para alterar a porta e executar a partir de vários diretórios em portas diferentes:

Agora, se você precisar executar o diretório em uma porta diferente, altere o número da porta de 80 para 8080 editando o arquivo virtualhost como:

  ServerAdmin user@localhost DocumentRoot /home/ubuntu/work  

e editando /etc/apache2/ports.conf e adicionando Listen 8080 logo abaixo da linha Listen 80

Agora podemos habilitar o arquivo conf virtualhost padrão que é executado na porta 80, pois o diretório example.com usa a porta 8080, como sudo a2ensite 000-default.conf

Agora reinicie ou recarregue o servidor com o comando sudo service apache2 restart . Agora ambos os diretórios podem ser acessados ​​de localhost e localhost:8080

Eu estava trabalhando com LAMP e para alterar a pasta Document Root eu editei o arquivo padrão que está lá na pasta / etc / apache2 / sites-available . Se você quiser fazer o mesmo, edite da seguinte maneira

 DocumentRoot /home/username/new_root_folder  Options FollowSymLinks AllowOverride None   Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all  

Depois disso, se você digitar localhost no navegador, ele carregará o conteúdo * / home / username / new_root_folder * .

Para o apache2 no Linux Mint 17.3 Cinnamon 64-bit os seguintes trabalhos:

  1. Em /etc/apache2/sites-available/ abra o arquivo 000-default.conf e altere a Raiz do Documento para o caminho absoluto do seu diretório.

    sudo vim /etc/apache2/sites-available/000-default.conf

  2. Em /etc/apache2/ abra o httpd.conf e adicione uma tag referenciando seu diretório e contendo exatamente as mesmas configurações que a tag var/www .

    sudo vim /etc/apache2/apache2.conf

    Na minha máquina, ficou assim:


  Options Indexes FollowSymLinks AllowOverride All Require all granted  

Nota: Na primeira etapa, você provavelmente desejará alterar a Raiz do Documento no arquivo default-ssl.conf para fins de SSL. Mas, tanto quanto eu posso dizer isso não é necessário para obter um ambiente de desenvolvimento geral em execução.

Se você não conseguiu encontrar o http.conf e seguiu o caminho do Nick.

Reinicie o Apache usando o sudo service apache2 restart

Caso você esteja usando o Ubuntu 16.04. Por favor, atualize o 000-default.conf no diretório / etc / apache2 / sites-available.

aqui -> ServerAdmin webmaster @ localhost DocumentRoot / var / www / html / YourFolder

Se alguém instalou o LAMP na pasta /opt então o /etc/apache2 não é o que você está procurando.

Procure o arquivo httpd.conf em /opt/lampp/etc/httpd.conf .

Altere a linha nesta pasta e salve-a do terminal.

Na versão 2.4.18 do apache (Ubuntu).

1. Vá para este arquivo /etc/apache2/apache2.conf procure por e substitua pelo seu diretório ……

2. Vá para /etc/apache2/sites-available/000-default.conf procure por DocumentRoot /var/www/html e substitua pelo seu DocumentRoot ….

No RedHat 7.0: /etc/httpd/conf/httpd.conf

Eu fiz o /var/www para ser um link para o diretório requerido (por exemplo, /users/username/projects ) e as coisas ficaram bem depois disso.

No entanto, naturalmente, o /var/www precisa ser excluído – ou renomeado.

Se você estiver usando o Linux Mint (opinião pessoal, de todas as distros esta está me fazendo feliz), siga isto:

1- Vá para / etc / apache2 / sites-available e edite 000-default.conf 2- Busca por DocumentRoot, exemplo DocumentRoot / var / www / html você muda para seu respectivo diretório; 3- Abra o terminal e digite: sudo service apache2 restart

EDITADO —– Eu percebo que no Mint você usa o /etc/apache2/apache.conf, substitui / var / www no seu respectivo caminho, do que o servidor de reboot (passo 3).

É isso aí.

Em vez de alterar o diretório padrão do seu servidor da Web, você pode criar um Alias .

Portanto, você precisa criar dois arquivos:

  • um em /etc/apache2/sites-available/ e
  • um em /etc/apache2/sites-enabled/

Chame ambos algo como example.conf e insira em ambos os arquivos Alias ""

Então você deve poder acessá-lo com //localhost/example .

EDITAR:

Talvez eu tenha esquecido de mencionar alguns comandos porque eu os esqueço: P
ou você tem que editar as autorizações da pasta / arquivo que você tenta acessar.

Se você é (como eu) encontrando esta postagem via Google:

Eu encontrei em /etc/apache2/sites-available/000-default.conf