A pasta /var/www/
é tocada pelo sistema e não apenas pelos usuários / administradores, portanto, você não deve mexer com essas configurações no diretório /var/www
, a menos que saiba o que está fazendo. Normalmente, com a forma como eu executo as coisas, eu faço diretórios específicos do site /var/www/
e, em seguida, me dou permissões lá, o que resolve a questão do sistema sobrescrevendo dados do site acidentalmente (geralmente não mexer com subpastas lá de sua própria criação).
Portanto, você pode preferir configurar uma pasta dentro de /var/www/
e modificar as configurações do DocumentRoot do site Apache para apontar o site para essa subpasta (digamos, /var/www/mysite/
) e depois execute o comando commands para obter acesso de gravação e acesso de leitura ao servidor da web, bloqueando o acesso de outros usuários.
Primeiro, para criar a pasta, substituindo 'mysite' por qualquer nome que você deseje usar:
sudo mkdir /var/www/mysite
Em segundo lugar, permite acesso e o acesso ao servidor da Web. O Apache2 é executado como www-data
por padrão.
sudo chown $USER:www-data /var/www/mysite
Em terceiro lugar, precisamos garantir que todos os arquivos criados na pasta recebam automaticamente www-data
como o proprietário do grupo (para que possa realmente ler arquivos necessários ler); nós definimos o bit "SetGID" para isso. Também podemos impedir que outros usuários (exceto o superusuário e o servidor da Web) acessem a pasta também, caso haja senhas armazenadas nos dados que não devem ser expostos (consulte meu aviso na parte inferior da resposta):
sudo chmod g+s /var/www/mysite
sudo chmod o-rwx /var/www/mysite
Em quarto lugar, você tem que editar o seu site Apache. Você pode estar usando a configuração do site 'padrão', se você é novo para ele. Você precisará executar um conjunto de tarefas:
- Encontre o arquivo de configuração - geralmente em
/etc/apache2/sites-enabled
. - Edite os arquivos de configuração - localize a linha DocumentRoot e modifique-a para dizer:
DocumentRoot /var/www/mysite
(substituindo 'mysite' pelo nome do diretório que você criou. - Reinicie o Apache -
sudo service apache2 restart
.
Depois de fazer tudo isso, você poderá colocar os documentos em /var/www/mysite
diretamente, sem sudo
(para que o FTP / SFTP funcione), e o servidor da Web deve ter as permissões de acesso necessárias para tudo dentro do diretório do site.
(Aviso obrigatório de segurança de TI, porque sou uma pessoa de segurança de TI)
ATENÇÃO!
As permissões do site são muito ruins e, dependendo do que você está usando no site, pode ser quase impossível trabalhar sem muito mais trabalho e esforço. Existem também arquivos em alguns aplicativos da web que NÃO devem ser acessados pelo mundo fora do que você deve dar acesso.
Também é importante observar que os aplicativos da Web são vulneráveis a muitas explorações em potencial, por isso é essencial manter seu site atualizado com atualizações de software para o Apache, mas também atualizações para o software executado no site (WordPress, por exemplo).