KUSANAGIでDigiPressの設定が反映されない時の対処方法

こんにちは、コワーキングスペース Room8 鶴田です。
今回は、kusanagiでDigiPressのテーマを使うと起こるエラーを修正したお話です。
ちょいちょいお問合せがあり、その都度、修正方法を調べてたので備忘録的にメモしておこうかと

なので、kusanagi使ってないし、kusanagiだけどDigiPress使ってないって人は、読まなくても良いです(笑)

ちなみにkusanagiとは、超高速WordPress仮想マシンです。
超高速Wordpress仮想マシン:kusanagiの詳細はこちら

DigiPressとは、レスポンシブやAMPに対応したおしゃれな有料テーマです。
WordPressテーマ : DigiPressの詳細はこちら

症状は、設定項目が、反映されない

DigiPressは、DigiPress用の設定画面があり、そこでデザイン等を弄るのですが、設定画面で変更して保存をすると以下のようなエラーメッセージが表示されます。

{wordpressのインストールパス}/wp-content/uploads/digipress/{テーマ名}/css/visual-custom.css: The file is not rewritable. Please change the permission to 666 or 606.

このメッセージを読むと、パーミッションが悪い
666か606にしろと怒られてますよね?

そこでパーミッションを666にしてリトライ

しかし、同じメッセージが表示される・・・

対処方法は2つ

応急処置(コマンドラインからgzファイルの展開)

とりあえずの応急処置としては、エラーメッセージで表示されているパスを見ると以下のファイルがある。

visual-custom.css.gz

このファイルを手動で展開します。
kusanagiを使っている方なら僕がわざわざ説明しなくても分かるとは思いますが一応
僕は、sshでログインしてgzipコマンドで展開しました。

$ su
パスワード:rootのパスワード
# cd /home/kusanagi/{プロビジョン名}/DocumentRoot/wp-content/uploads/digipress/{テーマ名}/css
# gzip -d visual-custom.css.gz
gzip: visual-custom.css already exists; do you wish to overwrite (y or n)? (yを押してEnter)

とりあえず、今回は、macchiatoと言うテーマだったので上記の{テーマ名}の所は「macchiato」が入ります。
違うテーマを使ってる人は適当に置き替えてください。

これで、設定は反映されたと思います。

テーマファイルの修正

一度だけの設定なら上記の方法でいいと思いますが、これからサイトを作ろう思うと、修正するたびに手動で更新していかなければいけない。
それは面倒なので、PHPを修正してみました。

上記テーマ以外でも、いくつかのテーマで試してみましたところ、どれも正常に設定が反映されるようにはなりましたが、テーマファイルを直接弄るので自己責任でお願いします。やる前は、必ずファイルをバックアップしておいてください。

まず、やり方の流れ

  • 上記のパスのパーミッションを666に変更(606は試してません)
  • create_css.phpを修正

cssが作られるのディレクトリのパーミッションの変更

chmodでパーミッションを変更します。
スーパーユーザーで実行する必要があります。

$ su
パスワード:rootのパスワード
# cd /home/kusanagi/{プロビジョン名}/DocumentRoot/wp-content/uploads/digipress/{テーマ名}/
# chmod -R 666 css

llコマンドでパーミッション確認できます。

create_css.phpファイルの修正

create_css.phpのファイルを探し修正します。
ファイルのある場所は、以下です。
テーマにより違う場所が違う可能性もあります。

/home/kusanagi/{プロビジョン名}/DocumentRoot/wp-content/theme/{テーマ名}/inc/scr/

create_css.phpを開いたら、以下の場所を探してください。
「Write File」とかで検索すればすぐに見つかると思います。

ここを以下の様に書き換えます。

何をしているかと言うと、request_filesystem_credentials関数を使って、ファイル操作権限をもらっています。

もっとスマートで良い方法があるかもしれませんが、あったら教えて下さい。

欠点としては、テーマファイルを修正してるのでテーマをアップデートすると初期化されます。
アップデートしても設定内容は保持されると思いますが、もし色が初期状態に戻ってしまったとか、新機能があり修正したいという場合は、再度上記の設定をする必要があります。

余談

テーマの設定画面で色々設定して保存をすると、cssディレクトリの下に、visual-custom.css.gzファイルができます。
visual-custom.css.gzファイルが無い状態で、設定画面で保存をすると、このファイルのパーミッションが644で作成され、パーミッションエラーがでます。

これで随分ハマりました・・・

visual-custom.css.gzのパーミッションを666に変更したら(それ以外のファイルも)無事保存出来るようになりました。

