configuração de desenvolvimento do apache Linux

3

Voltei a instalar o sistema novamente e cheguei a um ponto em que preciso do apache e do php.

Estou pesquisando há muito tempo, mas não consigo descobrir como configurar o apache da melhor maneira para um computador de desenvolvedor. O plano é simples, eu quero instalar o servidor apache 2 + mysql para que eu possa desenvolver algum site php.

Eu não quero instalar lâmpada, apenas o apache2, php5 e mysql. O problema para o qual eu tenho procurado é as permissões na pasta / var / www /. Eu tentei fazer minha pasta usando o comando chown, seguido por um chmod -R 755 / var / www. A maioria das coisas funciona, mas fwrite, por exemplo, não funciona, porque eu preciso dar permissões de gravação para todos, a menos que eu mude minha umask global para 000, não tenho certeza do que posso fazer.

Em suma: Eu quero instalar o apache2, php5, mysql-server sem usar a lâmpada, mas configurado de uma forma que eu possa abrir o netbeans, iniciar um projeto com root em / var / www / e executar todas as funções sem falhas de permissão. Alguém tem experiências ou soluções para isso?

Extra:

  • SO: Ubuntu 10.04
  • ARCH: x86_64
por J. Vandenborne 24.04.2010 / 19:03

3 respostas

1

Eu descobri a resposta, então vou postar aqui

Primeiro, faça login como root usando:

sudo su

Adicione um novo grupo, todos os usuários deste grupo podem controlar a pasta / var / www /

groupadd www-pub

Adicione seu próprio nome de usuário a esse grupo como este

usermod -a -G www-pub username

Agora mude os donos da pasta / var / www /, como o dono eu não criaria raízes, mas sim www-data, e mude o grupo para o grupo que acabou de criar: www-pub

chown -R www-data:www-pub /var/www/

Ainda temos que alterar as permissões para que possamos criar um arquivo em / var / www /. Se você não sabe o que "2" significa, isso significa SGID, informações sobre isso podem ser encontradas no link

chmod 2775 /var/www/

Se houver arquivos em / var / www /, atualize as permissões como esta

find /var/www/ -type f -exec chmod 664 {} \;
find /var/www/ -type d -exec chmod 775 {} \;

Por fim, mude sua umask no arquivo / etc / profile para 002, umask deve ser a última linha desse arquivo

informação de www-data:

Apache runs as the user www-data. Using a generic www-data user rather than a specific "apache" one allows all web servers packaged for Debian to share the document root where files are owned by www-data.

    
por 25.04.2010 / 14:00
1

Seu maior problema é que você insiste em lidar com / var / www.

É muito mais fácil habilitar diretórios de usuários (veja UserDir ) e deixar o apache servir coisas do seu diretório pessoal, como acontece na maioria dos serviços de hospedagem.

    
por 25.04.2010 / 17:51
0

Outra solução pode ser ACLs.

Modern linux você pode adicionar ACLs acima e acima, o antigo usuário: group: outro modelo, usando setfacl e getfacl.

Você precisa ter o sistema de arquivos montado com as ACLs estendidas ativadas para usar as ACLs. Isso pode ser feito ao vivo como uma remontagem.

Entre outras coisas, as ACLs permitem que as ACLs padrão sejam definidas nos diretórios. Ou seja você pode definir uma ACL padrão em um diretório e essa ACL será aplicada a todos os objetos criados nesse diretório.

    
por 25.04.2010 / 18:18