Linux ディストリビューションの1つ。RPM を使用している。
2002年9月30日リリース。Linux kernel 2.4.18 (Fedora Legacy Project により 2.4.20 が提供された)。
2003年3月31日リリース。
社内サーバ上の Subversion リポジトリを気軽に閲覧できるように、以前から試そうと思っていた SVN::Web をインストールしてみる。
しかし Subversion の Perl バインディングである SVN::Core は、Subversion パッケージに同梱されていて独立していないのか。 Subversion は Red Hat Linux 8.0 へ RPM パッケージで入れているのだが、SVN::Web の方は /usr/local/perl-5.8.8 以下にインストールした Perl 5.8.8 上へ入れようと思っていたので、はたと困る。
--with-perl5=/usr/local/perl-5.8.8/bin/perl
で configure して、Perl モジュールだけインストールしてみたけれどうまく動かず。
素直に Red Hat Linux 8.0 に標準で入っている Perl 5.8.0 に入れるかなぁ。
昨日の自分のノート PC で Hyper Estraier の試用を踏まえて、社内のサーバに Hyper Estraier を設置する。
いまだ Red Hat Linux 8.0 であるサーバに、昨日と同様に Hyper Estraier 1.2.7 を /usr/local/hyperestraier-1.2.7 以下にインストール。
この環境では ./configure 時に iconv が見つからないため、最初に libiconv 1.9.2 を /usr/local/hyperestraier-1.2.7 に入れ、続けて QDBM、Hyper Estraier の順にインストール。
estwaver + estmaster でクローリング + 文書登録も問題なく完了。
で検索をしようと http://ホスト:1978/node/ノード名/search_ui にアクセスするも、検索フォームを含め何も表示されない。あれ? 他の管理ページは問題なく表示されるのに search_ui だけ駄目。
GNU Wget だときちんと HTML を GET できるのだけれど、Firefox や Internet Explorer からだと駄目である。
いろいろビルドしなおしてみたけれどやっぱり駄目なので、今回は結局 estmaster をやめて CGI プログラム版の UI を使うことにした。 こちらだとクローリング中は検索ができなくなってしまうけれど、夜中に cron で回すから別にかまわないか。
以下のような感じでクロールし、登録することにした。
特定の Wiki や Blog 内のみを検索したい時は、検索インタフェースの方で URL を指定絞り込めば良いので、それほど規模も大きくないし全部ひとまとめにインデックス化することにした。
後は使いながら微調整していくこととしよう。
後ろの席の人、Dell Precision 470 に iPod shuffle を挿したら、ファンが掃除機並みの音を立てるようになりそのまま亡くなった。
ヨドバシカメラであわてて買ってきた HDD ケースに、ぶち抜いた HDD を入れてデータをコピーしている(確認しないで最初 IDE タイプを買ってきて、もう一度店舗にいって SATA タイプに交換。そしたら部品欠品があり再度店舗に交換してもらいにいったというのは秘密)。
斜め向こうの人も Windows を再インストール中。
不吉だ。 自分も何台かバックアップを怠っているので、それぞれバックアップを再検討することにした。
特に気になっているのが Red Hat Linux 8.0 BOX のバックアップ。 以前は pdumpfs で毎日バックアップしていたのだが、バックアップ用 USB 外付け HDD がクラッシュ。新しいものを手配したのだがうまく認識できなくてバックアップに使えていない。 TeraStation PRO にそのディスクを接続してネットワーク経由でバックアップする予定つもりではいる。 で、バックアップには DAR を使おうと思ったのだが、Red Hat Linux 8.0 上でビルドできなかったのでそこで止まっていた。忙がしいこともあってその後ずっとほったらかし。
ビルドが通るようにコンパイラやライブラリのバージョン上げるのも大変なので、今回は別のホストでビルドしたものを使うことにした。 DAR はもともとリカバリ用に必要なライブラリを静的リンクした dar_static が作られるようになっている。これなら別環境でビルドしても動くはず。
Linux kernel 2.4 系の Debian GNU/Linux BOX があるので、そこで apt-get build-dep dar してから、dar-2.3.8.tar.gz をとってきて展開。
./configure --prefix=/tmp/dar make make install-strip
できあがった dar_static を dar として Red Hat Linux 8.0 BOX にコピーしてテスト。 うまく動いている感じ。
そういえば最初に DAR をいじってみたのは2005年4月なのだが、開発が進んでコマンドライン引数の指定の仕方がかわったようだ。 その時はバックアップ対象ディレクトリを直接引数として渡せたのだが、現バージョンではオプション引数として渡す必要があるようになっている。
DAR のスケジューリングとローテーションを提供する SaraB ( http://sarab.sourceforge.net/ ) もちょっと気になっている。 要チェック。
1発で通らなかったので、インストールした時の記録。
tar zxvf openssl-1.0.0a.tar.gz cd openssl-1.0.0a ./config make make test make install
tar zxvf curl-7.21.2.tar.gz cd curl-7.21.2 ./configure --with-ssl=/usr/local/ssl --prefix=/usr/local make make install
tar jxvf git-1.7.3.1.tar.bz2 cd git-1.7.3.1 ./configure --prefix=/usr/local --without-openssl make make install
新しい開発プロジェクトでは Git + Redmine を使おうと思う。 で例により使えるのが Red Hat Linux 8.0 サーバなので対応する Ruby やライブラリを含めてソースコードからビルドしてインストールしたのだが、ちょっとハマったのでメモ。
システムにインストールされている OpenSSL を(パッケージがなくアップデートできないので)残したまま、新しい OpenSSL をいれて使うのだが Ruby でこれを使えるようにする方法に辿りつくまで8割の時間を費した。
OpenSSL のデフォルトである /usr/local/ssl へビルドしてインストールする。
tar zxvf openssl-1.0.0b.tar.gz cd openssl-1.0.0b ./config shared make make test make intall
何も指定しないと共有ライブラリ(so)がビルド・インストールされないのが落とし穴。
後は /usr/local/redmine 以下に Redmine に必要なものを入れる。
tar jxvf ruby-1.8.7-p302.tar.bz2 cd ruby-1.8.7-p302 CFLAGS='-I /usr/local/ssl/include' \ LDFLAGS='-L /usr/local/ssl/lib -Wl,-rpath=/usr/local/ssl/lib' \ ./configure --prefix=/usr/local/redmine --enable-rpath make make install
大きな落とし穴は Ruby に含まれている ext/openssl。 OpenSSL 用の共有ライブラリが作られるのだが、いくらやってもこいつが /lib に入っている古い OpenSSL 共有ライブラリの方をリンクしてしまい /usr/local/ssl/lib の方をリンクしてくれない。
configure や make 時に LD_RUN_PATH やら -rpath を指定しても効かないし、ext/Setup で openssl を静的に指定しても駄目だし。
結局 configure.in を眺めて AC_ARG_ENABLE(rpath, ...) があるのを発見して --enable-rpath したところようやく -rpath が共有ライブラリのビルドに反映されるようになった。
30m ぐらいの深さの大きい落とし穴。
/usr/local/redmine に Ruby が入ったので必要なものを入れていく。 確実にそこの Ruby を使うようにしばらくは /usr/local/redmine/bin 以下を絶対パス指定で作業。
tar zxvf rubygems-1.3.7.tgz cd rubygems-1.3.7/ /usr/local/redmine/bin/ruby setup.rb
Redmine のデータベースは一番お手軽な SQLite を使う。これもインストール。
tar zxvf sqlite-amalgamation-3.7.3.tar.gz cd sqlite-3.7.3 ./configure --prefix=/usr/local/redmine make make install
Ruby から SQLite を使うためのライブラリをインストール。
/usr/local/redmine/bin/gem install sqlite3-ruby -- --with-sqlite3-dir=/usr/local/redmine
SQLite のありかを示す --with-sqlite3-dir を -- の次に指定するというところに気がつくのに浅い落とし穴。
Redmine のインストールの説明では Passenger を推奨しているようなので入れてみる。
/usr/local/redmine/bin/gem install passenger
OK。しかし Apache モジュールを
/usr/local/redmine/bin/passenger-install-apache2-module
でインストールしようとすると失敗。Apache の dev 系のファイルがシステムに入っていないので、それはそうだな。しかし Passenger のコマンドは寡黙ではなく何が駄目で何をすべきかきちんと表示してくれるのでわかりやすい。
この落とし穴は、横を通って回避。
Passenger のインストールで最新の Rack が一緒にインストールされるのだが、Redmine には新しすぎて後の手順でエラーで止まる。 ので、ここで 1.0.1 にダウングレードしておく。
/usr/local/redmine/bin/gem install rack -v 1.0.1
これは皆が知っている落とし穴。
ようやく Redmine のインストール。 展開するだけ。
tar zxvf redmine-1.0.3.tar.gz mkdir -p /usr/local/redmine/var/lib mv redmine-1.0.3 /usr/local/redmin/var/lib/redmine
以下 /usr/local/redmine/var/lib/redmine で作業。
cd /usr/local/redmine/var/lib/redmine
config/database.yml を作成する。SQLite を使うように設定。
production: adapter: sqlite3 database: /home/naney/var/redmine/redmine.db
データベースは定期バックアップのある自分の home 以下に。
makdir -p ~/var/redmine
config/email.yml を作成する。今回は専用の redmine@example.com を作成して、その SMTP サーバ/アカウント経由で送信するようにする。
production: delivery_method: :smtp smtp_settings: address: smtpserver.example.com port: 25 domain: redmine.example.com user_name: "redmine@example.com" password: "mypassword"
必要なファイルやらデータベースの初期化やらを行う。
/usr/local/redmine/bin/rake config/initializers/session_store.rb /usr/local/redmine/bin/rake db:migrate RAILS_ENV=production /usr/local/redmine/bin/rake redmine:load_default_data RAILS_ENV=production
最後のコマンドでは言語を選ぶプロンプトが出るので ja を指定。
Apache 経由ではなく Passenger スタンドアローンで Redmine を使ってみる。
/usr/local/redmine/bin/passenger start
失敗。途中の処理で rake が見つからないという。
PATH=/usr/local/redmine/bin:$PATH passenger start
やっぱり失敗。自動的にダウンロードした ngix のビルドに失敗しているっぽい。 落とし穴。
/usr/local/redmine/bin/ruby script/server webrick -e production
Redmine 的には 本番向けではない WEBrick は無事起動。
http://インストールしたサーバ:3000/
にブラウザにアクセス。Redmine のページが見えたよオッカサン! admin:admin でログインしてあとは Web ブラウザから設定。 Git リポジトリの連携もすんなり。
やったね。
WEBrick で使い続けるなら script/server 起動時に -d オプションを指定する(記事)。
ずっと入れていなかったんだけれど、ふと。 Red Hat Linux 8.0 にインストールした時とは違って、標準的な手順で OK。
bash cd install wget http://kernel.org/pub/software/scm/git/git-1.7.6.tar.bz2 tar jxvf git-1.7.6.tar.bz2 cd git-1.7.6 gmake prefix=$HOME/local/git-1.7.6 gmake prefix=$HOME/local/git-1.7.6 install cd ~/local ln -s git-1.7.6 git cd ~/bin ln -s $HOME/local/git/bin/* .
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。
#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。
ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。
※内容は個人的見解であり所属組織とは関係ありません。