Alguém sabe como alterar a raiz do documento do servidor Apache? Eu basicamente quero que localhost
venha do diretório /users/spencer/projects
em vez de /var/www
.
Acabei descobrindo isso. Alguns sugeriram que eu mudasse o arquivo httpd.conf
, mas acabei encontrando um arquivo em /etc/Apache2/sites-available/default
e mudei o diretório raiz de /var/www
para /home/myusername/projects_folder
e isso funcionou.
Você precisa alterar a configuração DocumentRoot
no seu arquivo httpd.conf
. As chances são de que será sob algo como /etc/Apache2/conf/httpd.conf
Use seu editor favorito (eu recomendo Vim ) e procure pela DocumentRoot
e mude para /users/spencer/projects
. Também olhe um pouco mais abaixo para uma configuração como esta:
<Directory "/var/www">
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.
Edit: Os arquivos de configuração do site do Apache2 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 definida como /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
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
e altere /var/www/html
para o seu diretório preferido
e salve-o.
Depois de salvar suas alterações, basta reiniciar o servidor do Apache2 e você estará pronto :)
Sudo service Apache2 restart
Sudo nano
por gksu gedit
.Eu tive que editar /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:
<Directory /home/username>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
e no arquivo /etc/Apache2/sites-available/000-default.conf
você deve incluir o nome do diretório personalizado, por exemplo, 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 por Sudo gedit example.com.conf
para:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /home/ubuntu/example.com
</VirtualHost>
Eu apaguei as linhas não importantes do arquivo acima por brevidade. Aqui DocumentRoot
é o caminho para o diretório a partir do qual os arquivos do site devem ser exibidos, como index.html
.
Crie o diretório do qual você deseja servir os arquivos, por exemplo; mkdir example.com
e altere o proprietário e o grupo padrão do diretório, por exemplo, se o seu nome de usuário logado for ubuntu
, altere as permissões como Sudo chown ubuntu:www-data example.com
. Isso concede acesso total ao usuário ubuntu
e permite acesso de leitura e execução 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 <Directory /var/www/>
e abaixo da tag de fechamento </Directory>
, adicione o seguinte abaixo:
<Directory /home/ubuntu/example.com>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
Agora existem dois comandos para ativar ou desativar os arquivos de configuração do virtualhost, que são a2ensite
e a2dissite
respectivamente. Agora, como o 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 habilitar 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
em localhost
na porta padrão 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 * -ativados), como apontado nesta resposta https://stackoverflow.com/a/41568701/2532763
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:
<VirtualHost *:8080>
ServerAdmin [email protected]
DocumentRoot /home/ubuntu/work
</VirtualHost>
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
Para Apache2 on Linux Mint 17.3 Cinnamon 64-bit os seguintes trabalhos:
Em /etc/Apache2/sites-available/
, abra o arquivo 000-default.conf
e altere o Document Root para o caminho absoluto do diretório.
Sudo vim /etc/Apache2/sites-available/000-default.conf
Em /etc/Apache2/
, abra httpd.conf
e adicione uma tag <Directory>
fazendo referência ao seu diretório e contendo as mesmas configurações da tag para var/www
.
Sudo vim /etc/Apache2/Apache2.conf
Na minha máquina, ficou assim:
<Directory /home/my_user_name/php/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Nota: Na primeira etapa, você provavelmente desejará alterar Document Root no arquivo default-ssl.conf
também 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.
Eu estava trabalhando com LAMP ePara alterar a pasta Document Rooteu editei default arquivo que está lá em /etc/Apache2/sites-available pasta. Se você quiser fazer o mesmo, edite da seguinte forma
DocumentRoot /home/username/new_root_folder
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/username/new_root_folder>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Depois disso, se você digitar localhost no navegador, ele carregará */home/username/new_root_folder * content.
Se você não conseguiu encontrar http.conf
e seguiu o caminho de Nick.
Reinicie o Apache usando 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
Eu fiz o /var/www
para ser um link para o diretório requerido (por exemplo, /users/username/projects
) e as coisas estavam bem depois disso.
No entanto, naturalmente, o /var/www
original precisa ser excluído - ou renomeado.
No Apache versão 2.4.18 (Ubuntu).
1. Vá para este arquivo /etc/Apache2/Apache2.conf Procure por <Directory /var/www/>
e substitua pelo seu diretório ......
2. Vá para /etc/Apache2/sites-available/000-default.confsearch por DocumentRoot /var/www/html
e substitua pelo seu DocumentRoot ....
Se alguém instalou 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.
Aplica-se a Ubuntu 14.04 e versões posteriores. Certifique-se de fazer o backup dos arquivos a seguir antes de fazer qualquer alteração.
1. Abra /etc/Apache2/Apache2.conf
e procure pela diretiva <Directory /var/www/>
e substitua o caminho por /home/<USERNAME>/public_html
. Você pode usar * em vez de.
2. Abra /etc/Apache2/sites-available/000-default.conf
e substitua a propriedade de valor DocumentRoot
de /var/www/html
para /home/<USERNAME>/public_html
. Também <Directory /var/www/html>
para <Directory /home/<USERNAME>/public_html
.
3. Abra o /etc/mods-available/php7.1.conf
. Encontre e comente o código a seguir
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
Não ative o sinalizador php_admin_flag engine OFF
como o motivo é mencionado no comentário acima do código da diretiva. Também a versão php pode ser 5.0, 7.0 ou qualquer coisa que você tenha instalado.
Crie o diretório public_html
em home/<USERNAME>
.
Reinicie o serviço Apache executando o comando Sudo service Apache2 restart
.
Teste executando o script de amostra no servidor.
No RedHat 7.0: /etc/httpd/conf/httpd.conf
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 o 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 reinicialização (passo 3).
É isso aí.