public_html permissões para desenvolvimento local

3

Eu sei que essa pergunta apareceu algumas vezes, mas não consigo encontrar uma resposta definitiva para o meu problema, então, por favor, tenha paciência comigo. Eu tenho a configuração do Ubuntu Server 12.04 no VirtualBox para desenvolvimento e teste de PHP (Drupal e outros sites PHP usando o framework Yii). Minha pergunta é em 3 partes ...

1) Se eu criar uma pasta public_html em /home/myuser , preciso atribuir a propriedade dessa pasta ao grupo Apache www-data ? Em caso afirmativo, existem permissões específicas que eu deveria definir? %código%? (Btw, eu estou seguindo este guia para criar o diretório public_html e configurar vários hosts virtuais por site que eu crio e testo)

Anteriormente, eu tinha todos os meus sites em 755 , mas encontrei erros enormes de permissão negada sempre que eu tentava usar o sFTP, seja pelo FileZilla ou pelo PhpStorm. Isso é o que eu fiz anteriormente:

sudo chgrp www-data /var/www
sudo chmod -R 775 /var/www
sudo chmod -R g+s /var/www
sudo usermod -G www-data [my_ftp_user]

2) A segunda parte da minha pergunta é a seguinte: Se eu criar meu projeto PHP e arquivos no Windows através do PhpStorm, e depois fazer o upload via sFTP, as permissões serão afetadas?

3) Quando estiver satisfeito com meu projeto desenvolvido, seria aconselhável movê-lo e testá-lo em /var/www para ver como seria justo em um ambiente de produção?

Eu realmente aprecio a ajuda e o conselho aqui. Eu estou aprendendo mais, mas lidar com arquivos e permissões do Linux é um novo jogo de bola para mim! Obrigado

    
por maGz 10.12.2012 / 23:44

1 resposta

3

Eu costumo usar este guia do linode para criar um ambiente de desenvolvimento local: link

A única adição pessoal que faço a isso é que, às vezes, eu quero testar caminhos de URL e coisas dessa natureza, então levo meu computador a pensar que localhost é www.example.com

sudo nano /etc/hosts

Adicione: 127.0.0.1 example.com Não se esqueça de removê-lo quando for ao vivo!

Nota: DIRETAMENTE COPIADA

  1. Desabilite o host virtual padrão do Apache digitando o seguinte comando: ::

    sudo a2dissite default

  2. Navegue até o seu diretório pessoal, digitando o seguinte comando: ::

    cd ~

  3. Crie uma pasta para armazenar seu site, digitando o seguinte comando: ::

    mkdir public

  4. Crie um conjunto de pastas dentro de public para armazenar os arquivos, logs e backups do seu site. Digite o seguinte comando, substituindo example.com pelo seu nome de domínio: ::

    mkdir -p public/example.com/{public,log,backup}

  5. Defina o seu diretório home para ser legível e acessível a todos os usuários no sistema, digitando o seguinte comando: ::

    sudo chmod a+rx ~

  6. Defina o diretório public (e todos os arquivos contidos nele) para ser legível e acessível a todos os usuários no sistema, digitando o seguinte comando: ::

    sudo chmod -R a+rx ~/public

  7. Crie o arquivo host virtual para o seu site, digitando o seguinte comando. Substitua example.com pelo seu nome de domínio: ::

    sudo nano /etc/apache2/sites-available/example.com

  8. Agora é hora de criar uma configuração para seu host virtual. Criamos algumas configurações básicas para você começar. Copie e cole as configurações mostradas abaixo no arquivo do host virtual que você acabou de criar. Substitua example_user pelo seu nome de usuário e example.com pelo seu nome de domínio.

.. colorize :: apache

# domain: example.com
# public: /home/example_user/public/example.com/

<VirtualHost *:80>
  # Admin email, Server Name (domain name), and any aliases
  ServerAdmin [email protected]
  ServerName  www.example.com
  ServerAlias example.com

  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.html index.php
  DocumentRoot /home/example_user/public/example.com/public

  # Log file locations
  LogLevel warn
  ErrorLog  /home/example_user/public/example.com/log/error.log
  CustomLog /home/example_user/public/example.com/log/access.log combined
</VirtualHost>
  1. Salve as alterações no arquivo de configuração do host virtual pressionando Control + x e, em seguida, pressionando y .

  2. Crie um link simbólico para o novo diretório public digitando o seguinte comando. Substitua example.com pelo seu nome de domínio: ::

    sudo a2ensite example.com
    
  3. Reinicie o Apache para salvar as alterações. Digite o seguinte comando: ::

    sudo service apache2 restart
    
  4. Repita as etapas de 1 a 11 para todos os outros sites que você deseja hospedar em seu Linode.

por Brandon Bertelsen 11.12.2012 / 01:00