質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • WordPress

    7201questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • CentOS

    2704questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Apache

    1815questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

  • .htaccess

    386questions

    Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

【WordPress】テーマが反映されない「.htaccess」の確認方法

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 4,032

nekomura

score 124

よろしくお願いいたします。

今回の作業にあたり、初めてCentos、Wordpressを使用しております。

外部に作成を委託したWordpressのテーマを、自分の環境に構築したいのですが、
うまく反映されず困っています。
色々と試行錯誤した結果、

「ドキュメントルート(WordPressがインストールされている最上位の階層)にある「.htaccess」に書き込み権限があることを確認ください。」

とアドバイスをいただいたのですが、この確認のやり方がどうしてもわかりません。
どの場所に、どのように行って何を書き換えれば良いのか詳細をご教示ください。

調べて色々試行錯誤した結果、どうしてもわからないのでこちらで質問させていただきます。
ご教示のほど、どうぞよろしくお願いいたします

以下、当方の環境や状況の詳細です。
長文となりますが、ご回答いただければ幸いです。


委託したテーマは、テーマのデザインのほかに
今後は自身で同じ形式で更新ができるように、各投稿に対して固定形式フォームで入力できるよう作成していただきました。
ファイルを3つ、納品してもらっています。

◆当方の環境
・自身のPC(Windows)に、Vmwareをインストール→Centos6を導入
・以下のURLの通りに、Centos上にwordpressを導入
http://webkaru.net/linux/wordpress-install-centos/

◆wordpress管理画面より、
「プラグイン」->「新規追加」
「外観」->「テーマ」->「新規追加」で下記のファイルを追加して、追加されたプラグインとテーマをそれぞれ有効化
・plugin.zip
・pligon2.zip
・theme.zip

テーマ画面で、当該テーマが有効化されたことを確認

その後、右メニューから固定ページやFAQを確認したところ、
固定形式で作っていただいたフォームは反映されておらず、また、編集プレビューも出ないため、内容に合わせて以下を試しました。

プレビュー表示ができない
→パーマリンクの問題では?ということで、テーマの作成者から、新しいfunctions.phpファイルが添付され、
既存のfunctions.phpを以下手順で差し替え後、一旦アップロードしたプラグインとテーマのファイルをWordpress上で削除、再度アップロード。

①「theme」ファイル直下の「functions.php」を削除
②「functions.php」を貼り付け
③ファイル圧縮→ファイルをUSBでCentosに移行→Wordpressテーマにアップロード

固定形式で作ってもらったフォームが反映されていない
テーマの作成者から、XMLファイル添付され、それを使用して
→「ツール」->「インポート」->「WordPress」->「今すぐインストール」->「インポーターの実行」で添付のXMLファイルを選択してインポートを実行
※パーマリンクの設定は、「基本」で登録済


それでもテーマの内容が反映されないため、
ドキュメントルート(WordPressがインストールされている最上位の階層)にある「.htaccess」に書き込み権限があることを確認したいのですが、
この確認のやり方がわかりません。
どの場所に、どのように行って何を書き換えれば良いのか詳細をご教示ください。

初歩的な質問をしているのは重々承知なのですが、行き詰ってしまったため、以上ふまえてご教示いただければ幸いです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

ひとまずご質問自体の回答です。

>ドキュメントルート(WordPressがインストールされている最上位の階層)にある「.htaccess」に書き込み権限があることを確認したいのですが、 この確認のやり方がわかりません。 

仮にディレクトリの構成が http://webkaru.net/linux/wordpress-install-centos/ の通りだった場合、WordPressがインストールされているディレクトリは /var/www/wordpress となっているはずです。
その場合、当該の .htaccess は /var/www/wordpress/.htaccess ファイルとなります。
このファイルに httpd (apache)の実行ユーザー(上記ページ通りなら apache )が書き込みできるパーミッションとなっていることが必要です。

※パーミッションの操作について知らないようでしたら http://qiita.com/masashi-t-h/items/5f4c4fa768642aad9e06 あたりを参考にするかといいかと思います。

cd /var/www/wordpress
ls -al .htaccess

とした結果を確認することで現在の.htaccess ファイルのパーミッションが表示されます。
その状態にもよるんですがとりあえず、

