FTPサーバでディレクトリ一覧を表示させない

ProFTPDの場合。
.ftpaccess を表示させたくないディレクトリへ作成。
ファイルの中身はこんな感じ。

<Limit DIRS>
    DenyAll
</Limit>

ただしこの設定を行なうと、親フォルダからそのディレクトリ自体を表示できなくなる。
Windows 標準の FTP クライアントの場合、
cd -- 不可
put -- 可能
具体的には、
put hogehoge.txt invisible_dir/hogehoge.txt
のように名前を直接指定して転送すれば、転送は可能。

公的SSL証明書は,お高い

会社から,よく PC の設定など自分のメモを見るために,自分の blog へアクセスすることがある.
メモを会社から投稿することもある.
でも,ちょっと情報セキュリティに気を使う会社なら投稿内容の監視くらいはしていそうなので,
SSL 通信で投稿内容を暗号化したいなーとか思ったのでした.

SSL の証明書って,たっけーのね…
最大手 VeriSign の場合,最安で 85,050 円とか,泣ける.
で,安いとこないかなーと探したら,こんなトコがありました → サイフにやさしいSSL証明書
2,880 円~ とか.びっみょー.
オレオレ証明書もいいけど,どうせなら第三者機関の証明書が欲しい…という人にとっては, 240円/月はお手頃なのだろうか.

VirtualBoxへUbuntu11.04

VirtualBoxも,Ubuntuも,かつて使っていたソフトなりOSであるが,すっかり使い方を忘れてしまった.
ハマったポイントを改めて書いておく.

  • Ubuntu serverを入れる場合,日本語を選択すると後で言語設定をやりなおすハメになるので,Englishを選んでおく方が無難.
    X入れる場合は気にしなくていいけど.
  • インストールが終わったら,まずはGuest Additionsをインストールすること.
    具体的な手順は,

    1. ゲストOS起動
    2. デバイス>Guest Additionsをインストール
    3. sudo mount /dev/cdrom /mnt
    4. sudo /mnt/VBoxLinuxAdditions.run
  • ネットワークアダプタの設定を,「ブリッジアダプタ」または「ホストオンリーアダプタ」あたりにして,ホストとの直接通信が可能なようにする.
    しなくてもwwwには接続できるけど,不便で仕方がない.
  • sshd_configで,passwordloginをyesにしておく

これだけやっておけば,普通にLAN上に新しいUbuntuサーバを立てたのと同じところからスタートできるはず.

akismet の結果抽出

wordpress のコメントのDB (prefix_comments) から,comment_approved='spam' で抜ける.
なので,例えば…

select comment_author_IP,comment_author from prefix_comments where comment_approved='spam' order by comment_author_IP;

などと抜いて,
xlsでピボットテーブルを使って,頻度順に並べかえれば,特にアクセスの多いIPアドレスを抽出可能.

ubuntu 10.04 (8.10以降) へ slapd (OpenLDAP) を入れて使えるようにする.その1

すんません.まだ途中なんで,「その1」です.
せっかく設定しかけていたのに,後述の Setting up LDAP Server を見ている途中で,OpenLDAP Server (10.04) を見付けて萎えたので,続きはまた明日.

インストール

次を実行.

$ sudo apt-get install slapd ldap-utils
$ sudo dpkg-reconfigure slapd

hadacchi の環境では,こう聞かれる.

  • 設定を省略しますか?
    • いいえ
  • slapd をパージ (apt-get purge slapd) した時にデータも消しますか?
    • 次からの設定ミスっても,まだ使い方知らなくて復帰させられないので,緊急時に入れ直せるように→「はい」
  • LDAPv2 を使いますか?
    • 使うつもりなので→「はい」

設定

(ドキュメントタイトルが全部同じため,紛らわしいので,カッコ書きでバージョンを入れる.)
OpenLDAP Server (10.04)を見て,明日頑張る.
help.ubuntu.com で検索してトップに出てくる OpenLDAP Server (old) というドキュメントは 8.04 以前の解説のようなので注意.
8.10 以降では /etc/ldap/slapd.conf がない.
また,その古いドキュメント中で参照している OpenLDAP Server (9.10) は間違えているっぽいので注意.
フォーラム 442498 とか,フォーラム 459403 とかで議論されているので, 2009.10 時点でガイドに問題があったようだ.
具体的には,インストール時に admin passwd を聞かれなくなったので,ldapsearch のコマンドが通らない.
9.10 の人は Setting up LDAP Server を見るといいかも知れない.
2009.10 時点での解決策が示されている.

あー,時間を無駄にした.

ubuntu を 10.04 にしたら,phpが動作しなくなった

