SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
©2013 CMScom info@cmscom.jp
Ploneを使った大規模環境でのCMSソリューション
CMSコミュニケーションズ代表 / Advisory Board Member of Plone Foundation
寺田 学 terada@cmscom.jp / terada@plone.org
http://www.cmscom.jp
2013年8月7日
at Plone Talk 2013.08
オープンソースCMSを使った
大規模サイト構 築のノウハウをお伝えします
1 最初に
©2013 CMScom info@cmscom.jp
大規模エンタープライズ
CMS
とか言いますが・・・。
1 最初に
©2013 CMScom info@cmscom.jp
どこが?
どう使っている?
にお声たえしたいと思います。
1 最初に
©2013 CMScom info@cmscom.jp
本日のテーマは
システム構築のパターン説明、指針解説
コンテンツ編集・承認を多人数でするた
めの方策
などを、解説します。
自己紹介
©2013 CMScom info@cmscom.jp
•寺田 学 @terapyon
•Advisory Board Member of Plone Foundation
•一般社団法人PyCon JP 代表理事
•Ploneコアコミッター、Zopeコアコミッター
•(株)CMSコミュニケーションズ代表 http://www.cmscom.jp
•一橋大学大学院 社会学研究科 地球社会専攻 元客員准教授
•Plone/Zopeの専業Webシステム構築・コンサルティング
•大学や政府系サイトなどを手がけています
•独自にWeb検索システムの構築もしています
•書籍(共著)
2
2 書籍紹介
©2013 CMScom info@cmscom.jp
4 Book
多くのヒントが
書かれています
アジェンダ
©2013 CMScom info@cmscom.jp
•問題提起(大規模とは?)
•システム構成
•ユーザ認証、ワークフロー
•改ざんを防ぐ方策
•クラウド技術の活用
3 問題提起
©2013 CMScom info@cmscom.jp
•大規模って何をさすの?
•閲覧数がそれなりに多い
•ユーザ人数が多い
•データの量が多い
•情報の承認フローを持ちたい
•すぐにデータを反映
3 問題提起
©2013 CMScom info@cmscom.jp
•その他にも
•改ざんを防ぎたい
•ユーザごとに表示内容を変えたい
Plone (スタンドアローン)
1台の物理サーバ又はクラウドサーバ
4 システム構成
©2013 CMScom info@cmscom.jp
最小構成
管理者
管理用アクセス
パスワード必要
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
ZODB
(データベースサーバ)
閲覧者
閲覧者
4 システム構成
©2013 CMScom info@cmscom.jp
大規模構成 管理者
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
4 システム構成
©2013 CMScom info@cmscom.jp
よくある構成
管理者
管理用アクセス
パスワード必要
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
ZODB
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
4 システム構成
©2013 CMScom info@cmscom.jp
よくある構成
管理者
管理用アクセス
パスワード必要
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
ZODB
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Plone (ZEOインスタンス)
1台の物理サーバ又はクラウドサーバ
4 システム構成
©2013 CMScom info@cmscom.jp
よくある構成
管理者
管理用アクセス
パスワード必要
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
ZODB
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
1台の物理サーバ又はクラウドサーバ
1台の物理サーバ又はクラウドサーバ
Varnish (キャッシュサーバ)
4 システム構成
©2013 CMScom info@cmscom.jp
よくある構成
管理者
管理用アクセス
パスワード必要
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
ZODB
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
4 システム構成
©2013 CMScom info@cmscom.jp
大規模構成 管理者
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
4 システム構成
©2013 CMScom info@cmscom.jp
•Apache(Webサーバ)
•HTTPリクエストを受け取るフロント
サーバ
•Varnish(キャッシュサーバ)
•コンテンツのページキャッシュ
•HAProxy(ロードバランサ)
•セッション機能付きロードバランサ
4 システム構成
©2013 CMScom info@cmscom.jp
大規模構成 管理者
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
4 システム構成
©2013 CMScom info@cmscom.jp
•MySQL/PostgreSQL(データベース
サーバ)
•FileStorage(Data.fs)の代わりに、
RelStorageを使用し、RDBMSにコ
ンテンツを保存
•Memcached
•一時的なデータの保存
4 システム構成
©2013 CMScom info@cmscom.jp
大規模構成 管理者
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
4 システム構成
©2013 CMScom info@cmscom.jp
•外部SSO
•シングルサインオンシステムとの連携
•LDAP
•ユーザ情報の一元化
•人事データ等が別途管理されている場
合
4 システム構成
©2013 CMScom info@cmscom.jp
大規模構成 管理者
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
4 システム構成
©2013 CMScom info@cmscom.jp
•部分的に置き換えも可能
•Apache → nginx
•Varnish → Squid / Apache
•HAProxy → ロードバランサ
•MySQL → NEO
•LDAP → 独自認証システム
4 システム構成
©2013 CMScom info@cmscom.jp
•キャッシュサーバ
•画像/CSS/JavaScriptなどデータ
•動的データ
•キャッシュサーバのデータを更新
•Purgeしたい
4 システム構成
©2013 CMScom info@cmscom.jp
•実際問題どこまでやればいいの??
•最終的には実際に使い始めないとどう
なのかは分からないが・・。
4 システム構成
©2013 CMScom info@cmscom.jp
•その他ポイント
•zope.conf(buildout.cfg)出来ること
•検討項目は?
•単純に閲覧が多い?
•更新が多い?
•CPUコア数・メモリ量に応じた配分
4 システム構成+α
©2013 CMScom info@cmscom.jp
•他の対策は?
•ESIの活用
•CDN(アカマイ/CloudFrontなど)使用
•データベースの分割
•ハードウエアの増強
4 システム構成
©2013 CMScom info@cmscom.jp
•Plone 4以降
•以前のバージョンに比べ早い
•blob化 / Python2.6 or 2.7の活用
•テンプレートの見直し
4 システム構成
©2013 CMScom info@cmscom.jp
•ちなみに、SSL対応したければ、フロン
トに立ててあるApacheで対応するだけ
•アプリケーションサーバには、内部アク
セスとして、8080ポートなどで通信を
行うので、従来通りとする
4 システム構成
©2013 CMScom info@cmscom.jp
大規模構成 管理者
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
外部SSO
認証サーバ
4 システム構成(まとめ)
©2013 CMScom info@cmscom.jp
•実績のあるオープンソースアプリ活用
•Plone自体がコミュニティーで支援
•全世界のエンジニアで協力し問題点解決!!
5 ユーザ認証・ワークフロー
©2013 CMScom info@cmscom.jp
•Ploneにはユーザ認証の仕組みがある
•Ploneにはワークフローの仕組みがある
5 ユーザ認証
©2013 CMScom info@cmscom.jp
•LDAPなど既存のディレクトリシステム
との連携が可能
•SQL等の外部DB連携によるユーザ認証
も可能
•PAS(PluggableAuthService)と呼ば
れる、アドオンの仕組みがある
5 ユーザ認証
©2013 CMScom info@cmscom.jp
•SSO(シングルサインオン)の対応も可能
•多くの大学や組織が持っている、各種
システムとの連携が出来る
5 ユーザ認証
©2013 CMScom info@cmscom.jp
•ユーザ認証は何のために行う?
•コンテンツの編集作業
•公開承認作業
•システムの管理
•閲覧管理
•その他、何かの動作を許可する前提
5 ユーザ認証
©2013 CMScom info@cmscom.jp
•ログイン出来たら操作を許可?
•どのようにログインユーザと操作を結び
つけるのか?
5 ユーザ認証
©2013 CMScom info@cmscom.jp
•権限関係の関連キーワード
•ユーザ
•グループ
•ロール(役割)
•パーミッション(権限)
•上記の4つの組み合わせにより操作許可
5 ユーザ認証
©2013 CMScom info@cmscom.jp
パーミッションとロール
ユーザとロール
5 ユーザ認証
©2013 CMScom info@cmscom.jp
•権限関係の関連キーワード その2
•ローカルロール
•オブジェクト単位の共有設定
•上位継承
•ワークフローの状態(State)による条件
•複数のワークフロー
•コンテンツタイプごと/フォルダごと
5 ユーザ認証
©2013 CMScom info@cmscom.jp
共有設定
5 ユーザ認証
©2013 CMScom info@cmscom.jp
•操作許可までの動き
•ユーザはロールを持っている
•ロールに応じたパーミッションがマッ
ピングされ、操作の許可がされる
•共有設定で指定のオブジェクトにロー
ルが割り当てる
• 例えば編集の際のパーミッション(Modify Portal
Content)はEditorロールを持つユーザに許可
5 ユーザ認証
©2013 CMScom info@cmscom.jp
•その他
•複数の認証システムの組合せが可能
•IPアドレスによるユーザ認証も可能
5 ワークフロー
©2013 CMScom info@cmscom.jp
•デフォルトで複数のワークフローがある
•自由にカスタマイズが可能
•独自のワークフローの記述が出来る
•ZMI / XML / CSVなどで
•コンテンツタイプごとに使用するワーク
フローが選択できる
5 ワークフロー
©2013 CMScom info@cmscom.jp
2段階承認の例
非表示中
内部承認待ち
最終承認待ち
公開中
内部公開中
提出
内部公開
公開
承認
状態(State): コンテンツの状態を表す
遷移(Transition): ワークフローの遷移を表す
5 ワークフロー
©2013 CMScom info@cmscom.jp
•状態(State)は、コンテンツの状態を表す
•パーミッション(権限) - ロール(役割)の
マッピングを上書きし、閲覧権限や編
集権限などを状態によって変化させる
5 ワークフロー
©2013 CMScom info@cmscom.jp
2段階承認の例
非表示中
内部承認待ち
最終承認待ち
公開中
内部公開中
提出
内部公開
公開
承認
状態(State): コンテンツの状態を表す
遷移(Transition): ワークフローの遷移を表す
5 ワークフロー
©2013 CMScom info@cmscom.jp
•遷移(Transition)は、ワークフローの遷
移を表す
•別の状態(State)に遷移させるもの
•遷移の条件を以下の方法で決める
•パーミッション(権限)
•ロール(役割)
•スクリプト(条件を記載したPython)
5 ワークフロー
©2013 CMScom info@cmscom.jp
2段階承認の例
非表示中
内部承認待ち
最終承認待ち
公開中
内部公開中
提出
内部公開
公開
承認
状態(State): コンテンツの状態を表す
遷移(Transition): ワークフローの遷移を表す
5 ユーザ認証・ワークフロー(まとめ)
©2013 CMScom info@cmscom.jp
•状態(State)と遷移(Transition)を理解
すれば、ワークフローは作れる
•ユーザに操作を許可させるには、ユーザ
が持つロールを経由して行う
•認証と操作許可は完全に分離されている
6 改ざんを防ぐ方策
©2013 CMScom info@cmscom.jp
•ログインアカウントをきっちり管理
•定期的にパスワードを変更する
•認証を外部にまかせて、信頼を担保(SSO
など)
6 改ざんを防ぐ方策
©2013 CMScom info@cmscom.jp
•ログインさせない
•指定のIPアドレスからのみ接続許可
•データベースを読み取り専用(リードオン
リー)モードで使う
6 改ざんを防ぐ方策
©2013 CMScom info@cmscom.jp
大規模構成 管理者
Apache (Webサーバ)
Ploneコアシステム
(アプリケーションサーバ)
MySQL/PostgreSQL
(スレーブ)
(データベースサーバ)
閲覧者
閲覧者
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Apache (Webサーバ)(ログイン用)
Varnish (キャッシュサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Ploneコアシステム
(アプリケーションサーバ)
Varnish (キャッシュサーバ)
HAProxy (ロードバランサ)
MySQL/PostgreSQL
(マスター)
(データベースサーバ)
Memcached
(一時保存ファイル)
LDAP
(ユーザディレクトリ)
読み取り専用
ログインURL禁止 IP制限
7 クラウドサーバの活用
©2013 CMScom info@cmscom.jp
•IaaSと言われる、ほとんどのクラウド
サーバで運用可能
•アプリケーションサーバの増強には、ク
ラウド環境は手軽で簡単
•テスト・ステージングサーバを立ち上げ
るのがすぐに出来便利
7 クラウドサーバの活用
©2013 CMScom info@cmscom.jp
•PaaSでもPloneが動作する環境はある
•個々に癖があるので注意が必要
7 クラウドサーバの活用
©2013 CMScom info@cmscom.jp
•選定のポイント
•柔軟にアプリケーションサーバが増や
せるか?
•OSイメージでバックアップする方法が
あるか?
•課金体系は、使用するアプリケーショ
ンに合っているか?
8 Plone流
©2013 CMScom info@cmscom.jp
•Ploneには文化がある!!
•使う側、カスタマイズする側、管理側
に、この文化が適用出来れば最強!!
8 Plone流
©2013 CMScom info@cmscom.jp
•オープンソースの活用で、長期間メンテ
ナンスが可能なシステム構築を・・。
8 Plone流
©2013 CMScom info@cmscom.jp
10年以上進化をし続けている
Ploneに感謝!!
ご清澄ありがとうございました。

Mais conteúdo relacionado

Mais procurados

WordPressテーマ作成
WordPressテーマ作成WordPressテーマ作成
WordPressテーマ作成Takami Kazuya
 
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニックWordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニックTakashi Uemura
 
安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014Hiroshi Tokumaru
 
What's new! TwentyThirteen + WordPress3.6
What's new! TwentyThirteen + WordPress3.6What's new! TwentyThirteen + WordPress3.6
What's new! TwentyThirteen + WordPress3.6Takashi Uemura
 
WordPress基礎講座1 CMSの概要
WordPress基礎講座1 CMSの概要WordPress基礎講座1 CMSの概要
WordPress基礎講座1 CMSの概要Akinori Kawamitsu
 
メッセージキュー「Pulsar」の紹介 @JJUG_20170927
メッセージキュー「Pulsar」の紹介 @JJUG_20170927メッセージキュー「Pulsar」の紹介 @JJUG_20170927
メッセージキュー「Pulsar」の紹介 @JJUG_20170927Nozomi Kurihara
 
メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007Nozomi Kurihara
 
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!Takashi Uemura
 
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIHTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIYosuke HASEGAWA
 
Microsoft Azureを使ったバックアップの基礎
Microsoft Azureを使ったバックアップの基礎Microsoft Azureを使ったバックアップの基礎
Microsoft Azureを使ったバックアップの基礎Tetsuya Yokoyama
 
WPSCanによるWordPressの脆弱性スキャン
WPSCanによるWordPressの脆弱性スキャンWPSCanによるWordPressの脆弱性スキャン
WPSCanによるWordPressの脆弱性スキャンOWASP Nagoya
 
WordPress — テーマ構成について理解しよう
WordPress — テーマ構成について理解しようWordPress — テーマ構成について理解しよう
WordPress — テーマ構成について理解しようYusuke Hayasaki
 
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)OWASP Nagoya
 
