SELinuxが有効な場合
下に記述する権限設定は既に実施済みで問題ない場合selinuxが邪魔をしている可能性があります。
権限設定を行っていない場合は下の章を参照してください。
有効か否かの確認は下記のコマンドを実行します。結果がEnforcingであればselinuxが有効になっています。
- # getenforce
- Enforcing
一旦selinuxを無効にしてからインストールできるか確かめてみましょう。
(切り分け用の操作なのでスキップして構いません)
- setenforce 0
この設定でインストール作業を進めようとし、該当現象が発生しない場合はselinuxが問題になっています。このままインストールを進たい所ですが、このコマンドは一時的な設定で再起動すると元に戻ってしまいます。インストールはできても再起動後アップロードできないような状態になる可能性がありますので、インストールをいったんやめて下記のコマンドを実行し、webサーバからのディレクトリへの書き込みを許可させます。
selinuxを再度有効にする
- setenforce 1
ディレクトリへのアクセス許可
- chcon -R -t httpd_sys_content_t /var/www/html/wordpress
- chcon -R -t httpd_sys_rw_content_t /var/www/html/wordpress
この手順後再度インストールを行います。
この手順後も発生する場合は下記の手順を確認します。
パーミッション及び所有権を確認する
wordpressのインストールディレクトリに書き込み権限があるかどうか確認しましょう。
wordpressのインストールディレクトリが「/var/www/html/wordpress」の場合下記のコマンドを実行します。
- # ls -ls /var/www/html/
- 4 drwxr-xr-x. 5 apache apache 4096 May 19 10:28 wordpress
wordpressディレクトリの所有権がapacheの利用ユーザになっていることを確認します。
(上記の例では最初のapacheが所有者、次のapacheは所有グループ名)
また「drwxr-xr-x」の記述は読み込み/書き込み/実行権限を示します。
2文字目のr~5文字目までが所有者の権限
6文字目~8文字目までがグループに対する権限
9文字目~11文字目までがその他のユーザに対する権限になります。
rがある場合は読み込み権限がある、wがある場合は書き込み権限がある、xがある場合は実行権限があるという意味になります。先頭のdはディレクトリを示します。
「drwxr-xr-x」の場合の意味は下記の通りになります。
ユーザ | 読込 | 書込 | 実行 |
所有者 | ○ | ○ | ○ |
グループ | ○ | ○ | |
その他 | ○ | ○ |
所有者が異なる場合は下記のコマンドを実行し所有者を変更します。
下記の例はwordpressディレクトリの所有者/所属グループをそれぞれapacheに設定しています。
- chown -R apache:apache /var/www/html/wordpress
所有者に書き込み権限がない場合下記のコマンドを実行します
- chmod -R 755 /var/www/html/wordpress
755の意味はchmodで検索をお願いします。2進数な感じです。1桁目が所有者、2桁目がグループ、3桁目がその他のユーザの所有権を示します。3ビットで先頭ビット(4)が読み取り、2ビット目(2)が書き込み、3ビット目(1)が実行権限を示します。7は全部あり(4+2+1)、5は読み取りと実行(4+1)という意味になります。lsで見た場合の「rwxr-xr-x」と同じ意味です。
その後、インストールを行います。
それでもダメな場合は冒頭の手順を確認してみてください。