vsftpd on Ubuntu

セキュアなFTPが求められる昨今。vsftpd を Ubuntu に搭載し検証することにした。

ウェブ上のいろいろな情報を参考にしながら作業を進めたのであるが、ssl_enable を設定していないことがあって、心配になった。ssl_enable を設定しないと、plain FTP になるような気がする・・・ まだ十分分かっていないのだが。

で ssl_enable=YES にすればつながるかと思いきや、なかなかつながらない。というか vsftpd デーモンが起動したようで、すぐ落ちてしまう? というか service vsftpd restart とやると、普通なら vsftpd stop/waiting となって vsftpd start/running, process nnnn となる。ところが stop: Unknown instance: などと訳の分からないメッセージになっている。何かおかしい・・・

試行錯誤をし続けたあげくに、ようやくわかった。rsa_cert_file=/etc/ssl/certs/vsftpd.pem は自分で作っていて、このように設定したのであるが、rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key なる設定がデフォルトのまま残っていた。そもそもこんなファイルは作りもせず、元から存在していない。この設定行をコメントアウトしたら、やっとこさ FTPS アクセスが成功した。・・・・変なデフォルト行はコメントアウトしておいてくれよ~~・・・

WireShark で通信確認したら、ほんどだ、暗号化されている。plain FTP のように、パスワードが覗けるなんてことがなくなった。よしよし。検証作業はこのくらいにして、いざ正式運用FTPサーバーの立ち上げに向かおうか。・・・といっても私は作業しないと思う・・

カテゴリー: 未分類 | コメントする

BLFSbookドラフト

BLFSブックをちまちまと訳出してきているが、なかなか完成には至らない。期待している方が、もし仮におられたりすると、非常に申し訳ないことであるが、私自身いつ完成するか、本当に完成できるのかは不明であり少々自信もない。まぁ無理せず徐々に進めることにしている。申し訳ない。

で、本日BLFSブックの処理において(あるいはDocbook処理において)「ドラフトモード」なる設定があることを知った。xsl定義としては以下とするものらしい。

<xsl:param name="draft.mode">yes</xsl:param>

実際にBLFSブック日本語版の処理に組み入れてみた。へぇぇ、そんな結果になるんだ! HTML版もPDF版も。PDF版はPostScript的に昔から随所で実現しているものを見てきているので、全く想定どおりであるが、HTML版は、よくもまぁそんなことを考えたもんだ、と関心する。興味のある方は以下のリンクを参照あれ: http://lfsbookja.sourceforge.jp/BLFS/svn.ja/

LFSブック、BLFSブックの実現ソースは、DocBookの実用例として、多大なるサンプルを提供してくれているものだ。つくづく感心させられると同時に、その随所のテクニックを十分身につけていきたいものだ。

カテゴリー: LFS | コメントする

WebKitGTK

BLFSにてGnome環境を構築しようと思ったら、途中でWebKitGTK+なるパッケージを導入する必要がある。BLFSブック現時点にて、このパッケージはWebKitGTK+-1.10.2

さて最新のLFS-SVN-20130219をベースとして、このパッケージをビルドすると以下のエラーとなる:

...
  CXX    DerivedSources/WebKit2/Programs_WebKitPluginProcess-PluginProcessMessageReceiver.o
  CXX    DerivedSources/WebKit2/Programs_WebKitPluginProcess-WebProcessConnectionMessageReceiver.o
  CXXLD  Programs/WebKitPluginProcess
