Vine Linux七転八倒
このページは、このサーバーの立ち上げから今までの格闘の模様を伝えるページです。(爆)
技術的に大した事書いてませんし、もしかすると間違っているかもしれません。
もし参考にする人がいたら、それは自己責任でお願いします。m(__"__)m
2004/08/28
今週から来週にかけていつも通っているコナミスポーツが改修工事のため休館してます。
そのため土日が暇です。こんなこと今まで無かったなぁ...
ところで、前回のバージョンアップ後不調になっていたApacheの認証についてですが、原因が判りました。
なんとパスワードを設定するファイルを間違えたと言うか、パスを省略したために関係ない所にあるファイルに書き込んでいました。
最近はwebminを使うことが多いのですが、webminで設定しても認証が無効になるのでktermで久しぶりに打ち込んで見ました。
いつもどおりマウスでメニューをプルダウンしてktermを起動します。
その後コンソールに /usr/local/apache/passdb とタイプして目的のフォルダに移動します。
そしてここに格納してある***.passと言うDBにユーザー登録をします。
htpasswd ***_pass rosenkreuz
こんな感じで打つとパスワードを聞いてくるのでリタイプも含めて2回打ち込みます。
コンソール上はこれで会話が終わるのですが、相変わらずApache君は新規ユーザーの認証に反応しません。
なんでだろ〜と随分悩んで前回はあきらめたのですが、今回は「じゃあフルパスで指定したらどうなる?」と思いつき試してみました。
htpasswd /usr/local/apache/passdb/***_pass rosenkreuz
こんな感じでパスワードファイルをフルパスで指定すると、やはりいつものとおりパスワードを求めてきますので2回打ち込みます。
すると adding new usr とか返してくるじゃないですか。
そういえば今まではこのメッセージが出てませんでした。
ま、なにはともあれ新規ユーザーの登録完了です。
webからもちゃんと反応してくれました。
webminも良いのですが、やはりコンソール会話が一番確実ですね。
もしかしてLinuxってDOSと違ってディレクトリの移動は出来ないんですかね?
なんか勘違いしてますか?>私
2004/05/22
昨日は台風一過の晴天で、非常に気温もあがりましたが、今日は朝から低気圧が張り出してきて雨になってます。
昨日の天気が持続していれぱ愛車で筑波の山の中を攻めて、返す刀で利根川沿いのワインディングを犬吠埼まで走るつもりでしたが、この天気では外出は考え物ですね。
仕方ないのでコンテンツでも弄ることにしました。丁度ftpが動かなくなった原因もわかったので備忘録代わりに書いておくことにします。
今回ftpが動かなくなった原因は不明です。解消策は見つかりましたが、なぜそうなったのかはVine Linuxのサイトにも書いてありませんでした。
ですが、私と同じ症状を訴える人が居たため、その対処策を参考に復活させたと言うのが本当の話です。
多分、アップデートする際にインストーラが勝手に環境を書き換えたのが原因だと思いますが、ソースを追いかける程の知識がないので諦めます。
メインフレームでシステム開発やってた時は追いかけましたけどね。あの時は詳細設計書でしたから勝手が違います。
さて、今回の症状はwebmin上でproftpdを起動しても、コンソールで起動しても実際には動いていないと言う事でした。
コンソールからは以下のように打ち込んでます。
/etc/rc.d/init.d/proftpd restart
実はアップデート直後はwebminも死んでいて、一切の操作ができませんでした。
これにはあせりました。既にコンソール会話は忘れているので、古い資料を引っ張り出してきました。
最終的には上記のコマンドのproftpdをwebminに置き換えたコンソール会話で再起動し事なきを得ました。
話を元に戻しますが、この会話によって(実際には一旦切ってからの立上げなので /etc/rc.d/init.d/proftpd start)コンソール上は[ok]と表示されます。
これで起動は完了と言うことなのですが、クライアントから一切アクセスできません。
クライアントから見ると「サーバーが停止しています」というメッセージが返されるんですね。
ここでまたコンソールを使いステータスを確認します。
/etc/rc.d/init.d/proftpd status
すると「proftpdは停止していますが、サブシステムがロックされています」と返ってきます。
日本語的にちょっとおかしい表現なのはご愛嬌ということですが、サブシステムがロックされているのはなんなのでしょう?
ちなみにwebmin上でもproftpdのステータスは確認できますが、同様に「proftp dead but subsys lockd」と返ってきます。
日本語のコンソールに帰ってきたコメントはこれを直訳したものもですね。
ところでこれの解決策をネットで調べると /etc/inetd.conf の ftp stream tcp 〜の部分を#でコメントアウトせいと書かれていました。
でも、動かないんだな。
実はここで堂々巡りを3日程やっていました。まあ、日中は会社勤めなので放置していたってのもあります。
最終的にはこのコメントアウト+/etc/shutmsg の削除で動き出したのですが、shutmsg の削除が面倒でした。
/etc/shutmsg を削除するのは別な解決策に書いてあった事なのですが、ファイルマネージャーで削除してコンソールからproftpdを起動すると相変わらずサブシステムがロックされた状態で先に進めません。
色々と考えた挙句、ファイルマネージャーで削除してサーバーを再起動したらどうなるのか?と思いつき、試してみました。
すると何事も無かったようにftpが立ち上がった状態でシステムが起動するじゃないですか。
もともとこのサーバーはproftpdをスタンドアロンで立ち上げていますので、PC起動時にproftpdも起動スクリプトで一緒に立ち上がります。
これをコンソールから起動してたので何時までたっても /etc/shutmsg が作成されてサブシステムがロックされる事を繰り返していた訳です。
ま、基本でしょと言われればそれまでですが、NTカーネルのwindowsXPもLinuxも再起動しなくてもシステムに反映されるのが売りのOSなんですけどね....
動いたからよしとしましょう。
2002/09/28
Vine Linux自体は、正式版がリリースされる前から使い始めて、平成11年4月には書籍とともに1.0版を入手。
その後2.0RCのパッケージ版を購入し現在では2.5を利用している。2.6も手元にあるのだが、HDDの不調により一度サーバーが死んだことと、その復旧作業や新コンテンツの作成、ftp環境周りの整理などに時間がかかっており、インストールする暇がない状況です。
ところで、このVine Linuxサーバーですが、基本的に手間が掛からない良いパッケージで組まれていると思います。
2.0を購入した頃からwindows一本槍になってしまって、コマンドラインでの運用をすっかり忘れたこともあり、システム管理はwebminに頼りっきりですが、大きな問題もなく順調に運用できています。
とは言いつつも、ftp環境には結構苦労しました。
標準でインストールされるproftpdのアクセスコントロール方法が判らず、今までftpを開放できませんでした。もちろんAnonymousでのログインを殺す方法も判らなかったので、ftpのホームディレクトリには何もおかない状態で放置してたってことなんですが(^-^;;
今までにも色々な書籍を立ち読みしてはアクセスコントロールの方法を探していましたが、その様な記述はどの本にもありませんでした。
ところが、先日googleで検索掛けたところ、解決策らしきものが見つかったので試してみました。
その方法とは、以下にproftpdの設定ファイルであるproftpd.confを載せて解説します。
この設定ファイルは/etc配下にあります。
-------------------------------ここからproftpd.conf-----------------------------
01|# This is a basic ProFTPD configuration file
02|#
03|# It establishes a single server and a single anonymous login.
04|# It assumes that you have a user/group "nobody" and "ftp"
05|# for normal operation and anon.
06|
07|ServerName "ProFTPD Basic Configuration"
08|ServerType standalone
09|DefaultServer on
10|DefaultRoot ~ ←この行を追加
11|
12|# Port 21 is the standard FTP port.
13|Port 21
14|# Umask 022 is a good standard umask to prevent new dirs and files
15|# from being group and world writable.
16|Umask 022
17|
18|# Use localtime
19|TimesGMT FALSE
20|
21|# To prevent DoS attacks, set the maximum number of child processes
22|# to 30. If you need to allow more than 30 concurrent connections
23|# at once, simply increase this value. Note that this ONLY works
24|# in standalone mode, in inetd mode you should use an inetd server
25|# that allows you to limit maximum number of processes per service
26|# (such as xinetd)
27|MaxInstances 30
28|
29|# Set the user and group that the server normally runs at.
30|User nobody
31|Group nobody
32|
33|# Normally, we want files to be overwriteable.
34|<Directory /*>
35| AllowOverwrite on
36|</Directory>
37|
38|# A basic anonymous configuration, no upload directories.
39|<Anonymous ~ftp>
40|
41| User ftp
42| Group ftp
43| # We want clients to be able to login with "anonymous" as well as "ftp"
44| UserAlias anonymous ftp
45|
46| # Limit the maximum number of anonymous logins
47| MaxClients 10
48|
49| # do not require shells listed in /etc/shells (user ftp do not have shell...)
50| RequireValidShell no
51|
52| # We want 'welcome.msg' displayed at login, and '.message' displayed
53| # in each newly chdired directory.
54| DisplayLogin welcome.msg
55| DisplayFirstChdir .message
56|
57| # Limit WRITE everywhere in the anonymous chroot
58| <Limit WRITE>
59| DenyAll
60| </Limit>
61|
62| <Limit LOGIN> ←この行を追加
63| DenyAll ←この行を追加
64| </Limit LOGIN> ←この行を追加
65|
66|</Anonymous>
-------------------------------------ここまで-----------------------------------
ざっとこんな感じで4行追加しています。
最初の行はログイン時にユーザー毎に指定されたホームディレクトリ以上には階層を上れませんと言う宣言文ですね。
ユーザー管理についてはwebminで簡単にできますので、ここでは書きません
最後の3行はAnonymousのログインを制限する宣言文です。
試していませんが、その上のLimit WRITE文はAnonymousでログインしたユーザーに書き込みを許可しない宣言文みたいですね。
以上の設定をproftpd側に行えば、後はフォルダ毎のパーミッションと所有者の組み合わせで書き込みができるフォルダと読み出し専用フォルダを作り分けることができます
判ってみると大したことないのですが、どこにも書いてないってのは最近の本には困ったものです。
そう言えば、本を探していたら大学生が「XPになったら自動化されたのは良いけど、ウイザードがどこをどう書き換えたのか判らないから手が出なくなった」と嘆いていました。
確かにNT4.0の頃と比べてXPは使い勝手は良くなりましたが、一旦ヘソを曲げるとガンとして言うことを聞かないOSになっちゃいましたね。