タグ:NetCommons3
NetCommons3のインストールで内部エラーが出る
最近ちょこちょこお客様から引き合いをいただくので、インストールを何度もやっているんですが、毎回毎回忘れるので備忘録も兼ねてここでちゃんと書いておこうかと思いました。
えとね、
NetCommons3.2以前のVer.は PHP.7.2以上ではインストールできません。
2019年秋追記:3.3以降は普通にインストールできるので、 最新バージョンでインストールしましょう。
というのは、エラーログの内容見るとね、
ってのが出てるので、なんか変数被ってるとかそんなんだろね。うん。たぶんね。
で、php7.1.18とか、PHPバージョン切り替えの設定とかで下げてあげるとうまくいきます。
ちなみにインストール後にPHP7.2に戻してもとりあえず動くけど、会員管理のプラグインが内部エラー吐くので、オススメしません。
なんかエックスサーバーの新機能で、エックスアクセラレータっていうのがあるんだけど、
Xアクセラレータ Ver.1 静的ファイルの高速化と同時アクセス数の拡張が行われます。
Xアクセラレータ Ver.2 「Ver.1」の特徴に加えて、PHPプログラムが高速化されます。
これのVer.2がね、7.2以上じゃないと使えないんだよね。
せっかくだから使いたい!って思うけどしゃーないね。
ということで、NetCommons3を新規インストールする時は、PHPのバージョンを7.1.18などに落としてから行いましょう。
imagickのパス
とあるお方からご指摘いただいていて、書き忘れていたことがあります。
imagickです。
エックスサーバーのPHPには既にimagickのライブラリがインストールされています。
ですが、そのままでは使えるようになっておりません。
そこで、php.iniを編集して使えるように書き加えてやる必要があります。
ということで、インストールのページに下記を追記しました。
-------------------------------
あと、NetCommons3の機能で画像サイズ変更などに使われているプラグインのimagickがエックスサーバーではパスが通っていないので、php.iniを編集してやる必要があります。
php.iniは、サーバーパネルの下あたりのここにあります。
そして「php.ini直接編集」タブをクリックして直に追記します。
extension = imagick.so
実際に書くとこんな感じです。
[mbstring]の上あたりに書くといい感じです。
これをしないとあとでimagickがありません!一部機能が・・・というアラートがなくなると思います。
NetCommons3を再インストール
以前から気になっていたんですが、このサイトを立ち上げたときにNetCommons3のインストールを失敗していたらしく、ソースコードがくちゃくちゃになっていたんですね。
CSSも即時反映されないし、おかしいなと思っていたある日、他のNetCommons3で構築されたサイトのソースと見比べてみたら、全然違うんですよ。
ソースコード綺麗なんですよ。
「ナニコレ!?アタシのソースコードヤバすぎ?!」
って思っちゃいましてね。
遂に再インストールを決行したんです。
そしたら、なんか新しいバージョン出てて、「ついでだし、こっちの新しい方インストールしーちゃお!」って気軽に考えてやってたら、
全っ然!インストールできないんですよ。
なにやらCAKE_CORE_INCLUDE_PATHの場所が違うだの、bootstrap.phpが無いだの言うんですよ。
んで、あるべき場所を見たらあるんですよ。
「あるよ!!」
って言ってもサーバーは答えてくれず。
そっからこれを解決するための色んな調査が始まる訳ですよ。
二週間かかったね。
わかんなかったよ。
結局解んなくてもう一度公式サイトのインストール方法読んでたら、サーバーの必要要件に
「mod_rewright」って書いてあるのが目に止まりまして。
急いでルートディレクトリを確認したんですよ。
なかったょ。
「.htaccess」
サーバー上でSSHから解凍してさ、何も考えずMVコマンドで移動させていたから隠しファイルが抜けてたよ!
ローカルのWindows上で解凍したら入ってて気づいたよ!
アップロードした。
インストールできた。
なんだったんだよこの二週間。
めっちゃ調べたよ!
CakePHPまで勉強しかけたよ!(しなかったよ!)
サーバー上にたぶん色んなゴミ出来たよ!(怖くて消せないよ!)
色んなパスおかしくなってる気がするよ!
こんな初歩的な見落しをしていたとは...。
ともあれ。
やっと復活しました。
なのでこれから頑張って書いていきまーす。
デザインカスタマイズ&CSSの在処
デザインをカスタマイズしようと思ったがどこのCSS読みに行っているのか、ソースをそのまま見に行ってもわからない。
凡そ検討がついがのは
の中にあるということ。
cssも含めて全体のデザインをカスタマイズする時は、
の中にあるテーマ(Defaultがいいのかな?)をコピーして、中にある.jsonファイルのテーマの名前を変えてやって、
管理 > プラグイン管理 > コアプラグイン > Net Commons > アップデート
してあげると、テーマ選択のところに出てきます。
あとはディレクトリの中にある webroot/css/style.css を編集してやればカスタマイズし放題!
ちなみに恐らくだがオーバーライドするcssは
だと思われる。
なので共通でオーバーライドさせたい場合のCSSはここを触ろう。(バックアップは忘れずに)
cssを好きにいじったら、あとは
管理 > プラグイン管理 > テーマタブ > カスタマイズしたテーマ > アップデート
で、cssが適用されます。
ただ、サーバーによってはサーバーの中にキャッシュが残ってて反映に時間がかかるので、気長に待ちましょう。
NetCommons3のルートディレクトリ
NetCommons3をインストールすると、ルートディレクトリ、つまり、実際に表示されているIndexファイルはどこの階層にあるのかご存知ですか?
実はこうなんです。
ここなんですね。 CakePHPの知識なんかがあれば当然のことなのかもしれませんが、私にはわかりませんでした!
GoogleのSearch Console等で権限確認やSitemapを置く時にはここを基準に置きましょう。
ヘッダーとフッターの編集
NetCommons3では標準で画面上部の黒帯(ヘッダー)と、最下部の白帯(フッター)があり、画面上からは編集できません。
このふたつはそれぞれ
ヘッダーは
app/Plugin/NetCommons/View/Elements/common_header.ctp
フッターは
app/Plugin/NetCommons/View/Elements/common_footer.ctp
というファイルがデザインを担っており、これを編集することで内容を変更することができます。
せっかくのオリジナルホームページなのに「Powered by NetCommons」では格好がつきませんよね。
なので上記ファイルを好き勝手に編集してしまいましょう!
でも、予めバックアップは忘れずに!
NetCommons3のBaseURLが記述されているファイル
app/Config/application.yml
このファイルの4行目に
fullBaseUrl: http://****.jp
という記述があるので、そこを変更すればOK
その後
管理 > プラグイン管理 > コアプラグイン > Net Commons
をアップデートすれば反映されるみたい(JSのパスが直ってなかったのでやってみたら治った。検証したわけではない)
インストールを動作確認用URLで行った場合や、SSL適用した際に変更するべし。
他のパス情報なども個々にあるので、画像やCSSのディレクトリを変更する時や、
ルートパスを変更する時にもお世話になるかも。