前回、ブックマークに関して「自分のサーバーに設置できるCGIがないかなあ。」と書きました。
探してたらいいモノが見つかりましたヨ。オープンソースのソーシャルブックマークプログラム「Scuttle」です。
とりあえず設置してみました(・ω・)。こんな感じ(左画像)。
タグで管理できるし、ブックマークごとに「公開する」と「非公開にする」を選択できるのでなかなか便利です。
ブックマークレットも標準装備してるので、サイトをブックマークするのも手間がかかりません。
「第三者にブックマークの情報全部渡す気にはなれない・・・。しかしオンラインブックマークは便利」と思っている方は導入を検討してみてはいかがでしょう(・ω・)。
てなわけで、今回はXREAサーバーにおけるScuttleの設置とアレンジの奮闘記です。
あ、ちなみに今回はPHPとMySQLでの設置です。
設置方法(データベースいじり)
まず「Scuttle公式サイト」から本体をダウンロードし、任意の場所に展開します。
Scuttleの設置は「ソーシャルブックマーク(Scuttle)のインストール方法:phpspot開発日誌」に書かれている通りにすれば問題ないです。
・・・が。「データベースのいじり方がわからん!」とウニウニしてしまったので、復習もかねてメモメモ。XREAサーバーでのお話です。
まずデータベースを作成します。XREAのコントロールパネルに行き、左側メニューからデータベースを選択します。
MySQLの項目で、作成を押します。
既にMTの設置等でデータベースを作成してる方は、別のデータベース名を選択しましょう。
でないとMTで使っているデータベースが上書きされてしまいます。
作成したら、反映に数分かかるのでおとなしく待ちます。もしphpMyAdminをインストールしてない場合は、この時にインストールしちゃいましょう。
↑のインストールボタンを押すだけです。ここらでお茶でもゆっくり飲みましょう(・ω・)っ旦~。
まったりお茶を飲み、気分が落ち着いたら青丸で囲んだとこを押してログインします。
ここから先はデータベースの扱い方をよく分かってない人間が書くことなので、多少のことは大目に見てください。
「そんなことしなくても、こうすればもっと早いぞゴルァ(゚д゚)」なんて言わないでくださいな(笑)。
ログインしたら、上のメニューから先ほど作ったデータベースを選択します。
選択後、下のメニューから「データベース」をクリック。
ぽちっとな(。・ω・)っ
さらにデータベース名を選択して
上のメニューからSQLをクリック。
こんな画面になれば一段落。
先ほど展開(解凍)したScuttleのファイル群の中に「tables.sql」というファイルがあります。
その中に書いてあるSQL文を、↑にコピペします。
CREATE TABLE `sc_bookmarks` (
`bId` int(11) NOT NULL auto_increment,
`uId` int(11) NOT NULL default ‘0’,
`bIp` varchar(40) default NULL,
`bStatus` tinyint(1) NOT NULL default ‘0’,
`bDatetime` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`bModified` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`bTitle` varchar(255) NOT NULL default ”,
`bAddress` text NOT NULL,
`bDescription` varchar(255) default NULL,
`bHash` varchar(32) NOT NULL default ”,
PRIMARY KEY (`bId`),
KEY `sc_bookmarks_usd` (`uId`,`bStatus`,`bDatetime`),
KEY `sc_bookmarks_hui` (`bHash`,`uId`,`bId`),
KEY `sc_bookmarks_du` (`bDatetime`,`uId`)
);
↑こういうのが4つほど書かれているはずなので、それぞれコピペして実行します。
4つとも実行後、エラーがでなければ成功です。
データベース操作はこれで終わりです。あとはScuttleのファイルをちょっといじるだけです。
設置方法(ファイルいじり)
ダウンロードしたScuttleを展開すると、中に「config.inc.php.sample」というファイルがあるのでそれを「config.inc.php」にリネームします。
テキストエディタで開き、アカウントの設定を行います。
$dbtype = ‘mysql4’;
$dbhost = ‘localhost’;
$dbport = ‘3306’;
$dbuser = ‘username’;
$dbpass = ‘password’;
$dbname = ‘dbname’;
それぞれの設定を入力します。XREAの場合はdbhostは「localhost」、
あとはデータベースにおけるユーザー名とパスワードをいれます。dbnameは何か設定を変えていない限りusernameと同じでいいと思います(・ω・)。
$sitename = ‘Azrael – bookmark’;
$locale = ‘ja_JP’;
ついでに下のほうのsitenameとlocaleも書き換えます。sitenameはそのまま「サイト名」になるので、つけたい名前をいれておきます。
localeは「ja_JP」とします。こうすることによってScuttleが日本語化されます。
以上で設定は終了です。あとはサーバーにアップロードして、アクセスすれば使えるようになっているはずです。
あ。忘れてた。XREAの場合、.htaccessをそのままアップロードするとサーバーエラーになります。
なのでhtaccessを開き、
AcceptPathInfo On
この行の最初に「#」をつけてコメントアウトします。
#AcceptPathInfo On
こうするとサーバーエラーが出なくなります。
プチアレンジ
デフォルトのままだとちょっと使いにくいところがあるので、少しいじります。
サイトをブックマークする際にタグをつけるのですが、デフォルトのままだと、表示されるタグの候補が非常に少ない。
しかも人気順にならんでたりするので探しにくかったりする。これを改善するには「I know. 開発日誌、 ≫ Scuttle でタグの候補の並び順とか表示数を変更する方法。」を参考にしました。
これで大分使いやすくなりました(・ω・)。
次。トップページなどで表示される「最近のタグ」はデフォルトでは30個です。このままだと使いづらいので表示数を増やします。「index.php」の69行目、「bookmarks.php」の182行目に
$tplVars[‘popCount’] = 30;
という項目があるので、ここの「30」という部分を好きな数に増やします。これで表示されるタグ数が増加します。
タグを選ぶと、「関連したタグ」も表示されます。この関連したタグ、通常は10個までしか表示されません。
これを増やすにはservicesフォルダ内の「tagservice.php」を開き、188行目の
function &getRelatedTags($tags, $for_user = NULL, $logged_on_user = NULL, $limit = 10) {
$limitの値を書き換えると表示数を変えることができます(・ω・)。
とりあえずこんなもんかなー。これだけ変えたら大分使いやすくなりました。
–10/12追記–
日本語で検索すると希に文字化けしてしまい、うまく結果がでないことがあります。その対処方法はコチラ↓
→ 熱血!MULTI web: 「Scuttle」で検索時の文字化け対策
スクリプトエラーが出るんすけど
設置後、やたらスクリプトエラーが出て困りました(-ω-)。何が原因なのかよくわからんかったし。
スクリプトエラーが出る人はScuttleのバージョンを一つ落としてみてください。
私の場合、0.7.1に変えただけでエラーは一切出なくなりました。
0.7.2と0.7.1のconfigファイルは表記が少し異なります。configファイルを使い回しするとエラーが出るので気をつけてください。
というわけで。
現在運用中です。なかなかいい感じ。これで外出先からでも問題なくブックマークが使えるようになりました(・ω・)。
ブックマーク毎に公開・非公開を設定できるのがいいですな。タグでの整理だから非常に楽だし。
一応「ソーシャルブックマーク」プログラムなので、複数の人が使えるようにはなってますが、使いたい人もいないだろうしってことで一般には公開していません。
あくまで「自分のみのオンラインブックマーク」って感じで使っていく予定です。
もし「使いたい」という奇特な人は、メッセなどで連絡してください。開放します(・ω・)。
結構便利ですよ。データベースが使えるサーバーをレンタルしてる方は、是非おためしあれ。