Scuttle – ブックマーク管理システム

ソーシャルブックマークのdel.icio.usについて調べていたら、Scuttleというプログラムを自宅サーバーにインストールできることを発見。早速、ググったページを参考にインストールしてみた。

  1. Scuttleのサイトからscuttle.0.7.2.zipをダウンロード
  2. 「unzip -d scuttle scuttle.0.7.2.zip」で、scuttleディレクトリを作成した上でダウンロードしたファイルを解凍
  3. mySQLで、scuttleユーザーとscuttleデータベースを作成
  4. scuttleユーザーに、scuttleデータベース内のテーブルに対するselect, insert, delete, update権限を付与
  5. 解凍したファイルに含まれるtables.sqlを実行。必要なテーブル4つが作成される。
  6. 解凍したファイルをWebから見える位置に配置

これでインストール完了のはず。ユーザー登録や通常のブックマーク投稿、ブックマーク表示はできるようになった。だが、ブックマークをdel.icio.usからインポートしようとしたり、Firefoxのブックマークをインポートしたりしようとすると、PHPのソースがそのまま表示されてうまくいかない。

ググったページによれば、php.iniで「short_tag_open」の設定を変更する必要があるとのこと。しかしこの変更をしても不具合は解消されなかったので、Scuttleのソースで、「<?n」の部分(3カ所)を「<?phpn」に直接書き換えた。

で、使ってみたところ、del.icio.usからのインポートも、Firefoxのブックマークインポートもスムーズだったし、日常のタグ付けもスムーズに行きそうだ。ブックマーク管理が非常に便利になるかもしれない、という楽しみができた。

なお、FirefoxのScuttleエクステンションがうまく動かない。また、「Scuttle に投稿する (ポップアップ)」をブックマークに登録して使おうとすると、ポップアップしたウィンドウが隠れてしまう。この2つは今後の課題である。

また、Semantic Scuttleについても要注目だ。

ApacheでWebDAV

以前にも書いたWebDAVは、なかなかすばらしいファイル共有機能だ。これがあれば、FTPサーバーやSamba、NFSなどはもはや不要だと思う。どれも何となく使いにくかったし、セキュリティ上も心配だった。

WebDAVの場合、すでにApacheの設定ができていれば、設定は簡単である。また、Mac OS XのFinderからもWindowsのExplorerから表示・書き込みができるし、表示だけならウェブブラウザでもできる。セキュリティ面では、Digest認証を使ってユーザー認証するようにすれば少し安心できるし、もっと安心したいならSSLを利用することもできる。

Mac OS XからWebDAVのフォルダにアクセスするには、Finderを起動し、メニューから[移動 – サーバーへ接続]を選択する。接続時に自動的に接続するには、Dockの[システム環境設定]をクリックし、[アカウント – ログイン項目]でWebDAVのフォルダを追加する。

Windows XPだが・・・ユーザー認証を行ったとき、Windows XPのExplorerからアクセスできない。パスワードを打ち間違えていないか確認したり、Apacheの設定を確認したりとだいぶ苦しんだ後、ウェブで「WebClient 」サービスを停止してから追加作業を行えば問題は発生しませんという記述を発見。試したら、たしかに問題は解決した。情報源は、[SPS] Windows XP クライアントから FQDN の URL を指定して Web フォルダを作成できない

現在の課題は2点。まず、WebDAVのフォルダにドライブを割り当てられないか、ということ。あと、それと関連する話だが、WebClientのサービスは止めてよいのか、ということである。

ちなみに、WebDAVについてはマイクロソフトが推進してきた規格とのこと。そのわりにWindowsで使いにくいというのは皮肉な話ではある。

サーバー拡張計画

現在Linuxサーバー機として使用しているのは、ヤフオクで入手したDynabook DynaBook Satellite 1800SA70C/4モデル(1万5千円くらい)。ものも良いし、前の持ち主のかたも大事に使っていたと見えて、快調に使えているのだが、メモリ128MB・ハードディスク10GBではさすがに非力すぎる。そこで、拡張計画について、畏友Kくん@上山に相談して考えてみた。

拡張メモリについてカタログには「PC100」と書いてあるが、こうした場合「PC133」でも大丈夫な場合が多いとのこと。ヤフオクで安く買える可能性が広がる話である。

ハードディスクは、PCカードスロットにUSB2.0かeSTAのインターフェイスを付けて、そこから外付けハードディスクにつなげるのが吉とのこと。RAIDも組んでみようかな。内蔵用ハードディスクとディスクケースを組み合わせるのも手だよな。だけど、ケースが高いところが考えどころ。NASも、バックアップ用にいいかも。日常用に使っているMac OS Xから音楽や写真をバックアップするのにもつかえるし。

Subversion + WebDAV

ApacheのWebDAV機能とsubversionを組み合わせると、セキュアで履歴管理機能がついたファイル共有が可能になるらしい。ということで奥村晴彦先生の説明やCentOS&Tracメモ/WebDAVでSubversionなどを参考に設定してみる。

  1. Apacheを、webDAV機能を有効にしてインストール
  2. subversionをインストール
  3. 「/home/www/svn」フォルダを作成
  4. 「/home/www/svn」フォルダで、「svnadmin create repos」を実行
  5. 「/usr/local/apache2/conf/httpd.conf」ファイルに次を追加
    # Subversion Repository
    Include /usr/local/apache2/conf/extra/subversion.conf
  6. フォルダにアクセスするユーザーのパスワードを設定
    shell# /usr/local/apache2/htpasswd -cm /etc/httpd/passwd j8takagi
  7. 「/usr/local/apache2/conf/extra/subversion.conf」ファイルを次の内容で作成
    <Location /svn>
       DAV svn
       SVNPath /home/www/svn/repos
          AuthType Basic
          AuthName "Repos"
          AuthUserFile /etc/httpd/passwd
          Require valid-user
    </Location>
  8. Apacheを再起動
    shell# /usr/local/apache2/bin/apachectl restart
  9. SVNモジュール関係のエラーになる場合は、ldconfigコマンドを実行してからApacheを再起動
  10. ブラウザで「http://www.j8takagi.net/svn/」にアクセス。
    ユーザー認証後、「Revision 0:/」と表示されれば成功らしい。

ただ・・・WindowsのExplorerからアクセスできない・・・

パケットフィルタリング

Linuxサーバーでは、iptablesでパケットフィルタリングの設定をする。
この設定をしないと、本当にすぐに狙われてしまう

次のような設定で良いかと思ったが、DNSサーバーをLinux機にしていたホストからの名前解決がうまくいかなくなった。

# 既存のルールを破棄
/sbin/iptables -F # 既存のルールを破棄
# ポリシーの設定
/sbin/iptables -P INPUT   DROP   # 受信はすべて破棄
/sbin/iptables -P FORWARD DROP   # 通過はすべて破棄
/sbin/iptables -P OUTPUT  ACCEPT # 送信はすべて許可
# ルールの追加
/sbin/iptables -A INPUT -i lo -j ACCEPT  # ループバックアドレスからのアクセスはすべて許可
/sbin/iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT # LAN内からのアクセスはすべて許可
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT # HTTPへのアクセスはすべて許可

追加で次の設定が必要ということか。

/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

こうした点も含めて、ようこそVineLinuxで自宅サーバーへiptablesでファイヤーウォールの設定が参考になりそう。