chown apache. .htaccess
chmod 660 .htaccess

とすることで、その .htaccess の所有者は apache、グループは apache ユーザーのプライマリグループ(通常は apache)、ファイルのパーミッションが

  • オーナーは read / write
  • グループは read / write
  • それ以外のユーザは何もできない

となります。

この状態が

「.htaccess」に書き込み権限があること

が設定できた状態となります。


が、それ以前に WordPress の構造について知った方がいいような気がしますので、後程追記します。

 追記

テーマ、プラグインに関連するWordPress のディレクトリ構成は

WordPress のインストールディレクトリ
├── wp-content
    ├── plugins
    │   ├── プラグインAのディレクトリ
    │   ├── プラグインBのディレクトリ
    │   └── ・・・
    └── themes
        ├── テーマAのディレクトリ
        ├── テーマBのディレクトリ
        └── ・・・

というような構造となっています。
そのため、

  • テーマは wp-content/themes/ 以下に展開
  • プラグインは  wp-content/plugins/ 以下に展開

する必要があります。
ご質問の文章内にあるファイル名からすると、

  • theme.zip は wp-content/themes/ 以下に展開
  • plugin.zip 、pligon2.zip の2つは wp-content/plugins/ 以下に展開

するのが適切なのではないでしょうか。

また、プラグインは上記ディレクトリに配置したのち、WordPressの管理画面のプラグイン→インストール済みプラグイン から有効化する必要があります。


ということで、おすすめなのですが、一旦、WordPressのインストールをしただけの状態まで戻って、上記を参考に設定しなおしてみてはいかがでしょうか。
そのうえで

/var/www/wordpress/wp-content
├── plugins
│   ├── plugin
│   │   └── plugin.zip の中身
│   ├── pligon2
│   │   └── pligon2.zip の中身
│   └── ・・・
└── themes
    ├── theme
    │   └── theme.zip の中身
    └── ・・・

というようなディレクトリ構成にファイルを配置し、

cd /var/www
chown -R apache. wordpress

とすることで /var/www/wordpress ディレクトリ以下をすべて apache ユーザーの所有となるように権限を変更した状態で、WordPressの管理画面から当該のテーマ・プラグインを有効化してみると、動作するのではないでしょうか。

ご参考まで。

 追記(2017.02.03. 10:30すぎ)

現状、ある程度httpdなどの設定はできている状態と思いますので、下記の手順をやってWordPressのインストールからやり直してみてはいかがでしょうか。

cd /var/www
mv wordpress wordpress.bk
wget https://ja.wordpress.org/latest-ja.tar.gz
tar zxvf latest-ja.tar.gz
chown -R apache. wordpress

ここまででWordPressのファイルの設置が完了します。
この状態でWordPressのURLにアクセスすることでインストール画面が表示されるはずなので、設定してみてください。

WordPressの画面が表示できるようになったところで

ls -al /var/www/wordpress

とすると .htaccess ができているかと思います。

