CentOS - 書き込み権限の問題

CentOS - 書き込み権限の問題

私はCentOS 6.4を実行しており、WordPressがインストールされています。 (照明付き)

今の問題は、WordPressエディタのどのファイルでも書き込み変更を行うことができないということです。 header.php、style.cssなど、Wordpressは更新ボタンが必要な場所に次のものを表示します。変更を保存する前にファイルを書き込み可能にする必要があります。

メモ:

  • これで、Apacheはrootユーザー(デフォルト)として実行されます。
  • 上記のすべてのファイルが配置されているテーマフォルダの権限は次のとおりです。

    drwxrwxr-x。 5 ルート bluegig 4096 7月7日 17:32 トピック

    drwxrwxr-x。 3ルートApache 4096 7月7日23:15アップロードしました

私は走った修正 775これで、「topic」および「upload」コマンドが実行されます。chmod 777は書き込み権限を提供しますが、安全ではないと思います。他の/より良い方法はありますか?

(bluegigが私のドメイン名なのになぜそこにいるのかわかりません...)

どうして:

  • WordPressで読み込んで実行できます。
  • WordPressのファイルをアップロードフォルダにアップロードできます。

私はできません:

  • WordPressでファイルを変更します(エディタを介して)。
  • WordPressのファイルを変更できるように書き込み権限を有効にする方法は?

WP内でftpアカウントにログインしていません。

答え1

Apacheのインストールはrootとして実行されているようですが、実際にはuserとして実行されていますapache。次のファイルを見るとこれを確認できます。

$ grep "^User" /etc/httpd/conf/httpd.conf
User apache

Web UIを介してWordPressを使用してインストールを管理する場合は、WordPressディレクトリ全体をこのユーザーが所有する必要があります。

私は通常、次のようにWordPress用の別々のディレクトリを作成します。

$ pwd
/var/www
$ ls -l | grep wordpress
drwxr-xr-x. 5 apache apache    4096 Apr 25 19:27 wordpress

WordPressディレクトリの内容は次のとおりです。

-rw-r--r--. 1 apache apache      395 Jan  8  2012 index.php
-rw-r--r--. 1 apache apache  5009441 Jan 23 13:40 latest.tar.gz
-rw-r--r--. 1 apache apache    19929 May  6  2012 license.txt
-rw-r--r--. 1 apache apache     9177 Jan 25 11:25 readme.html
-rw-r--r--. 1 apache apache     4663 Nov 17  2012 wp-activate.php
drwxr-xr-x. 9 apache apache     4096 Dec 11  2012 wp-admin
-rw-r--r--. 1 apache apache      271 Jan  8  2012 wp-blog-header.php
-rw-r--r--. 1 apache apache     3522 Apr 10  2012 wp-comments-post.php
-rw-rw-rw-. 1 apache apache     3466 Jan 23 17:15 wp-config.php
-rw-r--r--. 1 apache apache     3177 Nov  1  2010 wp-config-sample.php
drwxr-xr-x. 7 apache apache     4096 Apr 24 20:15 wp-content
-rw-r--r--. 1 apache apache     2718 Sep 23  2012 wp-cron.php
drwxr-xr-x. 9 apache apache     4096 Dec 11  2012 wp-includes
-rw-r--r--. 1 apache apache     1997 Oct 23  2010 wp-links-opml.php
-rw-r--r--. 1 apache apache     2408 Oct 26  2012 wp-load.php
-rw-r--r--. 1 apache apache    29310 Nov 30  2012 wp-login.php
-rw-r--r--. 1 apache apache     7723 Sep 25  2012 wp-mail.php
-rw-r--r--. 1 apache apache     9899 Nov 22  2012 wp-settings.php
-rw-r--r--. 1 apache apache    18219 Sep 11  2012 wp-signup.php
-rw-r--r--. 1 apache apache     3700 Jan  8  2012 wp-trackback.php
-rw-r--r--. 1 apache apache     2719 Sep 11  2012 xmlrpc.php

wordpress.conf file under this directory,私は通常、WordPress関連のApache設定を独自の/etc/httpd/conf.d/`で管理します。

# wordpress.conf
Alias / "/var/www/wordpress/"
<Directory "/var/www/wordpress/">
Order Deny,Allow
Deny from all
#Allow from 127.0.0.1 192.168.1
Allow from all
AllowOverride all
</Directory>
#RewriteLog "/var/www/wordpress/rewrite.log"
#RewriteLogLevel 3

答え2

(bluegigが私のドメイン名なのになぜそこにいるのかわかりません...)

なぜかブルーギグ(blugig)というグループがあるようだ。以下で確認できます。

grep bluegig /etc/group

グループ権限を使用することは、たとえば777を使用しない1つの方法です。サーバーが実行するスクリプトを読み取りおよび実行可能にしますが、書き込みは不可能にしたい場合がありますが、権限のない管理/開発ユーザー()に書き込みアクセス権を付与したい場合がありますdave。サーバーは で実行されるため、apacheファイルが apache が属せず、 に属するグループに属し、dave権限が 775 の場合、次のような結果が得られます (apache は読み込み、実行でき、dave は読み書き実行を読み取ることができます)。

/etc/groupの行にApacheが記載されていない場合は、bluegigをグループとして使用するか、新しいグループ(groupadd)を作成できます。自分をグループに参加させる:

usermod -a -G bluegig dave

これで、ログイン名が/ etc / groupエントリの最後に表示され、bluegigbluegigグループと同じ権限を持つようになります。

関連情報