VPS・専用・クラウドサーバを使う時に知っておきたいこと
VPS・専用・クラウドサーバを使う時に知っておきたいことVPS・専用・クラウドサーバを使う時に知っておきたいこと
VPS・専用・クラウドサーバを使う時に知っておきたいことKatz Ueno
 
Soft layerと運用管理の自動化・省力化あれこれ
Soft layerと運用管理の自動化・省力化あれこれSoft layerと運用管理の自動化・省力化あれこれ
Soft layerと運用管理の自動化・省力化あれこれNHN テコラス株式会社
 
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)OWASP Nagoya
 
Apacheチューニング
ApacheチューニングApacheチューニング
Apacheチューニングii012014
 

Mais procurados (20)

WordPressテーマ作成
WordPressテーマ作成WordPressテーマ作成
WordPressテーマ作成
 
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニックWordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
 
安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014
 
What's new! TwentyThirteen + WordPress3.6
What's new! TwentyThirteen + WordPress3.6What's new! TwentyThirteen + WordPress3.6
What's new! TwentyThirteen + WordPress3.6
 
WordPress基礎講座1 CMSの概要
WordPress基礎講座1 CMSの概要WordPress基礎講座1 CMSの概要
WordPress基礎講座1 CMSの概要
 
メッセージキュー「Pulsar」の紹介 @JJUG_20170927
メッセージキュー「Pulsar」の紹介 @JJUG_20170927メッセージキュー「Pulsar」の紹介 @JJUG_20170927
メッセージキュー「Pulsar」の紹介 @JJUG_20170927
 
