[[TOC]] = 玄箱PNEプロジェクト = [[Image(http://sc.pne.jp/200712131704.png)]] OpenPNEを[http://kuroutoshikou.com/ 玄人志向]の玄箱PROで動作させる事を目的としたプロジェクトです。 OpenPNEプロジェクトは、なるべく多くのオーナーにSNSを運営してもらう事がミッションです。 技術的に難しく、インストールが出来ない人はSo-netSNSを利用すれば良いのですが、社内SNSではセキュリティポリシーやファイヤーウォールに阻まれ、SNSを作ることが出来ません。 すでにOpenPNEがインストールされたNASのような箱があれば!と言うことで、玄箱にOpenPNEをインストールしてみました。すでに[http://13.pne.jp 実験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に以下を追記 * deb http://6.pne.jp/debian etch main * 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分程度 == プロジェクトチケット == [/newticket?summary=%E3%80%90%E7%8E%84%E7%AE%B1PNE%E3%80%91&owner=junchiba 簡単チケット作成(summary=【玄箱PNE】&owner=junchiba)] === @in-BOX === [[TicketQuery(summary~=【玄箱PNE】&status=new&resolution=|&priority!=trivial)]] === @次の行動 === [[TicketQuery(summary~=【玄箱PNE】&status=assigned&resolution=|&priority!=trivial&type!=project)]] === @プロジェクト === [[TicketQuery(summary~=【玄箱PNE】&status=assigned&resolution=|&priority!=trivial&type=project)]] === @いつかどこかで === [[TicketQuery(summary~=【玄箱PNE】&resolution=|&priority=trivial)]] [[WikiInclude(DIRECTORYNAVI)]]