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
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
09
2008

前のエントリに書いた、ServerAxisのVPSにサインアップ。
クレジットカードをデジカメで撮影して添付する必要がありました。

ただ今sshログイン中。ちょっと眺めてみたところ、本当に素の状態で、ただOSが起動しているだけ。
sshもrootでリモートログインできちゃう。

# ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 init [3]
    2 ?        S      0:00 [migration/0]
    3 ?        SN     0:00 [ksoftirqd/0]
    4 ?        S      0:00 [watchdog/0]
    5 ?        S<     0:00 [events/0]
    6 ?        S<     0:00 [khelper]
    7 ?        S<     0:00 [kthread]
    9 ?        S<     0:00 [xenwatch]
   10 ?        S<     0:00 [xenbus]
   16 ?        S<     0:00 [migration/1]
   17 ?        SN     0:00 [ksoftirqd/1]
   18 ?        S<     0:00 [watchdog/1]
   19 ?        S<     0:00 [events/1]
   22 ?        S<     0:00 [kblockd/0]
   23 ?        S<     0:00 [kblockd/1]
   24 ?        S<     0:00 [cqueue/0]
   25 ?        S<     0:00 [cqueue/1]
   29 ?        S<     0:00 [khubd]
   31 ?        S<     0:00 [kseriod]
   91 ?        S      0:00 [pdflush]
   92 ?        S      0:00 [pdflush]
   93 ?        S<     0:00 [kswapd0]
   94 ?        S<     0:00 [aio/0]
   95 ?        S<     0:00 [aio/1]
  225 ?        S<     0:00 [kpsmoused]
  249 ?        S<     0:00 [kjournald]
  286 ?        S<     0:00 [kauditd]
  993 ?        Ss     0:00 dbus-daemon --system
 1082 ?        SNs    0:00 anacron -s
 1091 ?        Ss     0:00 /usr/sbin/atd
 1111 ?        Ss     0:00 hald
 1112 ?        S      0:00 hald-runner
 1141 ?        Ss     0:00 login -- root
 1142 tty1     Ss+    0:00 /sbin/mingetty tty1
 1144 tty2     Ss+    0:00 /sbin/mingetty tty2
 1147 tty3     Ss+    0:00 /sbin/mingetty tty3
 1149 tty4     Ss+    0:00 /sbin/mingetty tty4
 1154 tty5     Ss+    0:00 /sbin/mingetty tty5
 1156 tty6     Ss+    0:00 /sbin/mingetty tty6
 1231 ?        S      0:00 /usr/bin/python /usr/sbin/yum-updatesd
 1240 ?        Ss     0:00 -bash
 1428 ?        S<s    0:00 /sbin/udevd -d
 1522 ?        Ss     0:00 syslogd -m 0
 1525 ?        Ss     0:00 klogd -x
 2016 ?        Ss     0:00 crond
 2067 ?        S<sl   0:00 auditd
 2069 ?        S<s    0:00 python /sbin/audispd
 2110 ?        Ss     0:00 /usr/sbin/sshd
 2123 ?        R+     0:00 ps ax

httpdやMTAは勿論、xinetdさえ入ってません。:-)

弄りだしたらOS再インストールなんて滅多にやらないだろうと思い、一度試してみたのですが本当に簡単。

56-reinstall.jpg

こんな画面で数回クリックするだけで、数分後には新しいOSで起動します。素敵。

さて、先ずはsshのrootログインでも塞ぐか....

# vi /etc/ssh/sshd_config
.
.
#PermitRootLogin yes
PermitRootLogin no
.
.
# /usr/sbin/sshd -t
# /etc/init.d/sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

事前の一般ユーザ作成をお忘れなく。
でも、失敗してもVirtual Consoleからのログインも可能なので問題なし。素敵。

後は、インストール直後で見通しが良いうちに、不要なサービスの停止だの仮想コンソール数の削減だのを行いますが、この辺りは開設されているサイトも多いので割愛。
あ、タイムゾーンもJSTにしておこう。

過去のエントリ(一覧)

最近のコメント

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