PagodaBox
PagodaBoxPagodaBox
PagodaBox
 
メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007
 
20180123 power shell
20180123 power shell20180123 power shell
20180123 power shell
 
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
 
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIHTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
 
Microsoft Azureを使ったバックアップの基礎
Microsoft Azureを使ったバックアップの基礎Microsoft Azureを使ったバックアップの基礎
Microsoft Azureを使ったバックアップの基礎
 
Microsoft azure
Microsoft azureMicrosoft azure
Microsoft azure
 
WPSCanによるWordPressの脆弱性スキャン
WPSCanによるWordPressの脆弱性スキャンWPSCanによるWordPressの脆弱性スキャン
WPSCanによるWordPressの脆弱性スキャン
 
WordPress — テーマ構成について理解しよう
WordPress — テーマ構成について理解しようWordPress — テーマ構成について理解しよう
WordPress — テーマ構成について理解しよう
 
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
 
VPS・専用・クラウドサーバを使う時に知っておきたいこと
VPS・専用・クラウドサーバを使う時に知っておきたいことVPS・専用・クラウドサーバを使う時に知っておきたいこと
VPS・専用・クラウドサーバを使う時に知っておきたいこと
 
Soft layerと運用管理の自動化・省力化あれこれ
Soft layerと運用管理の自動化・省力化あれこれSoft layerと運用管理の自動化・省力化あれこれ
Soft layerと運用管理の自動化・省力化あれこれ
 
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
 
