UNIX/Linuxの最近のブログ記事

Feb
10
2008

久々に素のOSを育ててますが、トキメキよりも面倒くささが先にたち、「あぁ、もうオッサンだなぁ」と嘆息しているわけです。先ほどTSUTAYAに返しに行ったDVDには「北の国から 83 冬」が混じってましたし、一番最近買ったCDは、盗んだバイクで走り出す人を謳ったモノ(BookOFFで250円)だし。

なので、configファイルをviでガシガシ編集するよりも、適当なツールで基本設定をしてもらうという手抜き工事に走っています。

となると俄然便利なのがwebmin

ただし、このコは結構なメモリ喰い。常駐させるのはヤな感じです。
そういう時は、xinetdでアクセスした時だけ起動させましょう。

先ずは、xinetdをインストール。なんて楽なんでしょう。PKG管理バンザイ。

# yum install xinetd
# sbin/chkconfig xinetd on

続いて、webminのインストール。これも楽勝。

# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.400-1.noarch.rpm
# rpm -Uvh webmin-1.400-1.noarch.rpm

常駐でOKならば、ここで # /sbin/chkconfig webmin on しちゃえばいいですが、webminのFAQで手順を確認しつつ、xinetd経由に設定しましょう。

ちなみに、webminはdefaultでは、10000番のポートを使用するようになっていますが、このポート番号はndmpに予約されちゃってますので、ianaのポート番号表を確認のうえ、適当な空きポートに設定しましょう。
49152以上はPRIVATE PORTSなので、ココを使うのが無難でしょう。
「会社からは80番しか行けないんだよ。」な場合はReverse Proxyするということで。

# vi /etc/services
webmin 49152/tcp
# vi /etc/webmin/miniserv.conf
#port=10000
port=49152
#session=1
inetd=1
# vi /etc/xinetd.d/webmin
service webmin
{
user = root
env = LANG=
port = 49152
socket_type = stream
protocol = tcp
wait = no
disable = no
type = UNLISTED
server = /usr/libexec/webmin/miniserv.pl
server_args = /etc/webmin/miniserv.conf
}

# /etc/init.d/xinetd restart

ついでですから、SSL対応も済ませちゃいましょう。perl-Net-SSLeayモジュールが必要になりますので、入ってない場合は

# yum install perl-Net-SSLeay

してから、Webminの[Webmin設定]->[SSL暗号化]メニューで設定。

userminを導入する場合も、PATHと使用ポート以外は全く同じ設定でイケます。

Feb
11
2008

サーバ移行していると、ソフトウェアをダウンロードしたり、旧サーバからファイルを取ってきたりとファイル転送を使用することがしばしば。
単一ファイルであれば、wgetが手軽です。-r オプションで再帰的な取得もできますが、anonymous FTPのディレクトリ内を眺めながらGETしたりする際にはやはり手に馴染んだFTPクライアントが欲しいところ。

ということで、NcFTPを入れましょう。perl -MCPAN -e shellとか、結構いろんなプログラムでFTP用途に呼び出されたりしますし。

ところが、CentOS 5標準のyumレポジトリにはncftpがありません。
そこで、yumからRedHat系OS向けに4,000以上のプロジェクトをRPM化して提供しているrpmforgeのパッケージが扱えるようにしてみましょう。

ちなみに、この作業の前はこんな感じ。


# yum install ncftp

Loading "installonlyn" plugin

Loading "fastestmirror" plugin

Setting up Install Process

Setting up repositories

extras 100% |=========================| 1.1 kB 00:00

updates 100% |=========================| 951 B 00:00

base 100% |=========================| 1.1 kB 00:00

addons 100% |=========================| 951 B 00:00

Loading mirror speeds from cached hostfile

Reading repository metadata in from local files

Parsing package install arguments

Nothing to do

そこで、"Installation and Configuration" を見ながらインストールしてみましょう。
といっても、

# rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

で終了。必要な時だけ、rpmforgeを見るように、設定ファイルを書き換えます。

# vi /etc/yum.repos.d/rpmforge.repo

enabled = 1

enabled = 0


そうしますと、yum に --enablerepo=rpmforge オプションを付加することで、rpmforgeのRPMを見に行くようになります。どのくらいファイル数が増えるか比較してみましょう。

