web-dev-qa-db-ja.com

ローカル開発のpublic_htmlパーミッション

この質問が数回出てきたことは知っていますが、私の問題に対する明確な答えを見つけることができないようですので、ご容赦ください。 VirtualBoxでPHP開発およびテスト用のUbuntu Server 12.04をセットアップしています(DrupalとPHPフレームワークを使用する他のYiiサイト)。私の質問は3つの部分に分かれています...

1)public_htmlの下に/home/myuserフォルダーを作成する場合、そのフォルダーの所有権をApacheに与える必要がありますかwww-dataグループ?その場合、設定する必要がある特定のアクセス許可はありますか? 755? (ところで、私は このガイド に従ってpublic_htmlディレクトリを作成し、作成およびテストするサイトごとに複数の仮想ホストを設定します)

以前はすべてのサイトを/var/wwwで管理していましたが、FileZillaまたはPhpStormを使用してsFTPでアクセスしようとすると、大規模な許可拒否エラーに遭遇しました。これは私が以前にしたことです:

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)私の質問の2番目の部分は次のとおりです。PhpStormを使用してPHPプロジェクトとファイルをWindowsで作成し、 sFTP経由でアップロードすると、アクセス許可は影響を受けますか?

3)開発したプロジェクトに満足したら、/var/wwwの下でそれらを移動してテストし、どのように公平になるかを確認することをお勧めします生産的な環境で?

ここで助けとアドバイスを本当に感謝します。私は学習しながらさらに学習していますが、Linuxファイルとパーミッションの取り扱いは、私にとってはちょっとした新しいゲームです!ありがとうございました

3
maGz

通常、linodeのこのガイドを使用して、ローカル開発環境を作成します。 http://library.linode.com/hosting-website

私がこれに加えた唯一の個人的な追加は、時々、URLパスとその性質のものをテストしたいので、localhostがwww.example.comであると思うようにコンピューターをだます

Sudo nano /etc/hosts

追加:127.0.0.1 example.com本番稼働時に削除することを忘れないでください!

注:直接コピー

  1. 次のコマンドを入力して、デフォルトのApache仮想ホストを無効にします。::

    Sudo a2dissite default

  2. 次のコマンドを入力して、ホームディレクトリに移動します。::

    cd ~

  3. 次のコマンドを入力して、Webサイトを保持するフォルダーを作成します。::

    mkdir public

  4. public内に一連のフォルダーを作成して、Webサイトのファイル、ログ、およびバックアップを保存します。 example.comをドメイン名に置き換えて、次のコマンドを入力します。::

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

  5. 次のコマンドを入力して、システム上のすべてのユーザーがホームディレクトリを読み取りおよびアクセスできるように設定します。::

    Sudo chmod a+rx ~

  6. 次のコマンドを入力して、publicディレクトリ(およびその中のすべてのファイル)をシステム上のすべてのユーザーが読み取りおよびアクセスできるように設定します。::

    Sudo chmod -R a+rx ~/public

  7. 次のコマンドを入力して、Webサイトの仮想ホストファイルを作成します。 example.comをご使用のドメイン名に置き換えます:::

    Sudo nano /etc/Apache2/sites-available/example.com

  8. 次に、仮想ホストの構成を作成します。基本的な設定をいくつか作成しました。以下に示す設定をコピーして、作成した仮想ホストファイルに貼り付けます。 example_userをユーザー名に、example.comをドメイン名に置き換えます。

.. 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. Control + xを押してからyを押して、変更を仮想ホスト構成ファイルに保存します。

  2. 次のコマンドを入力して、新しいpublicディレクトリへのシンボリックリンクを作成します。 example.comをご使用のドメイン名に置き換えます:::

    Sudo a2ensite example.com
    
  3. Apacheを再起動して、変更を保存します。次のコマンドを入力します。::

    Sudo service Apache2 restart
    
  4. Linodeでホストする他のすべてのWebサイトについて、手順1〜11を繰り返します。

3