Apacheチューニング
ApacheチューニングApacheチューニング
Apacheチューニング
 

Destaque

Varnish 4 Release Party in Tokyo (terada)
Varnish 4 Release Party in Tokyo (terada)Varnish 4 Release Party in Tokyo (terada)
Varnish 4 Release Party in Tokyo (terada)Manabu Terada
 
Plone + AWS at Plone Symposium tokyo 2015
Plone + AWS at Plone Symposium tokyo 2015Plone + AWS at Plone Symposium tokyo 2015
Plone + AWS at Plone Symposium tokyo 2015Manabu Terada
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントMasaki NIWA
 
できる!Varnish ~もう一歩踏み出すためのTips~
できる!Varnish ~もう一歩踏み出すためのTips~できる!Varnish ~もう一歩踏み出すためのTips~
できる!Varnish ~もう一歩踏み出すためのTips~Iwana Chan
 
Amazon Machine Learning Tutorial
Amazon Machine Learning TutorialAmazon Machine Learning Tutorial
Amazon Machine Learning TutorialYoshimi Tominaga
 

Destaque (8)

Varnish 4 Release Party in Tokyo (terada)
Varnish 4 Release Party in Tokyo (terada)Varnish 4 Release Party in Tokyo (terada)
Varnish 4 Release Party in Tokyo (terada)
 
Plone + AWS at Plone Symposium tokyo 2015
Plone + AWS at Plone Symposium tokyo 2015Plone + AWS at Plone Symposium tokyo 2015
Plone + AWS at Plone Symposium tokyo 2015
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
 
Zodb
ZodbZodb
Zodb
 
できる!Varnish ~もう一歩踏み出すためのTips~
できる!Varnish ~もう一歩踏み出すためのTips~できる!Varnish ~もう一歩踏み出すためのTips~
できる!Varnish ~もう一歩踏み出すためのTips~
 
How to create PyCon JP
How to create PyCon JPHow to create PyCon JP
How to create PyCon JP
 
Jekyll de blog
Jekyll de blogJekyll de blog
Jekyll de blog
 
Amazon Machine Learning Tutorial
Amazon Machine Learning TutorialAmazon Machine Learning Tutorial
Amazon Machine Learning Tutorial
 

Semelhante a Plone talk 201308_terada

AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1近藤 繁延
 
12 総合演習Word Pressの利用
12 総合演習Word Pressの利用12 総合演習Word Pressの利用
12 総合演習Word Pressの利用文樹 高橋
 
World Plone Day 2012 Tokyo about my-handai
World Plone Day 2012 Tokyo about my-handaiWorld Plone Day 2012 Tokyo about my-handai
World Plone Day 2012 Tokyo about my-handaiManabu Terada
 
SugarCRM meets FreeHosting
SugarCRM meets FreeHostingSugarCRM meets FreeHosting
SugarCRM meets FreeHostingToshiya TSURU
 
WebMatrix 夏休み特番 & 勉強会
WebMatrix 夏休み特番 & 勉強会WebMatrix 夏休み特番 & 勉強会
WebMatrix 夏休み特番 & 勉強会masakit555
 
徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティHiroshi Tokumaru
 
マルチサイトの構築
マルチサイトの構築マルチサイトの構築
マルチサイトの構築Yoshitaka KATO
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
Web Site Optimization for Beginners
Web Site Optimization for BeginnersWeb Site Optimization for Beginners
Web Site Optimization for Beginnersmasaaki komori
 
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜gree_tech
 
JAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
JAWS-UG Santo 2014-07-05 Drupal on PaaS CloudJAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
JAWS-UG Santo 2014-07-05 Drupal on PaaS CloudANNAI_LLC
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイントKentaro Matsui
 
Cake php×国産!オープンソースcms「basercms」が熱い!
Cake php×国産!オープンソースcms「basercms」が熱い!Cake php×国産!オープンソースcms「basercms」が熱い!
Cake php×国産!オープンソースcms「basercms」が熱い!Ryuji Egashira
 
20140908 Movable Type Seminar
20140908 Movable Type Seminar20140908 Movable Type Seminar
20140908 Movable Type SeminarSix Apart
 
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo820121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8Hirokazu Ouchi
 
20141101 handson
20141101 handson20141101 handson
20141101 handsonSix Apart
 
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminarSix Apart
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」ericsagnes
 
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティングMTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング純生 野田
 

Semelhante a Plone talk 201308_terada (20)

AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
 
12 総合演習Word Pressの利用
12 総合演習Word Pressの利用12 総合演習Word Pressの利用
12 総合演習Word Pressの利用
 
World Plone Day 2012 Tokyo about my-handai
World Plone Day 2012 Tokyo about my-handaiWorld Plone Day 2012 Tokyo about my-handai
World Plone Day 2012 Tokyo about my-handai
 
SugarCRM meets FreeHosting
SugarCRM meets FreeHostingSugarCRM meets FreeHosting
SugarCRM meets FreeHosting
 
WebMatrix 夏休み特番 & 勉強会
WebMatrix 夏休み特番 & 勉強会WebMatrix 夏休み特番 & 勉強会
WebMatrix 夏休み特番 & 勉強会
 
徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ
 
マルチサイトの構築
マルチサイトの構築マルチサイトの構築
マルチサイトの構築
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
Web Site Optimization for Beginners
Web Site Optimization for BeginnersWeb Site Optimization for Beginners
Web Site Optimization for Beginners
 
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
 
JAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
JAWS-UG Santo 2014-07-05 Drupal on PaaS CloudJAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
JAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
Data Lake ハンズオン
Data Lake ハンズオンData Lake ハンズオン
Data Lake ハンズオン
 
Cake php×国産!オープンソースcms「basercms」が熱い!
Cake php×国産!オープンソースcms「basercms」が熱い!Cake php×国産!オープンソースcms「basercms」が熱い!
Cake php×国産!オープンソースcms「basercms」が熱い!
 
20140908 Movable Type Seminar
20140908 Movable Type Seminar20140908 Movable Type Seminar
20140908 Movable Type Seminar
 
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo820121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8
 
20141101 handson
20141101 handson20141101 handson
20141101 handson
 
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
 
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティングMTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
 

Mais de Manabu Terada

SI業界の営業の役割と存在意義を一緒に考えよう
SI業界の営業の役割と存在意義を一緒に考えようSI業界の営業の役割と存在意義を一緒に考えよう
SI業界の営業の役割と存在意義を一緒に考えようManabu Terada
 
私とコミュニティとPython
私とコミュニティとPython私とコミュニティとPython
私とコミュニティとPythonManabu Terada
 
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fallPlone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fallManabu Terada
 
Osc2015 Tokyo Spring Plone by terada
Osc2015 Tokyo Spring Plone by teradaOsc2015 Tokyo Spring Plone by terada
Osc2015 Tokyo Spring Plone by teradaManabu Terada
 
Plone conf 2014report by terada
Plone conf 2014report by teradaPlone conf 2014report by terada
Plone conf 2014report by teradaManabu Terada
 
PloneConf 2014 CDN terada
PloneConf 2014 CDN teradaPloneConf 2014 CDN terada
PloneConf 2014 CDN teradaManabu Terada
 
Planning plone Symposium Tokyo 2015
Planning plone Symposium Tokyo 2015Planning plone Symposium Tokyo 2015
Planning plone Symposium Tokyo 2015Manabu Terada
 
OSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_teradaOSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_teradaManabu Terada
 
PyCon JP 2014 plone terada
PyCon JP 2014 plone teradaPyCon JP 2014 plone terada
PyCon JP 2014 plone teradaManabu Terada
 
Ja sakai conf 2014 edx by Manabu TERADA
Ja sakai conf 2014 edx by Manabu TERADAJa sakai conf 2014 edx by Manabu TERADA
Ja sakai conf 2014 edx by Manabu TERADAManabu Terada
 
Fuzzy search on plone & search for east asian language
Fuzzy search on plone & search for east asian languageFuzzy search on plone & search for east asian language
Fuzzy search on plone & search for east asian languageManabu Terada
 
Reporting of PyCon APAC at ploneconf / PyCon BR
Reporting of  PyCon APAC at ploneconf / PyCon BRReporting of  PyCon APAC at ploneconf / PyCon BR
Reporting of PyCon APAC at ploneconf / PyCon BRManabu Terada
 
PyCon asiapacific 2013 bengkeat
PyCon asiapacific 2013 bengkeatPyCon asiapacific 2013 bengkeat
PyCon asiapacific 2013 bengkeatManabu Terada
 
PyCon APAC session Frontpage for iqbal
PyCon APAC session Frontpage for iqbalPyCon APAC session Frontpage for iqbal
PyCon APAC session Frontpage for iqbalManabu Terada
 
PyCon APAC 2013 Apac session terada
PyCon APAC 2013 Apac session teradaPyCon APAC 2013 Apac session terada
PyCon APAC 2013 Apac session teradaManabu Terada
 
グリーンコンサート視察報告 (寺田)
グリーンコンサート視察報告 (寺田)グリーンコンサート視察報告 (寺田)
グリーンコンサート視察報告 (寺田)Manabu Terada
 
World Plone Day 2013 Tokyo, new version of Plone
World Plone Day 2013 Tokyo, new version of PloneWorld Plone Day 2013 Tokyo, new version of Plone
World Plone Day 2013 Tokyo, new version of PloneManabu Terada
 
Ocs2013 tokyo spring_plone
Ocs2013 tokyo spring_ploneOcs2013 tokyo spring_plone
Ocs2013 tokyo spring_ploneManabu Terada
 

Mais de Manabu Terada (20)

SI業界の営業の役割と存在意義を一緒に考えよう
SI業界の営業の役割と存在意義を一緒に考えようSI業界の営業の役割と存在意義を一緒に考えよう
SI業界の営業の役割と存在意義を一緒に考えよう
 
