TAP による接続 [coLinux/Gentoo]
なんだか良くわからないが、引越しして AP の配置が変わったら、
あんなに使えなかった無線LAN http://blog.so-net.ne.jp/nakagami/2004-10-10-1
がまともにうごくようになった。
coLinux を Wincap によるブリッジでネットワークに参加させていたが、
無線のLAN adapter でブリッジさせようとすると、coLinux を起動しようと
するときに、Windows ごと落ちてしまう。
しかたがないので、以前はよくわかってなかった TAP による接続をしてみた。
Wincap の状態から変更したのは、
1. 起動設定の xml ファイルで network の type を tap にしてドライバを変えた
<network index="0" type="tap" name="Tap-Win32-coLinux" />
2. Windows のネットワークの TAP ドライバに IP アドレスの設定
3. 2.に合わせて、coLinux 側の IPアドレス、デフォルトゲートウェイの変更(/etc/conf.d/net)
正直、何で、ルーティングできてるのかよくわからないが上記の変更だけで
インターネット上のリソースにもアクセスできてる。
(ADSL モデム君は、なぜ coLinux への経路を知ってるんだろう・・・)
Windows 2000 と XP だとダイアログがちょっと違うけど、↓の説明がわかりやすかった。
http://scratchpad.fc2web.com/colinux/install/install-5-1.html
追記
>(ADSL モデム君は、なぜ coLinux への経路を知ってるんだろう・・・)
あっ、NAT してんのか・・・。
glibc-2.3.5-r1 になって emerge が通るようになった [coLinux/Gentoo]
以前のエントリで書いたように glibc-2.3.5 のところでビルドに失敗していた
http://blog.so-net.ne.jp/nakagami/2005-05-14
今日 http://lowlife.jp/mft/weblog/2005/07/26.html を見て
emerge --sync emerge --update --deep world
をしたら、私の環境でも glibc-2.3.5-r1 になって、久しぶりに emerge が通るようになった。
カーネルが 2.6 の人は r1 じゃなくてもビルドが通っているようだが Gentoo で 2.4 のカーネルを
使っている人って、そんなに少ないんだろうか。
Gentoo に Firebird をインストール [coLinux/Gentoo]
# emerge firebird
で /opt/firebird にインストールされる(今日の時点では、バージョンは 1.5.2)
/etc/firebird/ に firebird.conf、 security.fdb、 aliases.conf が置かれ /var/log/ に firebird.log
が置かれ、/opt/firebird にあるのは、それらへのシンボリックリンクになっている。
ビルドが終わったところで、
「1回だけ ebuild /var/db/pkg/dev-db/firebird-1.5.2/firebird-1.5.2.ebuild config を実行して!」
とメッセージが出る。
といっても、/etc/hosts.equiv に、localhost と自分のホスト名の行を追加してるだけで
あとは、「使っている UDF があるんだったら /opt/firebird/UDF に保存して」と
メッセージが出るだけなので、/etc/hosts.equiv の設定が必要なければ実行する必要ないと思う。
ちなみに、hosts.equiv に記述がないところから接続しようとすると /var/log/firebird.log に
SERVER/process_packet: connection rejected for firebird
と出てた。
# /etc/init.d/firebird start
で fbserver が起動し、
# rc-update add firebird default
で、次回から(default run level で )ブート時に fbserver が起動するのは Gentoo のお約束。
sysdba/masterkey でログインできちゃうので、早急にパスワードを変えておくのが良いだろう。
ちなみに、emerge が終わったところで、UID:firebird と GID:firebird 加えられている。
python のことも書くと
# emerge kinterbasdb
を実行すると、python に kinterbasdb の他に kinterbasdb を使うのに必要な
egenix mxbase モジュールがインストールされて調子いい。
(現在 /usr/bin/python のバージョンは、2.4 になっちゃってるんだけど。)
Firebird のソースからのインストールとか、一通りの使い方は↓こちらも見てくだされ
http://www005.upp.so-net.ne.jp/nakagami/Memo/Firebird.html
mod_python インストール [coLinux/Gentoo]
mod_ruby をインストールしてみたんだから、mod_python もインストールしてみる
ちなみに、USE フラグには apache2 を加えてある。
# emerge mod_python
mod_python 3.1.4 っていうのがインストールされたみたい。
/etc/conf.d/apache2 の APACHE2_OPTS に "-D PYTHON" を加える。
/etc/apache2/httpd.conf には次の行を加える
LoadModule python_module modules/mod_python.so
使ってみる場合はここらへんから見てみることにする。(今回は使ってみない)
http://www.lab.tkikuchi.net/modpython/tut-pub.html
http://www.lab.tkikuchi.net/modpython/tut-what-it-do.html
昨日のエントリの mod_ruby のための httpd.conf の書き方も、必要になったら読むと良いかも。
Basic 認証もハンドラを書くとできるみたい
http://www.lab.tkikuchi.net/modpython/tut-more-complicated.html
CGI をシミュレートするハンドラもあるみたいだけど、あんまりお勧めされていない。
http://www.lab.tkikuchi.net/modpython/hand-cgi.html
その他参考
http://www.modpython.org/
http://www.lab.tkikuchi.net/modpython/
http://paison.hp.infoseek.co.jp/paison/web/modpython-start.html
mod_python フィルターの練習
http://tosa.tkikuchi.net/Members/tkikuchi/Python/mod_python_filter/view
全体的な感想
なんとなく、できあがったものの処理は速そうだけど、慣れないと作るのが大変そう。
自分が使うことは無いんじゃないかなぁ・・・。
Gentoo に Apache をインストール [coLinux/Gentoo]
前提として、現在の私の環境では、USE フラグに threads を加えて
emerge --update --deep --newuse world
している。( glibc は、2.3.4 のままだけど )
# emerge apache
をすると、configure の途中で、↓のようなエラーが出て止まってしまった。
configure: error: the selected mpm -- -- is not supported
mpm っていうのは、これ↓のことらしい。
http://httpd.apache.org/docs-2.0/ja/mpm.html
# emerge -pv apache
をすると、 -mpm-xxxxxx というのが何種類か出た。
USE フラグに mpm-threadpool を加えて emerge -pv apache をもう一度実行してみると、
+mpm-threadpool となったので、この状態で
# emerge apache
を実行したら、無事コンパイルが終わった。
ビルドは完成したけど、なんかビルドの途中で、
「DSO をこれから追加するんだったら USE フラグに apache2 を加えといたほうがいいよ」
と出たような気がしたので、USE フラグに apache2 を加えておいた。(今回の作業には関係なし)
# rc-update add apache2 default
をすると、起動時に apache2 を起動してくれるようになる。
とりあえず、手動で開始するには
/etc/init.d/apache2 start
という感じ。
ところが、起動するときに、apache2 が「FQDN がわからん、FQDN を 127.0.0.1 に設定した(超訳)」
と言ってきた。
(以下、DNS に登録しないでごまかしたわたしのやり方)
/etc/conf.d/domainname に
DNSDOMAIN="nakagami.net"
という行を加えて、
# rc-update add domainname default
をしておくと、次の起動から /etc/resolv.conf に以下の行が加わる。
domain nakagami.net
リゾルバ・ライブラリ君は、これでごまかせるので、次は Gentoo 君のほかの部分を
ごまかすために、/etc/hosts に以下のような感じでホスト名を加える。
192.168.1.2 colinux.nakagami.net colinux
これで、Gentoo 君のほかのいろいろな部分も、colinux.nakagami.net が FQDN だと判断してくれる。
コンソールで、
$ hostname --fqdn colinux.nakagami.net
と出たらOK。
そういえば、boot 時に warning が出てて無視してたけど、Gentoo 的には
/etc/hostname じゃなくて、/etc/conf.d/hostname にホスト名を書くらしい
この状態で、apache2 を起動して、サイトルートにアクセスすると、Apache のテストページが出る。
デフォルトの状態で、設定ファイルは /etc/apache2/httpd.conf に、
コンテンツ、CGI は /var/www/localhost にある。ログは、/var/log/apache2 に出力される。
/var/www/localhost のファイルのパーミッションをいじったり、ファイルの内容を
変えたりして、オリジナルがどんな状態かわからなくなってきた。
# emerge --unmerge gentoo-webroot-default # emerge gentoo-webroot-default
と実行すると、/var/www/localhost の状態が元に戻るみたい。
インストールした直後の状態で、/cgi-bin/ の CGI が動かなかった。
安全のために、suEXEC っていうので、制限しているらしい。
http://www.toshikazu.org/archives/000009.html
かなり試行錯誤したが、結局 suEXEC で CGI を動かすのは挫折した。
/etc/apache2/httpd.conf の
LoadModule suexec_module modules/mod_suexec.so
の行をコメントアウトして、
CGI スクリプトの owner:group を apache にして、実行権限を付加した(下記の行参照)
# chown apache:apache /var/www/localhost/cgi-bin/* # chmod u+x /var/www/localhost/cgi-bin/*
この状態で、
http://colinux.nakagami.net/cgi-bin/test-cgi
http://colinux.nakagami.net/cgi-bin/printenv
みたいな感じで、/cgi-bin/ に入っている CGI が実行できた。
glibc-2.3.5 のコンパイルが失敗 [coLinux/Gentoo]
http://lowlife.jp/mft/weblog/gentoo/2005/04/24.html
私も、同じ問題にあって emerge --update --deep world ができなくて困っていた。
結局
# rm /usr/portage/sys-libs/glibc/glibc-2.3.5.*
として、glibc-2.3.5 の ebuild を削除すると emerge --update --deep world できるようになった。
こんな解決でいいのかどうか知らんが。
coLinux 0.6.2 のインストール [coLinux/Gentoo]
最近、いつも Tokulog経由だけど、今回も
http://clouder.jp/yoshiki/mt/archives/000388.html
Debian の人には、非常にわかりやすい。画面がある解説はいいねぇ。
私にはよくわからなかった TAP によるネットワーク接続の解説もあり。
ところで、↓で coLinux 0.6.2 + Gentoo でうまくいかなかったと書いたが
http://blog.so-net.ne.jp/nakagami/2005-02-09
ここ↓を見ると、何の問題もなくインストールできてるみたい。
http://hori-uchi.com/archives/000326.html
ひょっとして、coLinux 0.6.2 + Gentoo-colinux-stage3-x86-2004.3 + TAP
の組み合わせならうまくいくのか?(私は WinCap を使用)
それとも、私の勘違いで WinCap でも簡単にインストールできるのか?
私の勘違いだったら、そんな私の言葉を信じてしまった人↓ごめんなさい
http://www.dgames.jp/dan/?date=20050215#p03
Kernel が 2.6 じゃなくても、全然困らないので、私はこのまま coLinux 0.6.1 にしとくけど、
ちなみに
coLinux 0.6.1 → Kernel 2.4 用
coLinux 0.6.2 → Kernel 2.6 用
になっていて、仮想ネットワークドライバの都合とかもあって、0.6.1 と 0.6.2 は互換性はない
軽量 Window Manager IceWM をインストールしてみる [coLinux/Gentoo]
coLinux上の KDE を Cygwin の Xから使っていたらさすがに重いので、
IceWM を使ってみることにする。
# emerge icewm
のあと、startx とか、.Xdefaults とか .Xsession とか、
起動しているスクリプトで icewm を実行。
http://shikabo.ddo.jp/linux_server/doc/x/icewm.htm
http://bd.tank.jp/gentoo/config_icewm.html
KTerm と Firefox 以外は立ち上げないのでこれで十分
確かにだいぶ軽い
年々 CPU パワーとかメモリとかアップしても、
軽量の価値は失われないもんだなぁ。
OpenSSH のインストールと設定 [coLinux/Gentoo]
基本的な設定はこんだけ。
http://nekhet.ddo.jp/item/765
これで、パスワードによる認証ならOK。
default のランレベルでsshd の起動を行ないたい場合は
# rc-update add sshd default
を実行。
ssh -l user_name host_name
でログインできるか確認
公開鍵やホストベースの認証で、パスワードの入力を省略したい場合
http://www.jp.freebsd.org/QandA/HTML/1578.html
CVS で ssh を使う場合
.bashrc などに
export CVS_RSH=ssh export CVSROOT=:ext:host_name/var/lib/cvsroot
という感じ。
サーバー側のユーザー名とクライアント側のユーザー名がことなる場合は、
export CVSROOT=:ext:user_name@host_name/var/lib/cvsroot
と、ユーザー名を指定
仮想化技術の急激な普及 [coLinux/Gentoo]
最近 coLinux 上の Gentooを使っていると OS を仮想マシンで使わない理由ってないなぁ、
と思えてくるが、
ここ数日、急に聞くようになった Xen
http://japan.cnet.com/news/ent/story/0,2000047623,20080818,00.htm
VMWare の GSX サーバーとかいうやつみたいなやつだな。
仮想ブロックデバイスと、仮想ネットワークデバイスのOSでのサポートがあれば、
ディスプレイや HDD のシュミレーションは(サーバーの集約に使う分には)
必要ないな。
いつか出ると思っていたけど、こんな早い段階ででるとは。
組み込み機器のような例外を除いて
生のハードウェア上で OS を動かすことはないようになっていくんだろうなぁ。
IBMの汎用機 z900 シリーズとかいうのは、ものすごい数の Linux を動かすことが
できるらしいが、そんなことが PC サーバーでもできるようになるんか。
しかも、オープンソースで
coLinux で最も良いと思うのは、仮想ブロックデバイスのイメージをバックアップしておけば、
OSを含めたすべての環境がバックアップ&復元できること。
そのうち、Xen(のような仮想マシン上)の`バックアップソフトが、個別 OS の
バックアップソフトを駆逐していくのかも。