it-swarm-ja.com

/ var / wwwおよびwordpressの正しいアクセス許可

LAMPサーバーをセットアップし、SSH経由で、ネットワーク内(IPアドレス経由)およびdyndnsを使用して外部からWebブラウザーから「機能する」ページにアクセスします。

/ var/www/wordpress1/var/www/wordpress2などのサブディレクトリにあるいくつかのWordpressプロジェクトがあります。WPをセットアップするためにブラウザからこれらのサブディレクトリにアクセスできません。ブラウザでコンテンツを表示することを想定しています。ブラウザで403 Forbiddenエラーが表示されます。

これは権限の問題だと思います。許可の適切な設定を教えてください:

  1. 開発者と私に読み取り/書き込みを許可します。
  2. WPのセットアップを許可し、その処理を実行するには
  3. 訪問者がWeb経由でサイトにアクセスできるようにします。

また、サブフォルダーは実際には別の内部hdd上のフォルダーへのsimlinksであることに言及する必要があります。

total 12
drwxr-xr-x  2 root root 4096 2012-07-12 10:55 .
drwxr-xr-x 13 root root 4096 2012-07-11 20:02 ..
lrwxrwxrwx  1 root root   43 2012-07-11 20:45 admin_media ->     /root/Django_src/Django/contrib/admin/media
-rw-r--r--  1 root root  177 2012-07-11 17:50 index.html
lrwxrwxrwx  1 root root   14 2012-07-11 20:42 media -> /hdd/web/media
lrwxrwxrwx  1 root root   18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress

chown -R www-data:www-data /var/wwwを使用した結果は次のとおりです

total 12
drwxr-xr-x  2 www-data www-data 4096 2012-07-12 10:55 .
drwxr-xr-x 13 root     root     4096 2012-07-11 20:02 ..
lrwxrwxrwx  1 www-data www-data   43 2012-07-11 20:45 admin_media -> /root/Django_src/Django/contrib/admin/media
-rw-r--r--  1 www-data www-data  177 2012-07-11 17:50 index.html
lrwxrwxrwx  1 www-data www-data   14 2012-07-11 20:42 media -> /hdd/web/media
lrwxrwxrwx  1 www-data www-data   18 2012-07-12 10:55 wordpress -> /hdd/web/wordpress

ブラウザ経由でアクセスできません。

41
dpbklyn

まず、ユーザー名がwww-dataグループに含まれていることを確認する必要があります。そうでない場合は、www-dataグループとしてユーザー名を追加できます

Sudo adduser $USER www-data

その後、/ var/wwwの所有権をユーザー名に変更する必要があります

Sudo chown $USER:www-data -R /var/www

次のステップ、一般的な慣習のため、セキュリティ上の理由で許可を777(rwxr-xr-x)に変更することをお勧めしますが、許可を777に変更することはお勧めしません

Sudo chmod u=rwX,g=srX,o=rX -R /var/www

wordpressまたはlaravelまたは別のフレームワークの特定のアクセス許可に関連する場合は、それぞれドキュメントを読むことができます。

それが役に立てば幸い...

81
metamorph

どうやらこれはUbuntuサーバーガイドで推奨されている方法です:

第11章Webサーバー。

1.4。書き込み許可の共有

複数のユーザーが同じディレクトリに書き込みできるようにするには、共有するグループに書き込み権限を付与する必要があります。次の例では、グループ「webmasters」に/ var/www/htmlへの共有書き込み権限を付与します

私はwww-dataを使用しますグループの「ウェブマスター」は、もちろんグループにユーザーを追加してください。

Sudo chgrp -R webmasters /var/www/html
Sudo find /var/www/html -type d -exec chmod g=rwxs "{}" \;
Sudo find /var/www/html -type f -exec chmod g=rws "{}" \;

私はちょうどMacデスクトップからDreamweaverでテストし、ファイルなどのファイルをアップロードおよび置換しましたが、1つの例外を除いて正しい権限を保持します。ローカルユーザーはwww-dataとともに新しいファイルの所有者になりますが、 htmlディレクトリは、ルートとしての所有権を保持しますが、ローカルユーザーが編集できます。

$ls -l
$-rw-rw-r-- 1 localUser www-data 11505 May 28 09:56 index2.html
$-rw-rwSr-- 1 root  www-data 11535 May 28 09:58 index.html

これが物事を片付け、疲労を和らげることを願っています。私はいつもこの状況に疲れていたのを知っていますが、今では私には明らかです。

ああ、キーにsftpを使用してftpにアクセスすることを強くお勧めします。私にとってはうまく機能し、PureFTPや他の安全でない方法でファイルをWebサイトに配信する必要はありません。 Digital Oceanサイトには、sshキーでサーバーを保護することに関するすべての良いチュートリアルがあります:

LinuxサーバーでSSHキーベース認証を設定する方法

3
MagicCamera

Ubuntuのインストールガイドを読んでください..

chown -R www-data /usr/share/wordpress

/var/wwwにあるファイルを解凍しようとするよりも、この方法でインストールする方が簡単かもしれません

https://help.ubuntu.com/community/WordPress ...

wordpressはApacheで実行されます...そのようにしたい場合は、doを@metamorphとして表示し、Apache2 httpd.confで次のように許可を与えます。

<VirtualHost *:80>
        ServerName site
        ServerName site.domain
        DocumentRoot /srv/www/wordpress.site

        DirectoryIndex index.php

</VirtualHost>

そしてdefault-server.conf

<Directory "/srv/www/wordpress.site">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

段階的に行うのが最善かもしれません https://help.ubuntu.com/community/WordPress

0
maniat1k

Apacheが/hdd/web/mediaおよび/hdd/web/wordpressの実行権限を持っていることを確認してください。

実行:

chmod o+x /root /root/site /root/site/about

さらに、Apacheはファイルシステム上のディレクトリへのアクセスを許可するように設定する必要があります。これは、システム管理者がApache構成ファイル(httpd.conf)にディレクティブを挿入することで実行する必要があります。

実際のディレクトリはWebルート内にあるため、アクセス可能でなければなりませんが、FollowSymLinksがディレクトリに対して有効になっていない可能性があります-これもディレクティブに追加する必要があります。

http://httpd.Apache.org/docs/2.0/mod/core.html#directory を参照してください

0
jasmines