私とコミュニティとPython
私とコミュニティとPython私とコミュニティとPython
私とコミュニティとPython
 
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fallPlone 5 & アクセシビリティ at OSC 2015 Tokyo fall
Plone 5 & アクセシビリティ at OSC 2015 Tokyo fall
 
Osc2015 Tokyo Spring Plone by terada
Osc2015 Tokyo Spring Plone by teradaOsc2015 Tokyo Spring Plone by terada
Osc2015 Tokyo Spring Plone by terada
 
Plone conf 2014report by terada
Plone conf 2014report by teradaPlone conf 2014report by terada
Plone conf 2014report by terada
 
PloneConf 2014 CDN terada
PloneConf 2014 CDN teradaPloneConf 2014 CDN terada
PloneConf 2014 CDN terada
 
Planning plone Symposium Tokyo 2015
Planning plone Symposium Tokyo 2015Planning plone Symposium Tokyo 2015
Planning plone Symposium Tokyo 2015
 
OSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_teradaOSC 2014 Tokyo fall plone_terada
OSC 2014 Tokyo fall plone_terada
 
PyCon JP 2014 plone terada
PyCon JP 2014 plone teradaPyCon JP 2014 plone terada
PyCon JP 2014 plone terada
 
WPD tokyo opening
WPD tokyo openingWPD tokyo opening
WPD tokyo opening
 
Ja sakai conf 2014 edx by Manabu TERADA
Ja sakai conf 2014 edx by Manabu TERADAJa sakai conf 2014 edx by Manabu TERADA
Ja sakai conf 2014 edx by Manabu TERADA
 
Fuzzy search on plone & search for east asian language
Fuzzy search on plone & search for east asian languageFuzzy search on plone & search for east asian language
Fuzzy search on plone & search for east asian language
 
Reporting of PyCon APAC at ploneconf / PyCon BR
Reporting of  PyCon APAC at ploneconf / PyCon BRReporting of  PyCon APAC at ploneconf / PyCon BR
Reporting of PyCon APAC at ploneconf / PyCon BR
 
PyCon asiapacific 2013 bengkeat
PyCon asiapacific 2013 bengkeatPyCon asiapacific 2013 bengkeat
PyCon asiapacific 2013 bengkeat
 
PyCon APAC session Frontpage for iqbal
PyCon APAC session Frontpage for iqbalPyCon APAC session Frontpage for iqbal
PyCon APAC session Frontpage for iqbal
 
Pyconapac2014taiwan
Pyconapac2014taiwanPyconapac2014taiwan
Pyconapac2014taiwan
 
PyCon APAC 2013 Apac session terada
PyCon APAC 2013 Apac session teradaPyCon APAC 2013 Apac session terada
PyCon APAC 2013 Apac session terada
 
グリーンコンサート視察報告 (寺田)
グリーンコンサート視察報告 (寺田)グリーンコンサート視察報告 (寺田)
グリーンコンサート視察報告 (寺田)
 
World Plone Day 2013 Tokyo, new version of Plone
World Plone Day 2013 Tokyo, new version of PloneWorld Plone Day 2013 Tokyo, new version of Plone
World Plone Day 2013 Tokyo, new version of Plone
 
Ocs2013 tokyo spring_plone
Ocs2013 tokyo spring_ploneOcs2013 tokyo spring_plone
Ocs2013 tokyo spring_plone
 

