社長BLOG
OPVC02:OpenPNE3をインストールする
- 2010-12-02 (木)
- 社長BLOG
※CentOS5.6 6.0リリースに伴い内容をアップデート中です。
変更点は
・CentOS5.6に
・php => php53 に変更
・php-mcryptがなくなる
などです。
2日目はOpenPNE3のスタンドアロン版のインストールを行います。
企業のネットワーク環境によっては、外部に接続できない環境でサーバを運用しなければならないケースがあります。一方、OpenPNE3は標準ではネットワークを介してしかインストールを行うことができません。OpenPNE3スタンドアロン版は、OpenPNE3の動作に必要な最小限のプラグインをパッケージ化したものです。さらにSQLiteでも動作するようにしてあるので、データベースサーバのセットアップも不要です。
なお、環境が揃っていれば、正式版のOpenPNEの導入をおすすめします。
※OpenPNE3スタンドアロン版は現在テクノロジープレビュー版として公開中です。人気が出れば正式に今後のOpenPNE3に組み込む予定です。ぜひ@tejimaまでフィードバックを下さい。
OpenPNEはPHPとMySQLで動作するように設計されており、PHPはVer5.2以上、MySQLはVer4.1以上で動作します。
サーバOS、ミドルウエアの準備
OpenPNEを動作させるために、まずサーバを調達します。組織の運営ポリシーや技術レベルに応じて、以下の中から選択します。
1:外部のホスティングサービス上でのインストール
2:社内サーバでのインストール(Redhat CentOS)
3:社内サーバでのインストール(Windows+IIS)
1:は公式サイトの情報を参照してください。スキップします。
3:はマイクロソフトが提供しているWebPIというサービスで供給予定(Ver2版は2010年内 Ver3版は2011年2月ごろ)なので、そちらを利用してください。
本章では2:について解説します。
スペック
CPU:Core2程度
RAM:2GB程度
HDD:20GB以上の空き容量
本章ではOSにはCentOS5.7を利用します。サイトからダウンロードし、CDを焼いておいてください。
・ネットインストール
・最小構成
上記でインストールします。(さくらのVPSなど専用レンタルサーバを利用すると、たいてい最小構成になっています。)
CentOSがインストールされたら、続いてミドルウエアのインストールです。
ミドルウエアパッケージのインストール
OpenPNE3.6の動作に必要なミドルウエアを入れていきます。
・Apache PHP関連
httpd httpd- ** php php-**のパッケージ群です。
・MySQL関連
mysql-server
・Sendmail Postfix関連
postfix
・ライブラリ、ツール関連
aspell curl gmp libxslt wget などです。
sudo yum update
sudo yum -y install httpd mysql-server postfix aspell curl gmp libxslt wget httpd-devel php53 php53-cli php53-devel php53-pear php53-mbstring php53-pdo php53-mysql php53-gd php53-mcrypt php53-xml
sudo yum -y remove sendmail
このコマンドで、OpenPNE3.6の動作に必要なミドルウエアパッケージは一度にすべて入手できます。
OpenPNE3.6の設置
OpenPNE3.6はOS上に図のように配置します。
OpenPNEの本体を設置する場所
Apacheから参照する場所
実体を/home/admin/OpenPNEに設置し、シンボリックリンクを張ってApacheから参照できるようにするところがポイントです。バージョンアップやサイトメンテナンスがやりやすいので、おすすめします。
設置手順
adminユーザーを作成
/home/adminのディレクトリパーミッションは755に。
※これをやらないと Apacheサーバからアクセスできず、403エラーが出ます。
chmod 755 /home/admin
ここ(/home/admin/OpenPNE/xxx.com)にOpenPNEの本体を設置していきます。
/var/www/snsにApache側から見たSNSの置き場所を作成します。
ディレクトリの所有者をadminにしているのは、設置のしやすさを考えて。
パッケージのダウンロードと展開
https://github.com/tejima/OP3express/zipball/OpenPNE3-mini-TP1
上記サイトからダウンロードし、運用サーバに展開する。
インストールコマンドの実行
OpenPNE.ymlやProjectConfiguration.class.phpもあらかじめセットしてあるので、インストールコマンドを叩くだけ。
symfony openpne:install –standalone –sqlite
Apacheの設定
VirtualHostを設定して再起動。
<VirtualHost *:80>
DocumentRoot "/var/www/sns/SITENAME/web"
ServerName SITENAME
<Directory "/var/www/sns/SITENAME/web">
allowoverride all
</Directory>
</VirtualHost>
AllowOveride を有効にしておくことがポイント。OpenPNEがmod_rewrite .htaccessで利用する。
シンボリックリンクをはる
実体を設置している/home/admin/OpenPNEとApacheから参照される/var/www/sns/をつなぐ。
設置完了!
以上でOpenPNE3.6スタンドアロン SQLite版のインストールが完了しました。
明日はAPCを導入してOpenPNE3の動作を軽快にする。です。
OPVC01:OpenPNE上に会社をつくる
- 2010-12-01 (水)
- 社長BLOG
1日目 OpenPNE上に会社をつくる
これは、OpenPNEでOPVCというソフトウエアをつくり、ネットワーク上のバーチャルなオフィスで会社を運営することを目的としています。2010/12/01から2010/12/24までの24日、一日一章ずつ、ドキュメントを公開していきます。
OpenPNEについて
OpenPNEはネット上にバーチャルな組織を作り出すための、オープンソースのソフトウエアです。
この世の中には数多くの組織がありますが、それぞれ組織の形、参加者、活動内容、目的が異なります。OpenPNEはこうしたこの世のあらゆる組織が、OpenPNEというバーチャルな空間に参加し、活動できるようにすることを目的としたソフトウエアです。
OpenPNEがあればオフィスはいらない
「OpenPNE上に会社を作る」とは、OpenPNEとその拡張機能を用いて、会社そのものの機能すべてを、OpesPNE上に全てバーチャル化することです。
オフィスには、メンバーが一同に集まるスペースがあり、仕事をアシストしてくれる事務スタッフがいて、電話があり、プリンターやスキャナ、ホワイトボードなどの設備があります。
また、そこでは会議をしたり、共同で作業をしたり、お客さまと打ち合わせをしたり、たまにはみんなで飲みに行ったりと、組織の活動が行われています。
一方で現実のオフィスには、面倒なこともあります。毎日通勤しなければならず、それには時間がかかり、ストレスがたまります。便利なところに広いオフィスを構えるには、たくさんのお金が必要です。電話がうるさく鳴り響いたり、部屋が寒かったり(暑かったり)して、集中できません。
もしもOpenPNEというバーチャル空間上に会社を作り、そこで会社としての全活動ができるとしたら?
このチャレンジが、本アドベントカレンダーの目的です。
OPVC
OPVCはOpenPNE Virtual Companyの略で、OpenPNE3.6とバーチャルカンパニーを実現するための追加のプラグインをまとめたものです。OPVCを実際につくりながら、OpenPNEの各機能やOpenPNEを使ってどのように組織を運営していくかを学べるようにしていきます。
明日はOpenPNE3.6のセットアップ
2日目以降に、バーチャルカンパニーの各部品を作っていきます。
明日はOpenPNE3.6のセットアップを解説します。
OPVC目次
OpenPNE3最速インストール版完成(SQLite)
- 2010-11-27 (土)
- 社長BLOG
これもテクノロジープレビューとしてリリースする。
OpenPNE3では正式にサポートされていないSQLiteを利用して、インストールの手間を最小限にしたバージョンだ。
インストール手順
パッケージのダウンロードと展開
http://dl.dropbox.com/u/151520/2010/OpenPNE3.6beta6SQLite.zip
上記サイトからダウンロードし、運用サーバに展開する。
インストールコマンドの実行
OpenPNE.ymlやProjectConfiguration.class.phpもあらかじめセットしてあるので、インストールコマンドを叩くだけ。
※セキュリティなどの問題はあとで考える。
symfony openpne:install –standalone –sqlite
Apacheの設定
VirtualHostを設定して再起動。
<VirtualHost *:80>
DocumentRoot "/var/www/sns/SITENAME/web"
ServerName SITENAME
<Directory "/var/www/sns/SITENAME/web">
allowoverride all
</Directory>
</VirtualHost>
以上で完了。このインストール方法がおそらくOpenPNE3最速だろう。
OpenPNE3.6beta6のスタンドアローン&ミニマム版
- 2010-11-27 (土)
- 社長BLOG
※2011/01/23 現在のミニマム版は OpenPNE3-mini-TP2.zipです。こちらを使ってください。
スタンドアローンモードかつ最小のプラグインしか含めないミニマム版を作成した。
プラットフォームとして使える、さっぱりしたOpenPNE3をぜひ体験していただきたい。
https://github.com/tejima/OpenPNE3/zipball/3.6beta6minimum-PR
インストール方法は、パッケージをUnix環境に展開後
symfony openpne:install –standalone
アクティビティ(つぶやき)のみが有効になっている。
インストールは通常版の1/3程度の時間で終了する。
以下はスクリーンショット。
【予告】OpenPNE3.6の最小パッケージ版を作成
- 2010-11-24 (水)
- 社長BLOG
OpenPNE3のプラグインを最小に絞ったバージョンをプレビュー版として作る。
・最小限の認証プラグイン
・Ver3用のスキン1セット
・その他のプラグインは全部取り外す
・ネットワークなしでインストール可能(スタンドアローンモード)
こちらもVer3.6のリリースに向けて、先のスタンドアローンモードと同じように提供する。
反響が大きければ、継続してリリースしていきたい。
OpenPNE3.6beta6のスタンドローンモード(プレビュー版)
- 2010-11-21 (日)
- 社長BLOG
土曜日の勉強会のミッドナイトハック。
OpenPNEをローカル環境でインストールしたい、という声に対応して。
ネットを使わずにインストールできるスタンドアローンモードを追加した。
デフォルトでインストールするプラグインを予めパッケージに組み込んである。
インストール手順は以下のとおり
1:パッケージをダウンロード
https://github.com/tejima/OpenPNE3/zipball/3.6beta6standalone-PR
2:DBの作成
OpenPNEで利用するデータベースを作成する。
create database openpne3 default character set = utf8;
3:インストールコマンドの実行
スタンドアローンモードのオプションを追加してインストールする。
symfony openpne:install –standalone
4:Apacheの設定変更
VirtualHostをダウンロードした先のパスに合わせる。
<VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/var/www/sns/hostname.com/web" ServerName hostname.com <Directory "/var/www/sns/hostname.com/web"> allowoverride all </Directory> </VirtualHost>
詳細はドキュメントを参照
https://github.com/openpne/OpenPNE3/raw/OpenPNE-3.6beta6/doc/ja/OpenPNE3_Setup_Guide.txt
本パッケージはプレビュー版として公開する。
※2010/11/26追記
インストールは完了するが、管理画面でプラグイン一覧を表示しようとするとエラーが発生する。現在修正中。
セカイカメラアプローチ、OpenPNEアプローチ
- 2010-11-19 (金)
- 社長BLOG
セカンドライフ、セカイカメラのようにSFの未来世界をそのまま表現しようとするアプローチがある。
これは分かりやすい。ただ、現実のテクノロジーや、利用者がついてこれなくて頓挫することが多い。
セカイカメラもそのスポットにはまってしまったのではないかと、心配している。
一方でわれわれOpenPNEのアプローチは
「あと20年後にSFの未来世界ができるとして、それは今だったらどんな姿をしていたのだろう?」
という”今”を基点にして、未来にむかっていくボトムアップのアプローチだ。
どちらがうまくいくかというのが言いたいのではなく、どちらも必要だと思う。
ただ、われわれが進む道はOpenPNEアプローチだよ、ということ。
セカンドライフ、セカイカメラを経験して、ボトムアップのアプローチのほうがうまくいくかも!?
と思ったら、ぜひわれわれのプロジェクトに参加していただきたい。
司会業デビュー
- 2010-11-19 (金)
- 社長BLOG
イーキャリアの依頼により、Ruby発明者のまつもとゆきひろ氏、GREE CTOの藤本真樹氏の対談番組の司会をさせていただいた。
「2010年代のオープンソース/ソーシャルメディアの行方」
をタイトルにして、日本を代表するエンジニアの両氏に語っていただいた。
いやー、緊張した。USTREAMのアーカイブが流れると思うので、そちらを観ていただきたい。
http://www.ecareer.ne.jp/contents/careerstream/index.jsp
以下、写真を何点か。
11/18 14:00〜 まつもとゆきひろ氏、GREE藤本氏、手嶋でUST
オープンソース&ソーシャルについてのUSTREAMを 18日木曜日14:00〜開催。
タイトルは
「2010年代のオープンソース、ソーシャルメディアの行方」
放送はこちらから
http://www.ecareer.ne.jp/contents/careerstream/index.jsp
参加は、
オープンソースソフトウエア言語Rubyの開発者まつもとゆきひろ氏
GREEのCTOであり、PHPフレームワークethnaの開発者でもある藤本真樹氏
番組の進行役、エンジニア代表として手嶋
オープンソース&ソーシャルメディアということで手嶋が進行役として呼ばれた。
日本を代表するソフトウエアエンジニアの両氏の対談をぜひ生で聴いていただきたい。
テーマは当日確認していただきたいが、
◆エンジニアの教育、待遇、キャリア
◆OSSコミュニティのソーシャル化
◆ソーシャルサービスをつくる上での開発言語について
◆大規模化への対応
◆ソーシャルメディア、オープンソースの今後
この辺りを聞いていこうと思う。乞うご期待。
http://www.ecareer.ne.jp/contents/careerstream/index.jsp
「デジタル教科書はいらない」なんて言っている人はいらない
- 2010-11-09 (火)
- 社長BLOG
デジタル教科書はいらない なんてバカな議論をしている人がいる。
本のタイトルだから、煽るんだとおもうけど、こんなタイトルを作者が認めることじたいがカッコ悪い。手で書くことが必要だとか。難しいものにチャレンジする心が必要だとか、全くもう。
※この本は、まだ読んでません。ひょっとしたら本文には「それでも進化させていかなければならない」なんて、いいこと書いてあるかも知れない。
それは、あなたが子供の頃に勉強をした成功体験を語っているに過ぎない。
自分だって科学を愛する者の端くれとして、
「手を動かしながら学習することの、記憶や思考に対する効果」
というのはある程度理解している。で、あるならば、はなから駄目というのは待って、手を動かしながら学習できるように、デジタル教科書を進化させればいいではないか?
たとえば、鉛筆がいつ日本に入ってきたかは分からないが、
「鉛筆はいかん、筆で書かないと知識として身につかないんだ」というような押し問答が昔はあっただろう。
それでもわれわれは鉛筆を受け入れている。
※シャーペンは駄目だ、ボールペンは駄目だとかわけわからない分類はまだあるけどね。
いま、デジタル教科書はいらないなんていっている人は、10年たったら、鉛筆はいらないと言っていた恥ずかしい人たちになっちゃうよ。
こんなタイトルの本が国会図書館に保管され、永久に保存されるんだ。
しかもこの図書館もいずれ”デジタル化”されて、絶版されても永久に情報として閲覧できる状態になるんだ。恥ずかしいね。
反論1 数学、物理の教科書
数学や物理は3次元空間、時系列も含んだ4次元時空を扱う課題が多い。
これを静止した2次元の紙で理解することは無駄が多すぎる。
t=1の時の波はこれ、t=2の時の波はこれ。
この空間を正面からみるとこれ、上から見るとこれ。
これはデジタル化しかない。時間をコントロールできる再生ボタンが付いていて、さらに3次元を操作できるように、グリグリ指で操作できる方がいい。
反論2 ランドセルが軽くなる
重すぎるランドセルは虐待だろう。成長にも悪い。
現代を生きて行くために必要な情報は、昔のようにランドセルに時間割で詰め込めば済むような量ではない。小学生が、図書館一件分を持ち歩くようなスケールで情報を扱う必要がある。