このサイトは株式会社オープンソース・ワークショップの旧サイトです。
新サイトを参照していただけますようお願いいたします。
https://opensource-workshop.jp/
牟田口
SSH & SSL設定例
こんにちは、牟田口です。
SSHとSSLの設定はやっているけど、実際の値はどうなんだろう?と思い、設定を再確認しながら対応しました。
参考になれば幸いです。
--- レジュメ
・SSH&SSL対応
・チェックサイト、参考資料、サイト
・その他
------------------------------------------------------------
・チェックサイト、参考資料、サイト
------------------------------------------------------------
--- SSH
▼ SSHサーバセキュリティ設定ガイド V1.0 - 日本シーサート協議会
http://www.nca.gr.jp/imgs/nca_ssh_server_config_v01.pdf
→ (P.6) 3 チェックリストあり
→ (P.22~24) 4.2.8. 弱い暗号方式やメッセージ認証コードを利用しない【オプション】
→→ 確認方法がわかりやすかった。
--- SSLチェックサイト
▼ SSL Server Test (Powered by Qualys SSL Labs)
https://www.ssllabs.com/ssltest/index.html
→ セキュリティ屋のSSL無料チェックサービス
→→ □ Do not show the results on the boards(ボード上の結果を表示しません) にチェック付ければ、サイト公表されない
--- SSL:Apache 等のSSLの設定ジェネレータ (Mozilla)
▼ Generate Mozilla Security Recommended Web Server Configuration Files
https://mozilla.github.io/server-side-tls/ssl-config-generator/
→ Mozillaの Apache 等のSSLの設定ジェネレータサービス
→→ 設定値の参考に。
→→→ Server Version、OpenSSL Version指定できる
→→→ 設定は、Modern(近代的),Intermediate(中間)、Old(古い)から選べる
===================================
・SSH&SSL対応
===================================
------------------------------------------------------------
- OpenSSH
------------------------------------------------------------
--- 対応
// default設定から 以下の弱い暗号化を除外.
// Ciphers→ CBC, RC4(arcfour)を除外
// MACs→ MD5, SHA1, 96bitを除外
// SSHのサーバ(/etc/ssh/sshd_config)、クライアント(/etc/ssh/ssh_config)を対応する
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
MACs umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512
--- OpenSSH default設定はこうなってる
Ciphers
aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
aes128-gcm@openssh.com,aes256-gcm@openssh.com,
chacha20-poly1305@openssh.com,
aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
aes256-cbc,arcfour
MACs
hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,
umac-64-etm@openssh.com,umac-128-etm@openssh.com,
hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,
hmac-md5-96-etm@openssh.com,
hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,
hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,
hmac-sha1-96,hmac-md5-96
※引用元 : OpenBSD 5.5 Doucment
http://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-5.5/man5/ssh_config.5?query=ssh_config%26sec=5%26manpath=OpenBSD-5%252e5
--- 設定を新規作成
# vi /etc/ssh/ssh_config
// 最下部に追加
// 注意:Ciphers、MACsは複数行記述はダメだった。
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
MACs umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512
# vi /etc/ssh/sshd_config
// 最下部に追加
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
MACs umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512
--- 文法チェック
# sshd -t
# ssh -vv localhost
→ エラーがでなければOK
→ http://www.nca.gr.jp/imgs/nca_ssh_server_config_v01.pdf
→→ (P.22~24) 4.2.8. 弱い暗号方式やメッセージ認証コードを利用しない【オプション】
→→→ 確認方法がわかりやすかった。
--- sshd再起動
# systemctl restart sshd.service
# systemctl status sshd.service
--- 参考URL
▼ OpenSSHでRC4とMD5を無効にしてみた - Qiita
http://qiita.com/emittam/items/cff927f232c958c2dccf
▼ sshdで弱い暗号方式を使用しないようにする。 - labunix's blog
http://labunix.hateblo.jp/entry/20160228/1456586770
Red Hat Enterprise Linux には、全般的な OpenSSH パッケージ (openssh) と共に、OpenSSH サーバー (openssh-server) 及びクライアント (openssh-clients) パッケージが含まれています。
OpenSSH パッケージには、重要暗号化ライブラリをインストールして OpenSSH の暗号化通信を可能にする OpenSSL パッケージ (openssl) が必要な点に注意して下さい。
------------------------------------------------------------
- Apache -> OpenSSL
------------------------------------------------------------
--- 注意
・暗号化を最新のものしか許さない設定にすると、古い携帯など対応していない端末は、表示できなくなる。やりすぎ注意。
→ 外部のSSLチェックサービスで確認できる https://www.ssllabs.com/ssltest/index.html
// default設定から 以下の弱い暗号化を除外。
// Ciphers→ CBC, RC4(arcfour)を除外
// MACs→ MD5, SHA1, 96bitを除外
--- 設定
※ 設定は、ssl.confとバーチャルホスト毎に行う
# vi /etc/httpd/conf.d/ssl.conf
### <VirtualHost _default_:443> の上付近に追記
# OCSP Stapling, only in httpd 2.3.3 and later
SSLUseStapling on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache shmcb:/var/run/ocsp(128000)
#SSLProtocol all -SSLv2 -SSLv3
SSLProtocol all -SSLv3 -TLSv1
#SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
SSLCipherSuite HIGH:!aNULL:!MD5:!SEED:!IDEA:!RC4:!SHA1:!3DES
#SSLHonorCipherOrder on
SSLHonorCipherOrder on
# vi /etc/httpd/conf/sites/xxxxxxx.co.jp.conf
#SSLProtocol all -SSLv2 -SSLv3
SSLProtocol all -SSLv3 -TLSv1
#SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
SSLCipherSuite HIGH:!aNULL:!MD5:!SEED:!IDEA:!RC4:!SHA1:!3DES
#SSLHonorCipherOrder on
SSLHonorCipherOrder on
// 補足
SSLHonorCipherOrder on (// SSLダウングレード攻撃を防ぎます。)
SSLCompression off (default=off Available in httpd 2.4.3 and later, if using OpenSSL 0.9.8 or later; virtual host scope available if using OpenSSL 1.0.0 or later。default=offなので設定不要)
SSLSessionTickets off (default=on Available in httpd 2.4.11 and later, if using OpenSSL 0.9.8f or later. httpdのバージョン対応してない)
--- 設定確認 & 再起動
# apachectl configtest
Syntax OK
# systemctl restart httpd
# systemctl status httpd
--- 設定例
▼ サーバーが設定しているSSL暗号を確認したい時 - Qiita
http://qiita.com/ionis_h/items/277430a8807ee09c8b46
▼ Generate Mozilla Security Recommended Web Server Configuration Files
https://mozilla.github.io/server-side-tls/ssl-config-generator/
▼ mod_ssl - Apache HTTP Server Version 2.4
https://httpd.apache.org/docs/current/mod/mod_ssl.html#sslciphersuite
→ apache設定の SSLCipherSuite パラメータ説明
--- Modern
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
--- Intermediate
SSLProtocol all -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
--- Old
SSLProtocol all
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aDH:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!SRP
--- Qiita記事(http://qiita.com/ionis_h/items/277430a8807ee09c8b46)
SSLProtocol all -SSLv2 -SSLv3 -TLSv1
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
--- 設定値確認
# openssl ciphers -v 'HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA:!RC4:!SHA1:!3DES'
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=DSS Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
DHE-DSS-AES256-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AES(256) Mac=SHA256
ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(256) Mac=SHA384
ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256) Mac=SHA384
AES256-GCM-SHA384 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(256) Mac=AEAD
AES256-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA256
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD
ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256
ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA256
DHE-DSS-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256
DHE-DSS-AES128-SHA256 TLSv1.2 Kx=DH Au=DSS Enc=AES(128) Mac=SHA256
ECDH-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
ECDH-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
ECDH-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(128) Mac=SHA256
ECDH-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128) Mac=SHA256
AES128-GCM-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(128) Mac=AEAD
AES128-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA256
左から
・暗号スイートの名前 KRB5-RC4-MD5
・プロトコルのバージョン SSLv3
・鍵交換の方法 Kx=KRB5
・サーバ認証の方法 Au=KRB5
・暗号化の方法 Enc=RC4(128)
・HMAC のハッシュアルゴリズム Mac=MD5
--- 暗号化設定マニュアル
# man ciphers
--- SSL確認方法
▼ サーバーが設定しているSSL暗号を確認したい時 - Qiita
http://qiita.com/ionis_h/items/277430a8807ee09c8b46
入力待ちモードでなくても良いので、/dev/nullを投げています
指定したcipherが使えなかった場合は、「error」や「Cipher is (NONE)」等が出ていると思います
ローカルのopensslに依存するので、ローカルのopensslが使えないcipherは試せないです
# openssl s_client -connect example.com:443 -cipher ECDHE-RSA-AES128-GCM-SHA256 < /dev/null
--- OCSP Stapling確認
▼ Apache 2.4 OCSP Staplingを有効にする ← RootLinks Co., Ltd.
https://www.rootlinks.net/2016/02/07/apache-2-4-ocsp-stapling%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B/
// 入力待ちモードでなくても良いので、/dev/nullを投げています
# openssl s_client -connect localhost:443 -tls1_2 -status < /dev/null | head
--- 参考URL
▼ 私が愛した openssl (SSL/TLS 編) - してみむとて
http://d.hatena.ne.jp/blooper/20120910/1347285980
▼ UNIXの部屋 コマンド検索:openssl (*BSD/Linux)
http://x68000.q-e-d.net/~68user/unix/pickup?openssl
▼ mod_ssl - Apache HTTP Server Version 2.4
https://httpd.apache.org/docs/current/mod/mod_ssl.html#sslcompression
▼ SSL_TLS 暗号設定ガイドライン_IPA - C.2.2. OpenSSL 系での暗号スイートの設定例
https://www.ipa.go.jp/files/000045645.pdf
NC2のWYSIWYGでアップロード画像が自動的にリサイズされるサイズを変更するカスタマイズ
こんにちは、牟田口です。
NetCommons2で画像をアップロードすると、自動的にリサイズしてくれる機能があります。
隠れていているので、気づかない人も多いかと思います。
(アップロードの時だけ表示されるオプション「大きさ」。ウィジウィグの画像アイコン>詳細設定にあります)
この機能をカスタマイズする事で、リサイズされるサイズを指定したものにできます。
--- カスタマイズ後のイメージ
--- デフォルトを小にするカスタマイズ
html\webapp\modules\comp\templates\textarea\insert_image.html
<select size="1" name="resolution" id="resolution" title="<{$lang.insert_image_resolution_input}>">
<option value="normal"><{$lang.insert_image_resolution_size_normal}></option>
<option value="asis"><{$lang.insert_image_resolution_size_asis}></option>
<option value="large"><{$lang.insert_image_resolution_size_large}></option>
<option value="middle"><{$lang.insert_image_resolution_size_middle}></option>
<option value="small"><{$lang.insert_image_resolution_size_small}></option>
</select>
↓
↓ 変更
↓
<select size="1" name="resolution" id="resolution" title="<{$lang.insert_image_resolution_input}>">
<option value="small"><{$lang.insert_image_resolution_size_small}></option>
<option value="normal"><{$lang.insert_image_resolution_size_normal}></option>
<option value="asis"><{$lang.insert_image_resolution_size_asis}></option>
<option value="large"><{$lang.insert_image_resolution_size_large}></option>
<option value="middle"><{$lang.insert_image_resolution_size_middle}></option>
</select>
・編集後、モジュールの一括アップデートをすれば反映されます。
--- 標準、大、中、小はここでサイズ指定
html\webapp\config\global-config.ini
;-----------------画像最大アップロードサイズ-------------------------------
_UPLOAD_MAX_WIDTH_IMAGE = 1024
_UPLOAD_MAX_HEIGHT_IMAGE = 1280
; ↑↑↑これは標準サイズ;-----------------画像アップロード後解像度---------------------------------
_UPLOAD_RESOLUTION_IMAGE_MIDDLE_WIDTH = 640
_UPLOAD_RESOLUTION_IMAGE_MIDDLE_HEIGHT = 480
_UPLOAD_RESOLUTION_IMAGE_SMALL_WIDTH = 480
_UPLOAD_RESOLUTION_IMAGE_SMALL_HEIGHT = 360
; ↓
; ↓ 変更する
; ↓
_UPLOAD_RESOLUTION_IMAGE_MIDDLE_WIDTH = 480
_UPLOAD_RESOLUTION_IMAGE_MIDDLE_HEIGHT = 360
_UPLOAD_RESOLUTION_IMAGE_SMALL_WIDTH = 320
_UPLOAD_RESOLUTION_IMAGE_SMALL_HEIGHT = 240
変更後、即時反映です。
参考になれば幸いです。
IPAより「CMSを用いたウェブサイトにおける情報セキュリティ対策のポイント」公開
こんにちは。
オープンソース・ワークショップの牟田口です。
IPAより「CMSを用いたウェブサイトにおける情報セキュリティ対策のポイント」公開
独立行政法人情報処理推進機構(IPA)より「CMSを用いたウェブサイトにおける情報セキュリティ対策のポイント」のレポートが
2016年9月28日に公開されました。
https://www.ipa.go.jp/security/technicalwatch/20160928-1.html
CMSを運用する上で押さえておきたいポイントがまとまっています。
NetCommonsもCMSの1つですので、チェックしておきたいですね。
レポートの(P.22)チェックリストが参考になりそうです。
NC2の汎用DBで、絞り込み条件を選んでも出てこない場合の対応
こんにちは、牟田口です。
NetCommons2の汎用データベースで絞り込み条件を選んでも、データがあるのに表示されない事があります。
なんでか調査と、対応を調べました。
--- 対応方法
define("_MYSQL_FT_MIN_WORD_LEN", 4);
↓
define("_MYSQL_FT_MIN_WORD_LEN", 999);
--- 調査結果
絞り込み条件の文字が5文字以上の場合、MySQLの機能を使って全文検索対象(MATCH AGAINST)にしており、ある程度データがないと検索にひっかかりません。
https://github.com/netcommons/NetCommons2/blob/9ff513c811888ed75e300c2f99a8a1631ac75394/html/webapp/modules/multidatabase/components/View.class.php#L1340-L1341
この機能を無効にすることで、表示されるようになります。
ではでは。
NetCommons3で表示をちょこっといじるなら、cakephpのビューのオーバーライドが便利
こんにちは、牟田口です。
NetCommons3で表示をちょこっといじりたい時ってありますよね。
NetCommons3はオープンソースのCMSで、phpフレームワークにcakephp2系を使っています。
そのため、cakephpの機能でプラグインビューのオーバーライドが利用できます。
これを利用すると、コアのソースを修正せずにカスタマイズを行う事ができるので、バージョンアップ時の対応が
しやすくなります。
(注意:オーバーライドができるのはView(*.ctp)のみです。phpをカスタマイズする場合は、直接修正します)
--- オーバーライド例
--- 元ソース
- /var/www/html/app/Plugin/NetCommons/View/Elements/common_footer.ctp
- /var/www/html/app/Plugin/NetCommons/View/Elements/common_header.ctp
- → こっちはいじらない
--- オーバーライド
※ /var/www/html/app/View/ 配下に Plugin ディレクトリ作ると、オーバーライドできる
- /var/www/html/app/View/Plugin/NetCommons/Elements/common_footer.ctp
- /var/www/html/app/View/Plugin/NetCommons/Elements/common_header.ctp
- → 元ソースからコピーしていじる。
--- 参考リンク
▼ アプリケーション内でのプラグインビューのオーバーライド
http://book.cakephp.org/2.0/ja/plugins/how-to-create-plugins.html#id5
参考になれば幸いです。
ではでは。