wiki:pne-kurobako
 ここの情報は古いです。ご理解頂いた上でお取り扱いください。

TOC

玄箱PNEプロジェクト

http://sc.pne.jp/200712131704.png

OpenPNEを玄人志向の玄箱PROで動作させる事を目的としたプロジェクトです。

OpenPNEプロジェクトは、なるべく多くのオーナーにSNSを運営してもらう事がミッションです。 技術的に難しく、インストールが出来ない人はSo-netSNSを利用すれば良いのですが、社内SNSではセキュリティポリシーやファイヤーウォールに阻まれ、SNSを作ることが出来ません。

すでにOpenPNEがインストールされたNASのような箱があれば!と言うことで、玄箱にOpenPNEをインストールしてみました。すでに実験SNSでは動作しています。

これを販売できるレベルにまで、クオリティを高め、また箱入りSNSならではの新機能を追加していこうと思います。

本プロジェクトは、そんな箱をみんなで開発するためのプロジェクトです。

プロジェクトのゴール

玄箱PNEをWEB&頭販売し、玄箱PNEによって10,000人のSNSオーナーを生み出すこと。

仕様

  • OSはDebian etch
  • OpenPNE専用の箱とする、WEBサーバ、メールサーバを占有する
  • NAS機能は"当面"搭載しない
    • OpenPNEの機能を強化し、Diskを十分に使えるような設定にする
  • OpenPNEはaptパッケージとして提供する
  • ポートはクローズする

課題

OpenPNE改善項目

  • SQLiteに対応させる必要があるか?
  • バージョンアップを容易にするにはどうしたらいいか?
    • Debianパッケージ化を行う
  • OpenPNEのスピードを上げるにはどうしたら良いか?
  • 社内SNSでも携帯メール投稿を実現するために、POP3サーバに接続する

玄箱OpenPNEの改善項目

  • 完全にブラックボックス化する
    • 完全に自動化する
      • メールサーバ設定をどうする?
      • Debianのインストール後の手動rebootをどうするか
    • 電源ボタンでのシャットダウンが不能→どうやって落とす?
  • 玄箱にアクセスする際のIPアドレスが不明
    • NetEnumを使ってもらう
    • ホスト名で引く
  • アップグレードを簡単にできるようにする
    • apt方式
      • DB上書き問題(下記)
    • 管理画面方式
  • HDD容量を使い切れる工夫をする
    • OpenPNEのアップロード機能の強化改造
  • ファンコン等の玄箱固有のコマンドをどう実装するか

実験用玄箱関連

SNS

http://13.pne.jp/

WEBカメラ中継

http://13.pne.jp:8000/

実験用玄箱のMRTG

http://13.pne.jp/mrtg/

Debianパッケージ

  • /usr/openpne以下にインストール
  • 他(apache2, postfix)は初期状態を想定
    • OpenPNE用設定を入れるから

導入方法

  • /etc/apt/sources.listに以下を追記
  • apt-get updateを実行
  • apt-get install openpneでインストールされる

既知の不具合

  • 上書きするときにDBの移動でMySQLがおかしくなる
    • 詳細は研究中
  • 他に見つけた方はMLまで

これまでの手順

  • OpenPNE-x.y.z.tar.gzを解凍、できたディレクトリをopenpne-x.y.zに改名
  • dh-makeとdevscriptsをインストール
  • openpne-x.y.zでdh_makeを実行
  • 中のdebianディレクトリの以下のファイルは残して他は消す(「ほげほげ.ex」は「ほげほげ」に改名)
    • control(必ず編集)(依存、アーキテクチャ(今回はall)など)
    • changelog(必要に応じて編集)
    • copyright(必ず編集)
    • compat
    • dirs(「find -d .. > dirs」して適当に編集)
    • postinst(必ず編集)(インストール事後処理スクリプト)
    • rules(必要に応じて編集)
  • openpne-x.y.z直下にMakefileを作る
    • Makefileのinstallの項目は必須!
    • OpenPNEはスクリプト(→コンパイル不要)だからcp -Rを並べるだけでOK
    • このときにapache2やpostfixなどの設定ファイルもinstallするようにする
    • 当然だがinstall先はdebian/openpne/以下で、「決して」/以下ではない
  • 準備ができたらopenpne-x.y.z以下でdebuildを実行
  • 元の圧縮ファイルと同じくらいの容量のdebファイルができてたら成功(極端に外れてなければOK)

パッケージ版OpenPNE仕様(2007/12/19版)

  • /usr/openpne以下に入る(ディレクトリ構造はそのまま)
  • OpenPNE用設定ファイルは元々の設定ファイルとは独立
    • 上書きではないので、remove時の復元が容易
  • パッケージのremoveは「rm -rf /usr/openpne」と設定の復元
  • セキュリティ上必要な設定はユーザサイドで書き換え「できる」(!=「させる」)
    • IPアドレス特定問題に関してはSERVER_ADDRで対処、完全なブラックボックス化が図れる
  • 一応初期状態へのインストールを想定
  • 設定が競合する不具合がなくなった!
  • メール投稿はできない
  • MySQLにパスワードを付けてみた
  • 上書き時は元々の(古い)DBはリネーム

理想的な仕様

  • /適切な場所/openpne以下に入る(ディレクトリ構造はそのまま)
  • 設定ファイルは上書きではなく分ける
  • セキュリティ上必要な設定はユーザサイドで書き換え「できる」(!=「させる」)
  • 完全なブラックボックス
  • 初期状態へのインストールを想定しているが一応設定はとっておく
  • apache設定はincludeで済ませる
  • メール投稿可能
    • main.cfに設定をinclude
  • removeも自由にできる
    • 設定のリストア
  • セキュリティもそれなりにある

作ったもの

  • cvsリポジトリのwork/junchiba/package以下

HDDイメージ

仕様

  • あらかじめOpenPNEが入っているものを配布
  • インストール時間は30分程度

プロジェクトチケット

簡単チケット作成(summary=【玄箱PNE】&owner=junchiba)

@in-BOX

#1827
【玄箱PNE】導入時IPアドレス等決定問題
#1861
【玄箱PNE】玄箱HDDイメージにPHPアクセラレータを
#1895
【玄箱PNE】既存のアップローダーをOpenID対応に改造する

@次の行動

#1894
【玄箱PNE】既存のアップローダーの調査

@プロジェクト

#1594
【玄箱PNE】プロジェクト

@いつかどこかで

#1829
【玄箱PNE】広いコミュニティに向けてPRする
#1830
【玄箱PNE】OpenPNEにファイルアップロード機能を追加
#2055
【玄箱PNE】HDDイメージにアクセラレータを追加

WikiInclude(DIRECTORYNAVI)?

Last modified 10 years ago Last modified on Jan 28, 2008, 8:25:02 PM