# yum list | wc -l

3333

# yum list --enablerepo=rpmforge | wc -l

7147

まぁ、素敵。

では、NcFTPを......

# yum --enablerepo=rpmforge install ncftp

.
.
.
.

Nothing to do

なに?
# yum list --enablerepo=rpmforge | grep -i ncftp

#

ねーんでやんの。orz

なんだそれ?仕方ない。FedoraのSRPM持ってきてrpmbuildだ。

ちなみに、perlのモジュールがRPM化されたヤツがいっぱいあり、Plagger入れるときのモジュールの依存関係辺りで悩まずにすむかもしれないし、zopeなんかもRPM一発で入れられる(使わないけど).......ので、この作業は無駄ではない.....と信じたい。

Feb
20
2008

これまで8GBのVPSでも、Web関連のキャッシュ&ログに気をつけている限りは容量を使い切れなかったのに、今のサービスは50GB。

というわけで、総容量が10GBを超えそうな猫写真&猫動画のバックアップ領域を嫁に提供するべくWebDAVの設定。

GETで取得したquery文字列に含まれる日本語が化ける問題に対応するパッチというのも当ててみた。

CentOS5の場合、標準でWebDAVモジュールは入っているので、mod_encodingでの日本語対応と、httpd.confでの設定のみでOK.

先ずは材料として、WebDAV Resources JPのダウンロードページから、


と、先ほどのGETで取得したquery文字列に含まれる日本語が化ける問題に対応するパッチ(以下、mod_encoding-20020611a-safequery.patch
)
を用意。

■インストール


$ gunzip -dc mod_encoding-20021209.tar.gz | tar xvf -
$ cd mod_encoding-20021209
$ ./configure --with-apxs=/usr/sbin/apxs
$ cp ../mod_encoding.c.apache2.20040616 mod_encoding.c
$ patch -p0 < ../mod_encoding-20020611a-safequery.patch
$ cd lib

$ ./configure
# make
# make install
# cd ..
# make
# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
# cp mod_encoding.so /etc/httpd/modules/
# ln -s /usr/local/lib/libiconv_hook.so /usr/lib/httpd/libiconv_hook.so.1

■設定

# vi /etc/httpd.conf

<IfModule mod_encoding.c>
  EncodingEngine        on
  SetServerEncoding     UTF-8
  DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
  AddClientEncoding "Microsoft .* DAV 1.1" ASCII CP932 UTF-8
  AddClientEncoding "Microsoft .* DAV" UTF-8 CP932
  AddClientEncoding "(Microsoft .* DAV $)" UTF-8 CP932
  AddClientEncoding "(Microsoft .* DAV 1.1)" CP932 UTF-8
  AddClientEncoding "Microsoft-WebDAV*" UTF-8 CP932
  AddClientEncoding "RMA/*" CP932
  AddClientEncoding "xdwin9x/" CP932
  AddClientEncoding "cadaver/" UTF-8 EUCJP-MS
  AddClientEncoding "Mozilla/" EUCJP-MS
  NormalizeUsername on
</IfModule>
Alias /alias_directry_name /real_directry_in_full_path
<Location /alias_directry_name>
  AddDefaultCharset UTF-8
  Options +Indexes
  IndexOptions FancyIndexing FoldersFirst TrackModified
  DAV on
  AuthName "WebDAV Folder"
  AuthType Basic
  AuthUserFile /somewhere/.davpasswd
  Require user some_username_for_basic_authentication
  <LimitExcept HEAD OPTIONS>
       Require user some_username_for_basic_authentication
  </LimitExcept>
  Header add MS-Author-Via "DAV"
</Location>

# htpaswd -c /somewhere/.davpasswd some_username_for_basic_authentication
# /etc/init.d/httpd configtest
# /etc/init.d/httpd reload

Windows XP SP2以降では、Webフォルダ機能でのBASIC認証はhttpsでしか受け付けません。CentOS5は、標準でオレオレ証明書でのSSLが有効になっているので問題になりませんが、面倒な場合は自己責任でレジストリを変更して対処する方法もあるようです。

というわけで、着々とディスク使用量増加中

過去のエントリ(一覧)

最近のコメント

Powered by Movable Type 4.261
Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。