Plone talk 201308_terada

  • 1. ©2013 CMScom info@cmscom.jp Ploneを使った大規模環境でのCMSソリューション CMSコミュニケーションズ代表 / Advisory Board Member of Plone Foundation 寺田 学 terada@cmscom.jp / terada@plone.org http://www.cmscom.jp 2013年8月7日 at Plone Talk 2013.08 オープンソースCMSを使った 大規模サイト構 築のノウハウをお伝えします
  • 2. 1 最初に ©2013 CMScom info@cmscom.jp 大規模エンタープライズ CMS とか言いますが・・・。
  • 3. 1 最初に ©2013 CMScom info@cmscom.jp どこが? どう使っている? にお声たえしたいと思います。
  • 4. 1 最初に ©2013 CMScom info@cmscom.jp 本日のテーマは システム構築のパターン説明、指針解説 コンテンツ編集・承認を多人数でするた めの方策 などを、解説します。
  • 5. 自己紹介 ©2013 CMScom info@cmscom.jp •寺田 学 @terapyon •Advisory Board Member of Plone Foundation •一般社団法人PyCon JP 代表理事 •Ploneコアコミッター、Zopeコアコミッター •(株)CMSコミュニケーションズ代表 http://www.cmscom.jp •一橋大学大学院 社会学研究科 地球社会専攻 元客員准教授 •Plone/Zopeの専業Webシステム構築・コンサルティング •大学や政府系サイトなどを手がけています •独自にWeb検索システムの構築もしています •書籍(共著) 2
  • 6. 2 書籍紹介 ©2013 CMScom info@cmscom.jp 4 Book 多くのヒントが 書かれています
  • 8. 3 問題提起 ©2013 CMScom info@cmscom.jp •大規模って何をさすの? •閲覧数がそれなりに多い •ユーザ人数が多い •データの量が多い •情報の承認フローを持ちたい •すぐにデータを反映
  • 9. 3 問題提起 ©2013 CMScom info@cmscom.jp •その他にも •改ざんを防ぎたい •ユーザごとに表示内容を変えたい
  • 10. Plone (スタンドアローン) 1台の物理サーバ又はクラウドサーバ 4 システム構成 ©2013 CMScom info@cmscom.jp 最小構成 管理者 管理用アクセス パスワード必要 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) ZODB (データベースサーバ) 閲覧者 閲覧者
  • 11. 4 システム構成 ©2013 CMScom info@cmscom.jp 大規模構成 管理者 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ
  • 12. 4 システム構成 ©2013 CMScom info@cmscom.jp よくある構成 管理者 管理用アクセス パスワード必要 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) ZODB (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ)
  • 13. 4 システム構成 ©2013 CMScom info@cmscom.jp よくある構成 管理者 管理用アクセス パスワード必要 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) ZODB (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Plone (ZEOインスタンス)
  • 14. 1台の物理サーバ又はクラウドサーバ 4 システム構成 ©2013 CMScom info@cmscom.jp よくある構成 管理者 管理用アクセス パスワード必要 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) ZODB (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) 1台の物理サーバ又はクラウドサーバ 1台の物理サーバ又はクラウドサーバ Varnish (キャッシュサーバ)
  • 15. 4 システム構成 ©2013 CMScom info@cmscom.jp よくある構成 管理者 管理用アクセス パスワード必要 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) ZODB (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ)
  • 16. 4 システム構成 ©2013 CMScom info@cmscom.jp 大規模構成 管理者 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ
  • 17. 4 システム構成 ©2013 CMScom info@cmscom.jp •Apache(Webサーバ) •HTTPリクエストを受け取るフロント サーバ •Varnish(キャッシュサーバ) •コンテンツのページキャッシュ •HAProxy(ロードバランサ) •セッション機能付きロードバランサ
  • 18. 4 システム構成 ©2013 CMScom info@cmscom.jp 大規模構成 管理者 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ
  • 19. 4 システム構成 ©2013 CMScom info@cmscom.jp •MySQL/PostgreSQL(データベース サーバ) •FileStorage(Data.fs)の代わりに、 RelStorageを使用し、RDBMSにコ ンテンツを保存 •Memcached •一時的なデータの保存
  • 20. 4 システム構成 ©2013 CMScom info@cmscom.jp 大規模構成 管理者 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ
  • 21. 4 システム構成 ©2013 CMScom info@cmscom.jp •外部SSO •シングルサインオンシステムとの連携 •LDAP •ユーザ情報の一元化 •人事データ等が別途管理されている場 合
  • 22. 4 システム構成 ©2013 CMScom info@cmscom.jp 大規模構成 管理者 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ
  • 23. 4 システム構成 ©2013 CMScom info@cmscom.jp •部分的に置き換えも可能 •Apache → nginx •Varnish → Squid / Apache •HAProxy → ロードバランサ •MySQL → NEO •LDAP → 独自認証システム
  • 24. 4 システム構成 ©2013 CMScom info@cmscom.jp •キャッシュサーバ •画像/CSS/JavaScriptなどデータ •動的データ •キャッシュサーバのデータを更新 •Purgeしたい
  • 25. 4 システム構成 ©2013 CMScom info@cmscom.jp •実際問題どこまでやればいいの?? •最終的には実際に使い始めないとどう なのかは分からないが・・。
  • 26. 4 システム構成 ©2013 CMScom info@cmscom.jp •その他ポイント •zope.conf(buildout.cfg)出来ること •検討項目は? •単純に閲覧が多い? •更新が多い? •CPUコア数・メモリ量に応じた配分
  • 27. 4 システム構成+α ©2013 CMScom info@cmscom.jp •他の対策は? •ESIの活用 •CDN(アカマイ/CloudFrontなど)使用 •データベースの分割 •ハードウエアの増強
  • 28. 4 システム構成 ©2013 CMScom info@cmscom.jp •Plone 4以降 •以前のバージョンに比べ早い •blob化 / Python2.6 or 2.7の活用 •テンプレートの見直し
  • 29. 4 システム構成 ©2013 CMScom info@cmscom.jp •ちなみに、SSL対応したければ、フロン トに立ててあるApacheで対応するだけ •アプリケーションサーバには、内部アク セスとして、8080ポートなどで通信を 行うので、従来通りとする
  • 30. 4 システム構成 ©2013 CMScom info@cmscom.jp 大規模構成 管理者 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 外部SSO 認証サーバ
  • 31. 4 システム構成(まとめ) ©2013 CMScom info@cmscom.jp •実績のあるオープンソースアプリ活用 •Plone自体がコミュニティーで支援 •全世界のエンジニアで協力し問題点解決!!
  • 32. 5 ユーザ認証・ワークフロー ©2013 CMScom info@cmscom.jp •Ploneにはユーザ認証の仕組みがある •Ploneにはワークフローの仕組みがある
  • 33. 5 ユーザ認証 ©2013 CMScom info@cmscom.jp •LDAPなど既存のディレクトリシステム との連携が可能 •SQL等の外部DB連携によるユーザ認証 も可能 •PAS(PluggableAuthService)と呼ば れる、アドオンの仕組みがある
  • 34. 5 ユーザ認証 ©2013 CMScom info@cmscom.jp •SSO(シングルサインオン)の対応も可能 •多くの大学や組織が持っている、各種 システムとの連携が出来る
  • 35. 5 ユーザ認証 ©2013 CMScom info@cmscom.jp •ユーザ認証は何のために行う? •コンテンツの編集作業 •公開承認作業 •システムの管理 •閲覧管理 •その他、何かの動作を許可する前提
  • 36. 5 ユーザ認証 ©2013 CMScom info@cmscom.jp •ログイン出来たら操作を許可? •どのようにログインユーザと操作を結び つけるのか?
  • 37. 5 ユーザ認証 ©2013 CMScom info@cmscom.jp •権限関係の関連キーワード •ユーザ •グループ •ロール(役割) •パーミッション(権限) •上記の4つの組み合わせにより操作許可
  • 38. 5 ユーザ認証 ©2013 CMScom info@cmscom.jp パーミッションとロール ユーザとロール
  • 39. 5 ユーザ認証 ©2013 CMScom info@cmscom.jp •権限関係の関連キーワード その2 •ローカルロール •オブジェクト単位の共有設定 •上位継承 •ワークフローの状態(State)による条件 •複数のワークフロー •コンテンツタイプごと/フォルダごと
  • 40. 5 ユーザ認証 ©2013 CMScom info@cmscom.jp 共有設定
  • 41. 5 ユーザ認証 ©2013 CMScom info@cmscom.jp •操作許可までの動き •ユーザはロールを持っている •ロールに応じたパーミッションがマッ ピングされ、操作の許可がされる •共有設定で指定のオブジェクトにロー ルが割り当てる • 例えば編集の際のパーミッション(Modify Portal Content)はEditorロールを持つユーザに許可
  • 42. 5 ユーザ認証 ©2013 CMScom info@cmscom.jp •その他 •複数の認証システムの組合せが可能 •IPアドレスによるユーザ認証も可能
  • 43. 5 ワークフロー ©2013 CMScom info@cmscom.jp •デフォルトで複数のワークフローがある •自由にカスタマイズが可能 •独自のワークフローの記述が出来る •ZMI / XML / CSVなどで •コンテンツタイプごとに使用するワーク フローが選択できる
  • 44. 5 ワークフロー ©2013 CMScom info@cmscom.jp 2段階承認の例 非表示中 内部承認待ち 最終承認待ち 公開中 内部公開中 提出 内部公開 公開 承認 状態(State): コンテンツの状態を表す 遷移(Transition): ワークフローの遷移を表す
  • 45. 5 ワークフロー ©2013 CMScom info@cmscom.jp •状態(State)は、コンテンツの状態を表す •パーミッション(権限) - ロール(役割)の マッピングを上書きし、閲覧権限や編 集権限などを状態によって変化させる
  • 46. 5 ワークフロー ©2013 CMScom info@cmscom.jp 2段階承認の例 非表示中 内部承認待ち 最終承認待ち 公開中 内部公開中 提出 内部公開 公開 承認 状態(State): コンテンツの状態を表す 遷移(Transition): ワークフローの遷移を表す
  • 47. 5 ワークフロー ©2013 CMScom info@cmscom.jp •遷移(Transition)は、ワークフローの遷 移を表す •別の状態(State)に遷移させるもの •遷移の条件を以下の方法で決める •パーミッション(権限) •ロール(役割) •スクリプト(条件を記載したPython)
  • 48. 5 ワークフロー ©2013 CMScom info@cmscom.jp 2段階承認の例 非表示中 内部承認待ち 最終承認待ち 公開中 内部公開中 提出 内部公開 公開 承認 状態(State): コンテンツの状態を表す 遷移(Transition): ワークフローの遷移を表す
  • 49. 5 ユーザ認証・ワークフロー(まとめ) ©2013 CMScom info@cmscom.jp •状態(State)と遷移(Transition)を理解 すれば、ワークフローは作れる •ユーザに操作を許可させるには、ユーザ が持つロールを経由して行う •認証と操作許可は完全に分離されている
  • 50. 6 改ざんを防ぐ方策 ©2013 CMScom info@cmscom.jp •ログインアカウントをきっちり管理 •定期的にパスワードを変更する •認証を外部にまかせて、信頼を担保(SSO など)
  • 51. 6 改ざんを防ぐ方策 ©2013 CMScom info@cmscom.jp •ログインさせない •指定のIPアドレスからのみ接続許可 •データベースを読み取り専用(リードオン リー)モードで使う
  • 52. 6 改ざんを防ぐ方策 ©2013 CMScom info@cmscom.jp 大規模構成 管理者 Apache (Webサーバ) Ploneコアシステム (アプリケーションサーバ) MySQL/PostgreSQL (スレーブ) (データベースサーバ) 閲覧者 閲覧者 Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Apache (Webサーバ)(ログイン用) Varnish (キャッシュサーバ) Ploneコアシステム (アプリケーションサーバ) Ploneコアシステム (アプリケーションサーバ) Varnish (キャッシュサーバ) HAProxy (ロードバランサ) MySQL/PostgreSQL (マスター) (データベースサーバ) Memcached (一時保存ファイル) LDAP (ユーザディレクトリ) 読み取り専用 ログインURL禁止 IP制限
  • 53. 7 クラウドサーバの活用 ©2013 CMScom info@cmscom.jp •IaaSと言われる、ほとんどのクラウド サーバで運用可能 •アプリケーションサーバの増強には、ク ラウド環境は手軽で簡単 •テスト・ステージングサーバを立ち上げ るのがすぐに出来便利
  • 54. 7 クラウドサーバの活用 ©2013 CMScom info@cmscom.jp •PaaSでもPloneが動作する環境はある •個々に癖があるので注意が必要
  • 55. 7 クラウドサーバの活用 ©2013 CMScom info@cmscom.jp •選定のポイント •柔軟にアプリケーションサーバが増や せるか? •OSイメージでバックアップする方法が あるか? •課金体系は、使用するアプリケーショ ンに合っているか?
  • 56. 8 Plone流 ©2013 CMScom info@cmscom.jp •Ploneには文化がある!! •使う側、カスタマイズする側、管理側 に、この文化が適用出来れば最強!!
  • 57. 8 Plone流 ©2013 CMScom info@cmscom.jp •オープンソースの活用で、長期間メンテ ナンスが可能なシステム構築を・・。
  • 58. 8 Plone流 ©2013 CMScom info@cmscom.jp 10年以上進化をし続けている Ploneに感謝!! ご清澄ありがとうございました。