この質問が数回出てきたことは知っていますが、私の問題に対する明確な答えを見つけることができないようですので、ご容赦ください。 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ファイルとパーミッションの取り扱いは、私にとってはちょっとした新しいゲームです!ありがとうございました
通常、linodeのこのガイドを使用して、ローカル開発環境を作成します。 http://library.linode.com/hosting-website
私がこれに加えた唯一の個人的な追加は、時々、URLパスとその性質のものをテストしたいので、localhostがwww.example.comであると思うようにコンピューターをだます
Sudo nano /etc/hosts
追加:127.0.0.1 example.com
本番稼働時に削除することを忘れないでください!
注:直接コピー
次のコマンドを入力して、デフォルトのApache仮想ホストを無効にします。::
Sudo a2dissite default
次のコマンドを入力して、ホームディレクトリに移動します。::
cd ~
次のコマンドを入力して、Webサイトを保持するフォルダーを作成します。::
mkdir public
public
内に一連のフォルダーを作成して、Webサイトのファイル、ログ、およびバックアップを保存します。 example.com
をドメイン名に置き換えて、次のコマンドを入力します。::
mkdir -p public/example.com/{public,log,backup}
次のコマンドを入力して、システム上のすべてのユーザーがホームディレクトリを読み取りおよびアクセスできるように設定します。::
Sudo chmod a+rx ~
次のコマンドを入力して、public
ディレクトリ(およびその中のすべてのファイル)をシステム上のすべてのユーザーが読み取りおよびアクセスできるように設定します。::
Sudo chmod -R a+rx ~/public
次のコマンドを入力して、Webサイトの仮想ホストファイルを作成します。 example.com
をご使用のドメイン名に置き換えます:::
Sudo nano /etc/Apache2/sites-available/example.com
次に、仮想ホストの構成を作成します。基本的な設定をいくつか作成しました。以下に示す設定をコピーして、作成した仮想ホストファイルに貼り付けます。 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>
Control + x
を押してからy
を押して、変更を仮想ホスト構成ファイルに保存します。
次のコマンドを入力して、新しいpublic
ディレクトリへのシンボリックリンクを作成します。 example.com
をご使用のドメイン名に置き換えます:::
Sudo a2ensite example.com
Apacheを再起動して、変更を保存します。次のコマンドを入力します。::
Sudo service Apache2 restart
Linodeでホストする他のすべてのWebサイトについて、手順1〜11を繰り返します。