自己紹介
miku.moe の管理人です。
マジカルミライオフ会「まじりみ」のいいだしっぺです。
ミクさんの行くところに出没します。
連絡先
twitter: @ahox
mastodon: @ahox@friends.nico
miku.moe の管理人です。
マジカルミライオフ会「まじりみ」のいいだしっぺです。
ミクさんの行くところに出没します。
twitter: @ahox
mastodon: @ahox@friends.nico
お疲れ様です。
miku.moe 管理人です。
OpenPNEの使い方についてヘルプページを設けたいなと思っていたので,mediawikiで作りました。
リンク:http://help.miku.moe/
以下,インストールメモ。
このあと,Cavendishのスキンがうまく動かなかったので,結局デフォルトスキンをMonoBookになるようにLocalSettings.phpの末尾を以下のように書き換えました。
いくつかプラグインをインストールしたのでメモ書き。
ちなみに標準のプラグインを入れるときは,
①OpenPNE3まとめwiki – リリース情報:バンドルプラグイン から機能を読んで入れるプラグインを選ぶ。
②OpenPNE3プラグインリリース情報から最新のリリース内容を確認。(検索ボックスでプラグイン名を検索するとよい。)
③プラグインチャンネルサーバに登録されているか確認。(されていれば,コマンドでインストールできる。)
という手順を踏むとよさそうだ。
すべての情報が最新情報とは限らないので,たとえばopDiaryPluginなんかは,①,②だけ見ると1.4.1が最新版かと思うが,③には1.5.1があったりするので注意が必要。(OpenPNE3.8系のスマホ対応版はこれ多いね。)
●opHardeningPlugin
セキュリティ強化のプラグイン。
●opAuthSocialPlugin
oneall.com のサービスを使って,twitterやfacebookのアカウントでログインできるようにするためのプラグイン。
別途,oneall.comのアカウント作成と,連携サイトのOAuthアプリの設定も実施。(こちらの設定はそんなに迷うことはない。)
●opCommunityTopicPlugin
先にver 1.0.5.1を入れてみて,そのあとで1.1.2.1の存在に気づいたので,一旦1.0.5.1をuninstallしてから1.1.2.1をinstallしたら,次のSQL文でエラー発生。
SQLSTATE[HY000]: General error: 1005 Can't create table '[db_name].#[sql_connection]' (errno: 121). Failing Query: "ALTER TABLE community_event_image ADD CONSTRAINT community_event_image_post_id_community_event_id FOREIGN KEY (post_id) REFERENCES community_event(id) ON DELETE CASCADE". Failing Query: ALTER TABLE community_event_image ADD CONSTRAINT community_event_image_post_id_community_event_id FOREIGN KEY (post_id) REFERENCES community_event(id) ON DELETE CASCADE
ALTER TABLE [テーブル名] [変更命令] … テーブル変更命令
ADD [列定義] … テーブルに列を追加
CONSTRAINT [名前] [列制約] … 列制約に名前を付ける
FOREIGN KEY ([子カラム名]) REFERENCES 親テーブル名 … 外部キー制約
ON DELETE CASCADE … 親テーブルに対してDELETE命令またはMERGE命令により行削除が行われた際,子テーブルの対応する行も削除するよう指定するオプション
内容的には,community_event_imageテーブルに外部キー制約を設けるSQL文なのだが,error 1005 Can’t create table ( errno: 121 ) というエラーが出ている。
これについてググってみると,
①参照カラムと被参照カラムのデータ型及び長さが同じであること
②作成しようとする外部制約名がデータベース中で一意であること(つまり,他のテーブルで同じ外部制約名を使用していないこと。)
を確認してみると良いということなので調べてみた。
どうやら,すでに列制約が定義されているにもかかわらず,同じものを再定義しようとしてエラーになっている模様。
どうしてこうなったのか。
opCommunityTopicPluginのuninstallでうまくいってないところがあるのかな?
てか,もしかしてPluginってuninstallしたらまずいのか!?
試しに,opCommunityTopicPlugin 1.1.2.1をuninstallしてみたら,テーブルそのまま残ってるみたいですね。これを消してやるというか,opCommunityTopicPluginのインストールを始める前の状態に戻してやればいけるかも?
mysqldumpで取っておいたデータに復元しよう。
そして,再度 install と migrate … うまくいった!
よかった。
●opAlbumPlugin
アルバムが投稿できるようになります。
イベント参加時の写真共有に使えるので必要ですね。
●opDiaryPlugin
日記機能ができます。
これもあったらおもしろい日記を書いてくれる人がいそうなので必要ですね。
冒頭にも記載した通り,ver 1.5.1(スマホ対応版)を入れます。
●opAshiatoPlugin
あしあと機能ができます。
せっかくなので入れておきます。
●opTimelinePlugin
タイムライン機能を強化するプラグイン。
いいね機能(opLikePlugin)に対応した 1.2.6 が最新バージョンらしい。
●opLikePlugin
いいね機能です。
リプ書くのは面倒だけど反応返したい時に重宝しますから必要ですよね。
●opBlogPlugin
外部ブログ機能を付けるプラグイン。
日記機能の代わりに自分のブログを公開したい場合に使えるので必要かなと。
●opAuthMobileUIDPlugin
携帯電話向けの「かんたんログイン」を提供するプラグイン。
スマホになってあまり必要性は感じないけども,試しに入れてみた。
●opFavoritePlugin
お気に入り機能。
●opRankingPlugin
コミュニティの人数ランキングとか表示できる機能。
●メモ
あと,備忘録として,部分SSL化の設定は,なぜかログイン後に無限にhomepageにリダイレクトされるようでうまく機能せず。
勉強不足でうまく解決できなかったので,全体をhttpsにすることにして,部分SSLの設定はfalseにしました。
●携帯電話IPアドレス帯域リストの更新
最新データへの更新メモ
●プラグインの適用状況まとめ
プラグイン名 | バージョン |
opDiaryPlugin | 1.5.1 |
opAshiatoPlugin | 1.1.1 |
opCommunityTopicPlugin | 1.1.2.1 |
opHardeningPlugin | 1.0.1 |
opFavoritePlugin | 1.0.1 |
opAlbumPlugin | 1.0.0.1 |
opTimelinePlugin | 1.2.6 |
opMessagePlugin | 1.0.0 |
opRankingPlugin | 1.0.1 |
opBlogPlugin | 1.0.3 |
opLikePlugin | 1.2.4 |
opAuthMailAddressPlugin | 1.3.5 |
opAuthMobileUIDPlugin | 1.3.3 |
opAuthSocialPlugin | |
opSkinBasicPlugin |
OpenPNE 3.8.21に更新したので備忘録。
まず,既存の OpenPNE のディレクトリは「~/home/miku.moe/OpenPNE」です。
●OpenPNE 3.8.21のダウンロード
作業用ディレクトリを作成して,git cloneでダウンロードします。
●設定ファイルの移行
作業用ディレクトリ内の設定ファイルと,既存の設定ファイルを diff で比較して,必要に応じて patch を当てます。
database.yml と .htaccess はそのまま引き継ぎです。
※今回,まだプラグイン関係は触ってなかったので移行していないです。
移行する場合は,OpenPNE/plugin フォルダのうち新しいものをすべてコピーすれば良いらしい。(cpコマンドに次のオプションを付けてコピーすれば良い。-a で再帰+属性保持,-u で新しいもののみ。やったことはないのでやるときは慎重に。)
●更新作業
まず,メンテナンスページに切り替え。
それから SQLdump。
symfonyコマンドでモデル再構築と更新。
うまくできたら,メンテナンスページを削除して元の場所に戻す。(あと,参考用に最新状態をTARにまとめておく)
miku.moe ドメイン取得時は SHA-1 アルゴリズムにより署名されたSSL証明書が主流だったのですが,コンピューターの進歩に伴いSHA-1アルゴリズムでは暗号強度が不足する事態となり,最近はSHA-2アルゴリズムにより署名されたSSL証明書でないと,各ブラウザで接続の安全性を確認できませんと警告が表示されるようになってきました。
さらに,2017年以降は SHA-1 のSSL証明書は各所で受け付けられなくなっていくということで,miku.moeにおいてもSSL証明書をSHA-2アルゴリズムにより署名されたものに更新しました。
ブラウザから https://miku.moe/ へアクセスすると,緑色の鍵付きマークで接続の安全性が確認できるかと思います。
なお,miku.moe で使用しているSSL証明書は「GoGetSSL」というサイトで取得した Comodo Positive SSL という系統の証明書です。
5年契約で18.25USD(約2000円)という,お安いサービスになっていますが,Comodo自体はSSLの世界シェア№1であって,スマホからもガラケーからもちゃんと認識できる確率が高い証明書ということで,選んでいます。
まぁ安いサービスなんで自分で英語のページから証明書の発行や契約をしないといけないし,中間証明書の設定も必要だし,レンタルサーバー側で提携しているグローバルサインのサービスと違って手厚いサポートは期待できませんが,そこらへんが自分でできる人にはこの価格差は大きいのです。
(グローバルサインだと得られる恩恵が全く変わらないのに年額18000円もしますからね。)
SSL接続の敷居は高めですが,慣れればランニングコストは徹底的に抑えられるものなのです。
(SSL設定用に独自IP買っても年額1000円しませんからね。あ,ちなみにmiku.moeの独自IPは末尾が39なのですよ。)
多人数が接続するサービスを展開するなら,年額1000円足らずでできるので,ログイン画面はSSL接続にしておきたいですよね。
さて,SSL証明書の更新も済んだことだし,これからシルバーウィークを活用して環境を整えていこう。
miku.moe 開発のために、symfonyフレームワークについて勉強中であります。
今日までに、Practical symfonyの1~5日目を読み終わりました。
PHPをほとんど記述しなくてもデータの入力・編集ページを作成したり、URL好きにいじったりできるみたいです。
デバックの仕方も随所に書かれているのでステキな感じです。
ただ、記憶力がないおいらとしては、最終的には逆引きリファレンス的なものがほしいところです。
全部のプラクティスを終えたら、備忘録がてら作るかもしれません。
あと、開発フレームワークの技術習得について参考になりそうなページをまとめはじめました。
また、参考になるものを見つけ次第追記していきます。
来週は11日目のフォーム関連まで読み進めたいですね。
まだまだ時間はかかりそうですが、継続していきますのでよろしくお願いします。
ご無沙汰しております。
本業のほうが多忙だったりしてすっかり放置してしまっていたのですが、最近少し時間を取ることができるようになったので、シルバーウィークを期に開発を再開させていただきます。
とはいっても、まずは開発のために必要な知識を身に付けるということで、OpenPNEのプラグイン開発に必要なsymfonyの知識を付けていきます。
OpenPNE3.4プラグイン開発チュートリアルというサイトを参考にさせていただこうと思いますが、まずは、前知識としてPractical symfonyを読んで自分なりにまとめていきます。
(そうしないとディレクトリ構成からsymfonyコマンドの使い方などがわかりませんので)
ですが、このPractical symfonyは、英語でして私は英語が苦手なのでまとめていくのに少し時間がかかるかもしれません。
以下のURLにまとめて行きます。全部終わればきっとプラグインがちゃんと作れるようになるのだと思います。
http://candycane.miku.moe/projects/mikumoe/wiki/Practical%20symfony
予定では、毎日仕事が終わってから3時間程度の時間を取ることができると思いますので、毎週3章ずつくらいをまとめられたら良いかなぁと思います。
もし、日本語で symfony1.4/Doctrineについての良書がありましたら教えていただけますと幸いです。
こんどは放置にならないようがんばりたいです。ミクさんのためにがんばります。
ご無沙汰しております。
miku.moe作成の進捗をなかなか上げられずにおります。
実は,ここ2週間ほど,プロジェクトマネジメントツールとしてRedmineを導入しようとして四苦八苦しておりました。
しかしながら,結局のところ触ったことのないRuby on railsがわからず,レンタルサーバの古いバージョンのせいかと思ってRuby 2.1.3 & Rails 4.1.6にしたりSubversionも1.8.10に更新したりして,bundle installやらbundle exec rake db:migrate RAILS_ENV=”production”が正常に完了するようにはできたものの,environment.rbの最終行で500 Errorが出ている原因が,httpd/error_logの見れないレンタルサーバ上では確認できないわで挫折してあきらめていました。
頑張れば何とかなるかなぁと思ったんですけどねえ。
で,こんなことに何か月もかけるわけにいかないので,代わりになるものを探してみました。そうしたら,RedmineのPHP版「candycane」というものがありました。
インストール方法に書いてある通りに
git clone git://github.com/yandod/candycane.git
chmod -R 777 app/Config
chmod -R 777 app/files
chmod -R 777 app/tmp
chmod -R 777 app/Plugin
としてアクセス,手順に従いDB設定。設定完了!?
なんということでしょう。ものの数分で設置完了。
ここ数週間の悩みはいったい・・・ orz
というわけで,プロジェクトマネジメントツールが設置完了しました!
このツールで開発要素ごとに進捗管理するとともに,必要な開発ドキュメントをWikiで整備するなど,開発の拠点にしていきたいと思っています。
miku.moe開発協力者への仕事の投げつけもこちらで明確にしていきます。
(午後さん,randさん,えびさんよろしくね)
Wikiによる開発情報まとめを始めとし,必要なプラグイン仕様の決定まで,統合的にcandycaneでやっていく予定ですのでご期待ください。
・・・・・といいながら,わたくし社畜なもので,本日も本業のほうに出勤せねばなりませんので,取り掛かるのは帰宅後とか来週末になるんですけど…。
miku.moe では,初音ミク関連のイベント情報に特化したポータルサイトを目指して開発をすすめていく予定です。
私見だけど・・・
↓↓↓↓
初音ミクのライブとか,レーシングミクの応援とか,イベントはたくさんありますよね。
どんなイベントがあるのか全部まとまっていたら,もっといろんなイベントに参加しやすいと思いませんか?
ライブ以外にもコンサートがあったり,地域とコラボしたイベントがあったり,ゲームの発売祈願イベントがあったり,イベントの種類も数も増えていると思うので,より幅広い目線で情報収集することで,もっと参加しやすくなるんじゃないかと思います。
あと,イベント参加ってとても楽しいけど,敷居もちょっと高いと思うんですね。
そんなときに気軽に質問ができたり,必要な情報をまとめたりしたサイトを作って,イベント参加への敷居を下げることができたらいいなと思います。
イベント情報をまとめる
↓
参加しやすくなる
↓
利用者に感想を書いてもらう
↓
次も行きたい!
次のイベントに参加者の声を活かしたい!
という流れを作れたらうれしい。
ちなみにmiku.moeの開発についてですが,以下の要件を満たしていて使いやすそうなOpenPNE3のフレームワークを用いる予定で進めています。
PHPの基礎的なところとかSQLの基礎的なところはわかるつもりだけど,symfonyは触ったことがないのでスタートには時間がかかるかもしれません。
次回は,開発に必要な,OpenPNE3の基本情報,symfony1.4 (Doctrine1.2) についての情報元についてざっくりまとめたいと思います。
今後のおおまかな流れとしては,開発環境の情報まとめ→サイトに必要とする機能のまとめ→各ガジェット開発情報って感じでしょうか。
あとは,2ちゃんねる互換BBSでも導入して,(導入しました→miku.moe開発掲示板)身内の開発者との情報交換だとか,新規開発協力者を募集したりとかしてみたいなと思っています。
次回の更新は,来週の日曜日【10/19】を目標にしたいと思います。それではまた。
moeドメインを運営する株式会社インターリンクのプレスにて,miku.moeの落札額も公表されました。
同時に,ネットメディア系サイトで記事になっていました!