‘Tips’ カテゴリの記事
当サイトでは、そもそもがSubversion自体が「履歴機能付きのバックアップツール」という位置づけで紹介しています。
確かに最新ファイルは各ユーザの手元と、Subversionリポジトリ内に保管されているので、安心です。
では、過去の履歴はどうでしょうか?
大抵の場合は過去の履歴はSubversionリポジトリ内にだけしかありません。つまりサーバが壊れれば、過去の履歴は消えてしまいます。これでは魅力半減です。そこで・・・。
タイトルは正確ではありません。
まず、簡単に状況を説明しますと、
- 1台のVPS(お名前.com)で複数ドメインのサイトを運用したい
- お名前VPSにはProFTPDがインストール済み
- FTPユーザを作る際に、各ユーザのホームディレクトリを「/home/ユーザ名」または「/var/www/vhosts/仮想ホスト名」のどちらかから選ぶ必要がある。
- FTPユーザは、それぞれのホームディレクトリの中だけをアクセスできる
と、このような前提条件があります。
で、やりたい事は、「ある仮想ホストの中のあるディレクトリにのみアクセスできるユーザ」「全ての仮想ホストにアクセスできるユーザ(管理者ではなく一般ユーザとして)」を作りたい、というもの。
ホームディレクトリを仮想ホストにすると、その仮想ホストの全てにアクセスできてしまいますし、割り当てられるのは仮想ホスト1つだけです。
取引先との打ち合わせで困るのが、ネット接続環境です。
店舗での打ち合わせではネット接続環境がないことが多く、また事務所でもセキュリティ上の制限で外部のPCを接続できません。
やりたい事は、お客さんのサイトを見ながら話をしたい、というだけなのです。
モバイル通信カードという便利なものも売ってますが、たまにしか使わないものにお金をかける余裕がありません。
今回は、そんな時に便利な FireFox アドオン「ScrapBook」の紹介です。
WordPressでサイト運営されている方は、サイドバーに「最近の投稿」ウィジェットを使用している方も多いと思います。
でも日付が表示されないので、更新頻度をアピールしにくいのが難点です。
そこで、サイドバーの「最近の投稿」に更新日を付加する方法を紹介します。
Webサーバをファイルサーバにように使える WebDAV の導入手順です。
ファイル共有の手段
チームメンバーにファイルを送る時に、どのような手段を使っていますか?
USBメモリやメールもありますし、当サイトでよく紹介しているSubversionも使えます。そして、今回紹介するWebDAV。それぞれに一長一短があります。
USBメモリ・CD-R・DVD-Rなど
長所は、容量を気にしなくてもいいこと。また、ネットに接続していなくても使えることですね。
最大の短所は、直接手渡しなり郵送なり、物理的に渡す必要があることでしょう。
メール
なんといっても手軽なのが最大の長所です。地理的に離れていても、PCに向かっている時刻が違っていても、問題なくファイルを送れます。
短所は容量の制限です。ファイル分割したり、宅ふぁいる便 などのファイル送信サービスを併用すれば、多少は緩和されるものの、数GB単位のデータを送るのは骨が折れます。
また、大量のメールに埋もれてしまって、「もう一回あのファイル送って」なんてことも・・・。
Subversion
Subversion や Git などの バージョン管理システムでも、副作用的にファイル共有ができます。
長所は、ファイルを体系的に管理できることと、履歴が残ること。そもそも、そのためのシステムですから。
しかし、逆にそれが短所にもなります。メンバーは新しいファイルをどこに登録していいのかが分かりにくいし、登録すると半永久的に履歴が残ってしまうため、一時的なファイル(メモ書きなど)を登録しにくいことです。
共有フォルダ
Windowsの共有フォルダや、LinuxのSambaを使って、フォルダをLAN内に公開する方法です。
比較的簡単に設定・利用できる反面、簡単に使えるが故に無法地帯になりがち(ファイルが乱雑に置かれ、不要なファイルが放置される)です。
またLANにつながっている必要があるため、自宅や外出中のメンバーからは使えません。
WebDAV
ファイル管理を行うためにHTTPを拡張したものです。LANを越えて使える共有フォルダのようなイメージです。
自前のサーバであれば、ディスク容量の許すだけ使えますし、外出中のメンバーも(インターネットに接続できれば)使用できます。
一度接続してしまえば共有フォルダとほぼ同じなので、共有フォルダと同様に無法地帯になりがちです。
設定方法
サーバ側
Vine Linux 5.0 の設定例です。他のディストリビューションでもだいたい同じでしょう。
WebDAV用ディレクトリとロック用ディレクトリを作成する。
# mkdir /var/www/html/dav
# chown apache:apache /var/www/html/dav
# mkdir /var/lock/dav
# chown apache:apache /var/lock/dav
設定ファイル /etc/apache2/conf/httpd.conf の編集(ファイルの最後にでも追加すればOK)
DavLockDB /var/lock/dav/DavLock
<Location /dav>
Dav on
SSLRequireSSL
AuthType Basic
AuthName "WebDAV Server"
AuthUserFile "/etc/apache2/.htpasswd"
Require valid-user
</Location>
この設定例は、「SSL接続必須」で、「ユーザ認証必須」としました。
弊社の環境では、既に Subversion 用のパスワードファイル( /etc/apache2/.htpasswd )を使っていたので、これをそのまま使いました。パスワードファイルがない場合は、htpasswd コマンドで作成してください。
クライアント側
Windows XP の例です。
- ネットワークコンピュータを右クリック
- ネットワークドライブの割り当て
- 「オンライン記憶域にサインアップするか、・・・」をクリック
- ネットワークプレースの追加ウィザードの開始 が出るので、次へ
- 「別のネットワークの場所を選択」で次へ
- インターネットまたはネットワークのアドレスに、https://サーバURL/dav を入れて次へ
- セキュリティ警告は無視(自作のSSL証明書なので出ています)して、はい
- ユーザ名とパスワードを入れる
- ネットワークプレースの名前は、好きな名前でよし。次へ→完了
このフォルダのファイルをダブルクリックしても、アプリケーションで開けないようです。
いったんファイルをローカルにコピーすると開けます。
Redmineで文章を記述するにはtextileという表記方法を使います。
ところが、Redmineのtextileは、タグの使用に制限がかけられています。
例えば、表を作って「セルの中に複数行書きたい」ということができません。
表の書き方
まず、textileでの表の書き方。
|_. 国名|_. 言葉|_. 通貨|
|_. 日本|日本語|円|
|_. アメリカ|英語|米ドル|
|_. カナダ|英語|カナダドル|
このように書くと
国名 | 言葉 | 通貨 |
---|---|---|
日本 | 日本語 | 円 |
アメリカ | 英語 | 米ドル |
カナダ | 英語 | カナダドル |
こう表示されます。
設定変更
表のセルの中で改行を認めるには、設定を変える必要があります。
/var/lib/redmine/lib/redcloth3.rb (Redmine を /var/lib/redmine にインストールしたものとする)をエディタで開き、ALLOWED_TAG の行を下のように変更します。
ALLOWED_TAGS = %w(redpre pre code notextile br)
改行タグ<br>が使えるように、brを追加しました。同様にすれば他のタグもtextileの中で使えるようにできます。
ファイルを保存したら Apache を再起動すれば準備完了です。
ただし、これらの設定変更は、あくまでも自己責任でお願いします。
改行を入れてみる
|_. 国名|_. 言葉|_. 通貨|
|_. 日本|日本語|円|
|_. アメリカ|英語|米ドル|
|_. カナダ|英語<br>一部フランス語|カナダドル|
このように<br>タグを入れることで、
国名 | 言葉 | 通貨 |
---|---|---|
日本 | 日本語 | 円 |
アメリカ | 英語 | 米ドル |
カナダ | 英語 一部フランス語 |
カナダドル |
このように、カナダの言語を2行で表示することができます。
Subversion では、外部のリポジトリにあるファイルやディレクトリを、まるでリポジトリ内にあるかのように扱うことができます。
この機能を使うことで、同じファイルを複数のプロジェクトで共有することができます。
設定方法
TortoiseSVN + 日本語パック を使って設定する方法を紹介します。
例えば、ディレクトリ Azalea の中に、他のプロジェクトで開発したプログラム MoodyBlues (これを外部項目といいます)を入れたい場合は、以下のように設定します。
- 外部項目を入れたいディレクトリを右クリックし、TortoiseSVN→属性 を設定する。
- New を押し、Property name から、”svn:externals” を選択する。
- Property Value に、”(参照したいリポジトリのパス)△(ディレクトリ名) “を入れる(△は空白)。
- OKボタンを押す。
一旦コミットしてから更新すると、外部項目として設定したファイルやディレクトリが取得できます。
リポジトリ内でもOK
参照したいリポジトリのパスは、自分自身の中でもかまいません。
その場合は相対パスでも指定可能です。また、^ で始めれば「自分のリポジトリのルートディレクトリから」指定できます。
Windows の共有フォルダに Linux からアクセスする方法です。
GUIで操作する場合は普通にファイルブラウザで参照できます。
そして、コマンドラインから使用する方法は・・・。
共有リソースを全表示
共有フォルダ名が正確に分かっていれば、この手順は不要です。
# smbtree
パスワードを入れたくなければ、
# smbtree -N
とすればOKです。
また、-S オプションをつけると、コンピュータ名だけのリストが表示されます。
PC名からIPアドレスに変換
この手順は、DNSの設定がうまくいっていないなどの理由で、smbtree で得られたPC名でアクセスできない場合に使います。
ここでいうPC名とは、正確にはNetBIOS名と言うので、
# nmblookup NetBIOS名
と書いておきます。
これにより、IPアドレスが得られるので、以下の手順でPC名でアクセスできない場合は、このIPアドレスに置き換えてください。
共有フォルダかプリンタかを調べる
# smbclient -L PC名
こちらも、パスワード不要ならば -N オプションをつけます。
共有フォルダは”disk” 、共有プリンタは”printer” として、共有しているものを一覧表示します。
マウント
マウントポイントは、事前に作っておいてください(試すだけなら mkdir /tmp/smb とかでOK)。
# smbmount \\\\PC名\\共有名 マウントポイント
\(エンマーク or バックスラッシュ)が特殊文字なので、\\ と2つで \ 1つの意味です。
なので、PC名の前には4つ、共有名の前には2つ必要になります。
これで成功すれば、共有フォルダがマウントポイントにくっついているように使えます。
アンマウント
使い終わったら
# smbumount マウントポイント
で、アンマウントしてください。