その状態からテーマ、プラグインの展開をしてみてください。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/03 10:09

    Suenaga様
    ご無沙汰しております。いつも丁寧なご回答に感謝いたします。
    参考リンク、ディレクトリ構造の詳細についてのご教示も、誠にありがとうございます。

    恐れ入りますが2点、質問させてください。

    ◆「.htaccess」に書き込み権限があることを確認 について

    本文にありますように、Apacheの設定でドキュメントルートを"/var/www/wordpress"
    としているため、以下を試させていただきました。
    >cd /var/www/wordpress
    >ls -al .htaccess
    ”そのようなファイルやディレクトリはありません”
    そのままコピペではカレントディレクトリの位置が違うので駄目なのかと、
    wordpressのインストール場所を調べようといくつかコマンドを試したのですが、
    うまく探せません。何か適切な方法があるのであればご教示いただけないでしょうか。


    ◆WordPress のディレクトリ構成 について
    >テーマは wp-content/themes/ 以下に展開
    >プラグインは wp-content/plugins/ 以下に展開

    今回は、該当ファイルを、直接wordpressの**管理画面**よりzip形式でそれぞれ
    〇外観→テーマ
    〇プラグイン
    にアップロードしました。
    **この作業の前に、FTPなどの手段でディレクトリに設置する必要があるということだったのでしょうか。**
    FTPを使用する、ターミナルから操作する…などとキーワードはいくつかあるのですが、具体的な配置方法にたどり着けず手詰まりな状態です。。。
    FTPは、以下を参考に Vsftpd をインストールして、ファイル転送用に FTP サーバーを構築しましたが、使い方を調べてもわからず、FTPでアップロード…という作業に入れずにいます。
    [リンク内容](https://www.server-world.info/query?os=CentOS_6&p=ftp)

    毎度初歩的な質問で誠に恐縮なのですが、以上2点についてご教示いただけますでしょうか。

    キャンセル

  • 2017/02/03 10:36

    ちょっと念のため確認させてください。

    「ドキュメントルート」と「WordPressのインストールディレクトリ」は同じディレクトリでしょうか。
    つまり、アクセスする際のURLは http://・・・/ でしょうか http://・・・/wordpress/ でしょうか。




    ・ .htaccess について
    ないということはその時点でインストールのどこかで失敗しているかと思います。
    インストール時点で本来作られているものなので。

    ・WordPressのディレクトリ構成について
    本来管理ページからアップロードした場合も同じようなディレクトリ構成に展開されるはずですが、そうできているでしょうか。
    プラグインの展開が適切にできていないんじゃないかと思いました。

    管理画面からアップロードするので構いませんが、その後に上記のようなディレクトリ構成に展開できているか確認するといいかと思います。

    なお、サーバにFTPサーバをセットアップするのはあえてやる必要はなく、SSHが利用できるのであればSCP/SFTPを利用することでファイル転送ができますのでそちらに慣れることをお勧めします。
    ※ただ今回の件には必須ではないのでこれは一旦後にしましょう。


    ちなみにWordPressのバージョンは最新をお使いでしょうか。
    参照されているURLで紹介されているバージョンはだいぶ古いものなので、特に理由がなければ最新版をお勧めします。



    とりあえずやってみるといい手順を回答に追記しますのでそちらもご覧ください。

    キャンセル

  • 2017/02/03 11:00

    Suenaga様
    いつもありがとうございます。

    >ちょっと念のため確認させてください。
    こちらのついて取り急ぎ。

    WordPressのバージョン:4.7.2

    >つまり、アクセスする際のURLは
    管理画面では、以下ですが…
    http://localhost/wp-admin/update-core.php
    >「ドキュメントルート」と「WordPressのインストールディレクトリ」は同じディレクトリでしょうか。
    ドキュメントルートは、前述のApacheの設定で指定したもののことですよね?
    インストールディレクトリについては、昨日から確認しようとしているのですが、うまく実現できていない状態です。

    >つまり、アクセスする際のURLは
    管理画面では、以下ですが…
    http://localhost/wp-admin/update-core.php

    >とりあえずやってみるといい手順を回答に追記しますのでそちらもご覧ください。
    本当にありがとうございます(涙)

    キャンセル

  • 2017/02/03 11:05

    > http://localhost/wp-admin/update-core.php

    ということは ドキュメントルート=WordPressのインストールディレクトリとなっていますね。
    ( http://localhost/ = /var/www/wordpress/ )

    ありがとうございます。

    キャンセル

  • 2017/02/03 11:10

    追記(2017.02.03. 10:30すぎ) について

    Suenaga様
    お世話になります。
    以下についてですが、つまり特に問題点は無いという認識でよろしいでしょうか。
    >ということは ドキュメントルート=WordPressのインストールディレクトリとなっていますね。
    >( http://localhost/ = /var/www/wordpress/ )

    Wordpressの再インストールですが、以下で設定したMYSQLとapacheはそのままに、一度既存のものを削除すればよろしいということでしょうか。
    (http://webkaru.net/linux/wordpress-install-centos/)
    お忙しいところ大変恐れ入りますが、よろしくお願いいたします。

    キャンセル

  • 2017/02/03 11:30

    > つまり特に問題点は無いという認識でよろしいでしょうか。

    はい、これは問題というよりも設定状況の確認なので大丈夫です。

    > Wordpressの再インストールですが、以下で設定したMYSQLとapacheはそのままに、一度既存のものを削除すればよろしいということでしょうか。

    WordPressの構成要素は大きく、 apache 、 mysql 、 WordPressのソースコードの3つですが、追記に書いた手順は WordPressのソースコードを初期化した状態です。

    apache の設定は特に問題ないと思います。

    mysql は中のデータを一度無くしてしまっていいのであれば、DBをもう1つ作ってそのDBを使うようにWordPressの設定(インストール画面でのDB名の指定)をしていけばいいかと思います。


    ※管理画面等が正常に利用できている時点で、apache / mysql の設定に問題はないと判断できるので、あとはソースコードの配置等、設定の問題と判断しています。

    キャンセル

  • 2017/02/03 11:41

    Suenaga様
    お世話になります。

    なるほど、承知いたしました。
    DBを新たにもう一つ別名で作り、wordpressを削除してもう一度テーマとプラグインのファイルを管理画面から
    アップロードしてみようと思います。
    後ほどご報告させてください。(また質問になってしまうかもしれませんが、ご容赦いただければ幸いです)
    いつも本当にありがとうございます。

    キャンセル

  • 2017/02/03 14:31

    Suenaga様
    お世話になります。
    wordpressの削除ですが、以下で問題ないのでしょうか。
     ♯rm -rf /var/www/wordpress/
    コマンド実行後、特にアクションが無いため合っているか調べたのですが、特に理解できるようなものが無く、申し訳ないのですがこちらで質問させていただきました。
    また、今回削除したいwordpressのデータベースは、すでにdorpしました。

    以下の手順を実行いたしました。

    ①wordpressの削除
    ♯rm -rf /var/www/wordpress/

    ②新しい接続先DBの作成

    ③wordporessインストール
    (追記(2017.02.03. 10:30すぎ))の手順で→成功。

    Suenaga様のいう通り、.htaccess ができていたので、以下を実行
      cd /var/www/wordpress
      ls -al .htaccess
    パーミッションは、
    -rw-r--r--
    だったため、以下を実行
      chown apache. .htaccess
      chmod 660 .htaccess
    → -rw-rw---- の状態。

    その後、WordPressの管理画面から当該のテーマ・プラグインを有効化(管理ページからアップロード)
    しましたが、やはり「テーマ」に有効化として表示はされていますが、
    プレビューの表示や、作っていただいている投稿形式は反映されていませんでした。。。

    そこで、お手数ですが下記について確認方法をご教示いただけないでしょうか。
    お忙しいところ大変恐れ入りますが、よろしくお願いいたします。

    キャンセル

  • 2017/02/03 14:32

    すみません、さきほどの質問ですが、(2017/02/03 14:31)
    以下は消し忘れの誤記です。申し訳ありません。

    wordpressの削除ですが、以下で問題ないのでしょうか。
     ♯rm -rf /var/www/wordpress/
    コマンド実行後、特にアクションが無いため合っているか調べたのですが、特に理解できるようなものが無く、申し訳ないのですがこちらで質問させていただきました。
    また、今回削除したいwordpressのデータベースは、すでにdorpしました。

    キャンセル

  • 2017/02/03 14:36

    Suenaga様
    お世話になります。

    先ほど2件、誤って投稿してしまい、現在削除依頼中です。
    恐れ入りますが、午後の分については当該メッセージのみご確認お願いいたします。

    以下の手順を実行いたしました。

    ①wordpressの削除
    ♯rm -rf /var/www/wordpress/

    ②新しい接続先DBの作成

    ③wordporessインストール
    (追記(2017.02.03. 10:30すぎ))の手順で→成功。

    Suenaga様のいう通り、.htaccess ができていたので、以下を実行
      cd /var/www/wordpress
      ls -al .htaccess
    パーミッションは、
    -rw-r--r--
    だったため、以下を実行
      chown apache. .htaccess
      chmod 660 .htaccess
    → -rw-rw---- の状態。

    その後、WordPressの管理画面から当該のテーマ・プラグインを有効化(管理ページからアップロード)
    しましたが、やはり「テーマ」に有効化として表示はされていますが、
    プレビューの表示や、作っていただいている投稿形式は反映されていませんでした。。。

    そこで、お手数ですが下記について確認方法をご教示いただけないでしょうか。
    >管理画面からアップロードするので構いませんが、その後に上記のようなディレクトリ構成に展開できているか確認するといいかと思います。

    お忙しいところ大変恐れ入りますが、よろしくお願いいたします。

    キャンセル

  • 2017/02/03 16:50 編集

    /var/www/wordpress/wp-content/themes 内に、追加したテーマのディレクトリはあるでしょうか。
    また、同様に /var/www/wordpress/wp-content/plugins 内に追加したプラグインのディレクトリはあるでしょうか。

    ls -al /var/www/wordpress/wp-content/themes
    ls -al /var/www/wordpress/wp-content/plugins

    なお、プラグインはアップロードしただけでは有効化されませんが、有効化までされているんですよね。

    キャンセル

  • 2017/02/03 18:16

    Suenaga様
    お世話になります。

    ご回答いただいたコマンドを実行させていただきました。

    実行【ls -al /var/www/wordpress/wp-content/themes】
    [root@localhost wordpress]# ls -al /var/www/wordpress/wp-content/themes
    合計 28
    drwxr-xr-x. 6 apache apache 4096 2月 2 23:23 2017 .
    drwxr-xr-x. 7 apache apache 4096 2月 3 00:06 2017 ..
    drwxr-xr-x. 6 apache apache 4096 2月 2 15:54 2017 hoge
    -rw-r--r--. 1 apache apache 28 6月 5 08:59 2014 index.php
    drwxr-xr-x. 6 apache apache 4096 1月 26 11:43 2017 twentyfifteen
    drwxr-xr-x. 5 apache apache 4096 1月 26 11:43 2017 twentyseventeen
    drwxr-xr-x. 7 apache apache 4096 1月 26 11:43 2017 twentysixteen

    実行【ls -al /var/www/wordpress/wp-content/plugins】
    [root@localhost wordpress]# ls -al /var/www/wordpress/wp-content/plugins
    合計 36
    drwxr-xr-x. 7 apache apache 4096 2月 2 23:25 2017 .
    drwxr-xr-x. 7 apache apache 4096 2月 3 00:06 2017 ..
    drwxr-xr-x. 5 apache apache 4096 2月 2 15:51 2017 acf-repeater
    drwxr-xr-x. 7 apache apache 4096 2月 2 15:51 2017 advanced-custom-fields
    drwxr-xr-x. 4 apache apache 4096 1月 26 11:43 2017 akismet
    -rw-r--r--. 1 apache apache 2255 5月 22 14:08 2013 hello.php
    -rw-r--r--. 1 apache apache 28 6月 5 08:59 2014 index.php
    drwxr-xr-x. 3 apache apache 4096 2月 2 20:59 2017 wordpress-importer
    drwxr-xr-x. 4 apache apache 4096 1月 26 11:43 2017 wp-multibyte-patch

    これは、追加がちゃんとできているという内容ですよね?
    まだLinuxに慣れていないためご教示いただけると幸いです。

    プラグインは有効化済みです。。。

    いつもありがとうございます。

    キャンセル

  • 2017/02/03 18:25

    そうですね、出来ているように見えますね。
    そうするとプラグインかテーマの中身の問題になってくるかと思います。
    何か他の設定が必要か、使い方があるかするんじゃないでしょうか。

    テーマを作った方に確認してみないとわからないかもしれません。

    キャンセル

  • 2017/02/03 20:19

    Suenaga様
    ご確認ありがとうございます。

    今回は、本当に勉強になりました。
    ご丁寧な回答に感謝しています。
    今回の回答でディレクトリや
    権限の設定方法がよくわかりすっきりしました。


    >テーマを作った方に確認してみないとわからないかもしれません。
    そもそも私の環境設定にも問題があったようなのでこちらで質問させていただきましたが、
    ご指摘の通りファイルに問題がある可能性も出てきたので、そうしてみます。
    こちらの事情で恐縮ですが、今回初めてクラウドソーシングでテーマの作成を依頼したため、
    あまり連絡が取れなかったということがあります。

    再度今回の回答を読んで勉強します、とても分かりやすかったです。
    ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • WordPress

    7201questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • CentOS

    2704questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Apache

    1815questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

  • .htaccess

    386questions

    Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。