※2020年9月追記:クライアントがテーマをアップデートしたため、再度この問題が発生したので修正したのですが、改善されず。
調べると、ファイルが書き込み可能ではないという判定(is_writable関数)、しかしパーミッションは変更してある。
するともう一つの可能性としては、ファイル所有者と実行者の違い、デフォルトでは、所有者・グループがkusanagiとなっている。
これを、所有者:https・グループ:wwwに変更したところ無事書き込まれるようになった。

コマンドは、chown

DigiPressだけで起きる問題ではない

そもそも、この問題はkusanagiのセキュリティーがレンタルサーバーよりも強い事により発生します。DigiPress以外のテーマであってもファイル等を出力するよう仕組みがあるテーマだと同じ様な症状が発生する可能性はあります。

ただパーミッションエラーと出るのは、Digipressの仕様です。
実際にはパーミッションエラーではなく、WP_Filesystem()から値を取得できないことが原因です。

他のテーマで設定が反映されない時には、WP_Filesystem()という文字列を探してみてはいかがでしょう?

他のテーマで似たような症状が起きたらとりあえず、該当箇所を探してみてください。

まとめ

DigiPressのテーマのパーミッションエラーは、create_css.phpの修正等で直せます。同じ様に困っている人がいたら参考にしてみてください。

あと、もっと良い解決方法があるという人は、教えて下さい!

今回修正したテーマはこちらです。
「Macchiato」

DigiPressは、とてもおしゃれなテーマなので僕は好きです。
上記以外にも色々良いテーマがあるので見てみてください!

この記事を書いた人

コワーキングスペース 代表 鶴田 賢太

こんにちは、「雑種系」起業アドバイザーの鶴田です。20年以上、様々な分野を渡り歩いてきた経験を活かし、今は春日井市でコワーキングスペース「Room8」を運営しながら、起業家の皆さんのサポートをしています。

私の旅は大学時代に取得した日商簿記1級から始まりました。その後、富士通グループでSEとして6年間働き、ITの世界で幅広い知識を得ました。Windowsから Mac、Linuxまで、様々なシステムを扱えるようになりました。

2014年、「人と人とが繋がる場所を作りたい」という思いから、Room8を立ち上げました。立ち上げから約2年後の2016年には、その取り組みが中日新聞に取り上げられ、地域のケーブルテレビにも何度か出演させていただきました。

ここRoom8では、簿記の知識を活かした財務相談や、IT時代の経験を生かしたパソコン相談など、これまで積み重ねてきた「バラバラな」経験が不思議と一つにつながり始めたんです。

起業家の皆さんの中には、パソコンに詳しくない方も多いんです。基本的な操作方法から便利な使い方、効率的なツールの紹介まで、幅広くサポートしています。実は、私自身がパソコン好きだったことがきっかけでIT業界に転身したんですよ。今でもITへの情熱は冷めず、最新のAI技術も積極的に活用しています。

Webサイト制作事業も手がけ、100社以上のサイトを作成してきました。SEO対策にも力を入れ、以前は「名古屋 コワーキングスペース」で検索1位を獲得したこともあります。数年前には、あるアプリのマーケティングで6ヶ月で2万PVを達成するなど、デジタルマーケティングの分野でも成果を上げてきました。

補助金申請のサポートも行っています。小規模事業者持続化補助金は自身で3回採択されただけでなく、Room8会員のサポートでも15回以上の採択実績があります。以前はIT補助金のIT導入支援事業者としても登録していました。

FP技能検定2級も持っているので、起業家の皆さんの財務面でのアドバイスもできます。「簿記の知識」「ITスキル」「FPの知識」「補助金申請のノウハウ」。かつては「バラバラ」と言われたこれらの組み合わせが、今では起業家の皆さんのサポートに大いに役立っています。

これからも地域に根ざしながら、新しいチャレンジを続けていきたいと思っています。最近のマイブームは人工知能(AI)、特に生成AIです。これも将来、きっと皆さんのお役に立てる日が来るはず。そんな期待を胸に、日々学び続けています。

このブログでは、財務、IT、マーケティング、補助金申請のコツ、そしてAIまで、幅広いテーマについて、私の経験や気づきをお伝えしていきます。「バラバラ」と思えた経験が、実は大きな強みになる。そんな可能性を、皆さんと一緒に探っていけたら嬉しいです。

起業を考えている方、新しいチャレンジを模索している方、ぜひRoom8に足を運んでみてください。きっと、思いもよらない出会いや気づきが待っているはずです。一緒に、この学びの旅を楽しみましょう!