/usr/bin/ld: Source/WebKit2/Platform/unix/Programs_WebKitPluginProcess-SharedMemoryUnix.o: undefined reference to symbol 'shm_unlink@@GLIBC_2.2.5'
/usr/bin/ld: note: 'shm_unlink@@GLIBC_2.2.5' is defined in DSO /lib64/librt.so.1 so try adding it to the linker command line
/lib64/librt.so.1: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[1]: *** [Programs/WebKitPluginProcess] エラー 1
make[1]: ディレクトリ `/mnt/lfs/sources/BLFS/webkitgtk-1.10.2' から出ます
make: *** [all] エラー 2

あちこち調べると、改修のためのパッチなどの情報にも行き着くのだが、そもそも当パッケージは、本日時点にて 1.11.5 がリリースされているため、こちらにバージョンアップしてビルドしてみる。ちなみにこの WebKitGTK は SBU が 55 であり、各種パッケージの中でも最上位にランキングされそうな、ビッグな(ビルドに時間を要する)パッケージなので、検証には時間と辛抱を必要とする ^^;

で、1.11.5 により、エラーなく WebKitGTK ビルド完。

ちなみに、1.10.2 の時には無かった依存パッケージとして libwebp なるものが新たに必須となっていたため、libwebp-0.2.1.tar.gz をどこぞより検索入手してビルドする。そのビルドは、ごく普通に以下とする:

./configure --prefix=/usr
make
make install

configure 結果を見る限り、この libwebp の依存パッケージは libpng、libjpeg、tiff と目されるが、まぁ詳しい調べごとはおいおい。

カテゴリー: LFS, ビルドエラー | コメントする

LFSビルドwithSSD

先週末に「SSDはむっちゃ早いから手を出さないなんてありえない」的な話が上がった。これに影響され、それまで直接SSDに触れたことがなかったので、本日購入した。外付けとしての利用につき、外付けHDDカバーに設置。さっそくLFS作りに利用してみた。

LFSブックで言う「SBU」(binutilsのビルドに要する時間) がどれだけになったか。以下、大雑把に私の経験値の比較。

  • 10分: i686 32ビット、SATA HDD
  • 6分: Core i5 64ビット、SATA HDD
  • 2.5分: Core i5 64ビット、SSD (今回)

驚きの数値。まだまだ早くなる要素はあって、上はまず外付けとして USB3.0接続での利用であること、またLFS作りはVMware仮想環境上であること、という、速度低下要因があっての話である。そういう要因でなかったとしたら、もっと早いってことか。

SSDがどしどし安価になっていくことを、切に願う。

カテゴリー: LFS | コメントする

nss-3.14

nss-3.14をビルドしようとして、エラーになった。

ふと思いついて、export MAKEFLAGS=’-j 2′ を常々定義し、種々のパッケージをコンパイルしてきているのが悪さをしているように思い、unset MAKEFLAGS したら、nss ビルドが通った。

んんー、これから気をつけるべきところなんだろうけど、どう気をつけたらよいのやらって感じだなぁ・・・

カテゴリー: LFS, ビルドエラー, ビルド手順 | コメントする

SubversionサーバonWindows

最近 Subversion サーバーを Windows Box に搭載する方法をいろいろ試行している。現に社内でも Windows 2008 Server に、まがりなりにも Subversion サーバーを立ち上げて運用している。

サーバー構築には SourceForge.net にある Subversion for Windows を利用。Cyrus-SASL データベースによる認証を実現するのに、四苦八苦。これについては場を改めて語ろうか。

クライアントからコミットした際に、svn log にて (no author), (no date) と表示され、コミットユーザーとコミット日付が表示されない症状に見舞われる。http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=88192 に解決策が示されていたので助かった。

上によると、Anonymous アクセスを明示的に指定しなければならないんだそうで、svnserve.conf にて、anon-access = none を指定するか、あるいは anon-access = read とするなら、authz にて *=r を加える必要があるんだそうな。

実際 Windows 7 上に立てた Subversion サーバーにて、見事解決した。ちなみにそれまで数回コミットして no date などとなっていたログが、解決後はすべて正常に表示された。次の確認は Windows 2008 Server だな。まぁこの方法でとりあえずいけるのだろう。

カテゴリー: windows | コメントする

mysql-5.5.28

MySQL-5.5.28の導入にて四苦八苦。
ビルド・インストールまでは問題なし。mysqld_safe の起動と、mysqladmin による root パスワード設定ができない。

まず mysqld_safe が BLFS 手順どおりだと立ち上がらない。以下とすることで起動できることを見つけた。

mysqld_safe --user=mysql --datadir=/srv/mysql &

–datadir オプションが、BLFSブックにはないもので、これを加えたもの。

次に mysqladmin -u root password が実行できない。
仕方なく、権限テーブルを無視した mysqld の起動を行い、システムテーブルのパスワードを書き換えるという方法により解決。どこぞのWEBページにて示されていた方法。

mysqld --skip-grant-tables --user=root &
mysql -u root
sql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
-> WHERE User='root';
sql> FLUSH PRIVILEGES;

どこかで手順間違いを起こしたのか? こうすることが解決方法なのか? わからないわからない・・・

カテゴリー: LFS | コメントする

Net-tools

Net-toolsはコマンド ifconfig を提供するパッケージであり、IPアドレス確認時に何かと利用している。

LFS SVN-20121002 より Linux カーネルが 3.6 となり、linux/if_string.h なるヘッダーファイルがなくなった様子。詳しくは承知せず、調べごともしていないが、これがために Net-tools のビルドが出来なくなった。

エラーは以下のよう:

cc -O2 -g -Wall -fno-strict-aliasing  -I.. -I../include  -D_GNU_SOURCE -I. -I/mn
t/lfs/sources/BLFS/net-tools-CVS_20101030/include -Ilib  -c -o strip.o strip.c
strip.c:24:28: 致命的エラー: linux/if_strip.h: そのようなファイルやディレクトリ
はありません
コンパイルを停止しました。
make[1]: *** [strip.o] エラー 1

で、どうにかなるものか、Web検索すると、答えがすぐ見つかった。分かっている人、情報提供してくれる人が居て、非常に助かる。(参考ページ)

上の情報から、以下の対処とすることにした。近々BLFSにも、解法が掲載されるのであろう・・・

sed -i -e '/Token/s/y$/n/' \
       -e '/STRIP/s/y$/n/' config.in

とりあえず ifconfig は動作している。

カテゴリー: LFS, ビルドエラー | コメントする

bash_completionのこと2

bash_completionのことにおいて、tarコマンドでのxz拡張子の補完が為されないことを示した。

xzファイルが増えてきた昨今、どうしてもxzを補完して欲しい。自分で作るしかないかな。・・・ということで作った。

bash-completion-20060301.patch

カテゴリー: LFS | コメントする

Subversion-1.7.6

2012/08/15 にリリースされた Subversion-1.7.6 を本日ビルド。
(LFS SVN-20120824、VMware Workstation 9 上)
ただしエラー発生。

エラーを取り損ねたが、だいたい以下のようなもの

tools/server-side/mod_dontdothat/mod_dontdothat.c:25:19: error: httpd.h:
No such file or directory 

以下のページに、とりあえずのパッチあり:
http://svn.haxx.se/users/archive-2012-08/0180.shtml

独自に作ったパッチ: subversion-1.7.6.patch

これにより Subversion-1.7.6 ビルド完了。

ちなみに、Apache は入れるつもりがなく、これを無しとしたビルド方針であるのだが、
それにも関わらず httpd.h を求めてくる(=mod_dontdothat なるモジュールを作りにいく)のは、
バグであるかの様。

カテゴリー: LFS, ビルドエラー | コメントする