ubuntu を 10.04 にしたら,php もアップグレードされ,php5.3.2-1ubuntu4.1 になった.
すると,php ファイルにアクセスしたところ,application/x-httpd-php という MIME は認識しているが,ダウンロードダイアログが出てきて,php のページが表示されない.
というかこのままだと,php のソースファイルが丸見えなので非常に危険.

対策:
/etc/apache2/mods-available/php5.conf を編集して,下記をコメントアウト(行頭に「#」を入れる)する.


つーかこのアップグレード,罠じゃねーのっていうくらい危ないんじゃ.

VirtualBox上のUbuntu 9.10 を 10.04 へアップグレード

serverとdesktopの両方でやってみた.
半日くらいハマった.
下にはやったこととか書いているが,server版が復活しないとメイルが読めない状況だったので,実はかなり焦っていた.

長々と書いたが,こう書いておけば,誰か困って検索して辿りつく人がいるかも知れない.
そして,困って辿りついたのに,やっぱり困ったままの人よ.メンゴ.

今回のサマリ

  • ubuntu のアップグレードで応答がなくなるが,放置すればそのうち始まる
  • 仮想OSをアップグレードする時は,仮想マシンのソフトをまず最新にする
  • アップデート前には仮想hddごとコピーをとっておく

起こったこと

ubuntu の upgrade のトラブル
ubuntu のアップグレードが初めてだったので(前回はisoを落として入れ直した),まずそこでハマった.
アップグレードをかけると応答がなくなるが,それは何かを DL しているだけで,異常ではないようだ.
固まったか区別つかないので,メッセージをちょっと出してくれると嬉しかった.
やった手順 (ubuntu の upgrade)
  1. パッケージを全て最新にした.カーネルも最新に
  2. アップデート・マネージャ で,10.04 へのアップグレードを実行するも,応答がなくなる…(実は異常ではなかった)
  3. ターミナルエミュレータで ``printenv | grep proxy`` すると,設定した覚えのない HTTP_PROXY HTTPS_PROXY https_proxy の設定が,IP アドレスではなく URL で設定されて出てくる
  4. ホームのファイルを grep かけても出てこないので,GUI の NW 設定ツールを見てみると,確かに設定している.全部,IP アドレスに直す
  5. やっぱり応答がないので,ムカついて放置 ← 30分くらい放置すると応答が帰ってきた.後でサーバ版をアップデートする時に,バックで ubuntu 10.04 の iso を同時に落としてみたら,ほぼ同時に終わったので,それと同等のデータを落としていたんじゃないかと妄想
  6. 何度かインタラクションして,アップグレード完了.この時,時間節約のために server
virtualbox のトラブル
仮想OS をアップグレードすると,ハードウェアまわりが対応してなかったのかドライバが対応してなかったのか,モニタ設定がおかしいと警告が出て,うまく表示されなかった.
server 版にいたっては,画面に何も表示されない状態に陥った.
仮想マシンのソフトを最新にすると,正しく起動するようになった.
やった手順 (virtualbox のトラブル)
  1. アップグレード後の再起動で,画面設定のエラーが出る (desktop)
  2. アップグレード後の再起動で,黒い画面のまま何も表示されなくなる (server)
  3. desktop の方は,ubuntu に virtualbox のディスプレイのモジュールが入ってないせいだろうと考え,Guest Additions を入れてみるが解決しない.
  4. virtualbox ついてくるドライバが,最新の kernel で動かないんだろうと思い,virtualbox 自体を最新のものにすることにする
  5. virtualbox の更新時,ホストOS の NW I/F と仮想I/F のブリッジまわりで,エラー. NWブリッジを削除して再度実行すると,うまくいった
  6. 以前に virtualbox を多重にいれてしまったため,1つしか作っていない仮想I/F が2つ表示されてしまい,レジストリから手で消したつもりだった I/F が何故か復活していたので,またレジストリを手で掃除する(実体がないので,コントロールパネルから消せない)
  7. 結局消せなかったので放置することにして,仮想OS を起動すると,とりあえず動くようになった.desktop版は,Guest Additions を入れないとシームレス表示できないので,入れる

Ubuntu server 9.10 32bit を入れたら GRUB が Error を吐いた

普通に最小インストールしたら,起動時に GRUB がエラーを吐いた.

GRUB loading
error: no such disk

色々調べた結果,この問題は LVM を使う自動パーティショニングを使ったのが原因であった.
GRUB のフォントが /usr 以下にあるのに, /boot 以外が LVM に格納されてしまう.
そして GRUB は LVM に対応していない(GRUB 2 は LVM に対応しているという話も検索すれば出てくるが,ともかく普通にインストールされる GRUB ではエラーが出る)

なら,さも使ってくれと言わんばかりに,最初からカーソルを LVM を使って自動パーティショニングする選択肢へ合わせないで欲しい

自宅サーバを作りたい

Atomアーキテクチャの発表以来,低消費電力のチップセットやベアボーンが安価で発売されている.
ちょっとした値段で,24時間稼動を前提にしたサーバが組めるのではないかという気がしてきた.

色々と見てみたが,[クレバリー](http://www.clevery.co.jp/)というBTOショップのケースが,外観もよくてニッチなニーズに答えた品揃えが多い気がする.
後,解説が分かりやすい.

ということで,mini-ITX対応ケースへACアダプタで電源供給するAtomアーキテクチャを組むと,いくらくらいかかって,消費電力はどの程度だろう.

ケース [CS-820](http://www.clevery.co.jp/eshop/g/g4560201131522/)
HDD [WD3200BEVT](http://www.clevery.co.jp/eshop/g/g2080212156953/)(2.5", SATA 320GB)
M/B [JNF94-270-LF](http://www.clevery.co.jp/eshop/g/g4534782890888/)
RAM [D2U667CQ-1GLZJ](http://www.clevery.co.jp/eshop/g/g4988755614597/)

これで,30,078円.
ミソは,電源がACアダプタで外に出ていることと,Atom 330ではなくN270なのでファンレス構造で動作するらしいということ.
とはいえSSDは高いので,諦めた.
[電源容量 皮算用 計算機。](http://www.cost-simulator.com/eco/eco3.html)によれば,この構成だとアイドル時7.47W,ピーク時21.3W.
この構成だと,キーボードやマウスすら誤差ではなくなるので,計算に入れてみた.
メモリの実装が片面か両面かとか,細かいことが分からないので,もしかしたらもう少し増えるかも知れない.

webサーバとして常時起動させておけば,ちょっとネット見たい時に楽だなぁ.

ちなみに7.47Wで動作させれば,1ヶ月の電気代は約150円.(電源変換効率75%の場合)
最近のPCは凄いなぁ…

telnet と imap4 でメールサーバ操作

私は,会社の共通のwebメールサーバ(imapサーバ)に,3ヶ月分のメールを置いている.
ちょっとした操作ミスで,今日,そのメールサーバのゴミ箱にアクセスできなくなってしまった.

アクセスできなくなる直前のメールボックス構成は次の通り.

INBOX
今月のメール
old
先月のメール
Trash
先々月のメール

私の使っているメーラのThunderbirdの場合,Trash以外のメールボックスで削除をするとメールがゴミ箱に入る.
先々月のメールを完全削除する前に先月のメールを削除してしまったので,その時点でTrashの中のメール数は2000~3000通くらいあったのだと思う.
一つのメールボックス内のメール数(多分メールボックスのサイズが効いている)が増えると,たまに応答がなくなってタイムアウトするので,まずいなーと思ってアクセスすると…
案の定,タイムアウトして中身を見ることも,ゴミ箱を右クリックして空にするコマンドも動作しなかった.

環境はこんな感じ.

  • imapサーバソフトは,どうもUW-IMAPくさい.ホームディレクトリの通常ファイルが全部丸見えるためだ.
  • 先日,sshやtelnetでshellへログインすることは全社的に禁止された.普通にアクセスしてシェルからファイルを消すことはできない.

現状認識
まぁでも,webメールから表示するメールボックスの選択ができるということは,ホームディレクトリをリストするコマンドは通っているはずだ.
メーラからimapサーバ上のフォルダを消したりできるので,imapの操作でファイルを消すこともできるはずだ.

つーことで,imapコマンドを調べながら,telnetで143にアクセスしてみた.
応答を見るとimap4らしい.
[IMAP4のコマンド一覧](http://www.atmarkit.co.jp/fnetwork/rensai/netpro09/imap4-command.html)のページを見ながら適当にいじったら,どうにかなったので,以下はそのログ抜粋.
基本的には私の打ち込んだコマンドのみ表示して,応答は省略.
ついでに,oldも消すことにした

1 login ***(username) ***(passwd)
2 list "" *
3 delete ./Trash

これで,ゴミ箱のメールボックスファイルが削除された.
次に,Thunderbirdを起動.

  • oldフォルダをゴミ箱に入れる.すると,Trashがメールボックスファイルではなくディレクトリとして生成される.
  • Thunderbirdからゴミ箱を空にする.すると,Trash/oldが削除される.
    (この過程を踏まないと,.mailboxlist というファイルが更新できないので,thunderbird上から old が消えない.
    thunderbirdもimapを叩いているだけだと思うので,実際には.mailboxlistを更新するようなコマンドがあると思う.これを使えばもっと早いのだが…それはよく分からなかった)

さっきログインしたままのコンソールから続きを入力する.

4 delete ./Trash
5 create ./Trash
6 logout

これで,Trashというメールボックスファイルが生成され,oldとか先月のメールとかがなかったことになる.