« 2005年02月 | メイン | 2005年04月 »
2005年03月30日
Solarisでsshd
インストール直後は、SSHサーバが動いていないので、
# svcadm enable ssh
で有効にしようとしたが、maintenanceになってしまう。
SMFでは状態がよく分からないので、
# /usr/lib/ssh/sshd
で直接起動を試みてみると、どうやらホストキーの読み込みに失敗しているようだ。
最初から/etc/ssh内にはホストキーファイルが存在し、設定(オーナーやパーミッション)も問題ない。
仕方ないので、DSAとRSAの両方のホストキーを削除して、作りなおしてみた。
# cd /etc/ssh
# rm -f ssh_host_*
# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
これで直接起動は行えるようになったが、今度はSMFで起動できない。
# svcadm enable ssh
や
# svcadm restart ssh
を行なっても、maintenanceのままだ。
色々試行してみても解決しないし、Web上にも情報が無い。
で、ふと「一度disableにしてみたら?」と思い、やってみるとあっさりとonlineになって起動した。
つまり、
# svcadm disable ssh
# svcadm enable ssh
と入力しただけ。なんだかぁ・・・。
投稿者 masatsu : 13:16 | コメント (0)
2005年03月29日
psコマンドから見るSolarisとLinux
UNIXの系統にはSystemVとBSDの2つが存在するが、現在はもうごちゃまぜになっているような気がする。SolarisやLinuxがその良い例だろう。
しかし、コマンドのオプションスイッチ等で違いを見ることができる。
「LinuxはBSD互換」という言い方よりは、「SystemV互換」と言ったほうがしっくりくると思うのだが、プロセス一覧を見る場合は、
# ps ax
とする。これは、「BSD流」だ。
一方、SolarisはSystemVと統合したとはいえ、元々はBSDだ。
しかし、同じようにプロセス一覧を見る場合、
# ps -ef
になる。これは「SystemV流」だ。
なんだかなぁ。果たして、このへんが統一される日は、来るのだろうか?
Solarisを使いはじめて、今までLinuxで覚えたコマンドが使えない不便を言ってみただけ・・・。
投稿者 masatsu : 12:31 | コメント (0)
2005年03月28日
SolarisでWebmin
Solaris10には最初からWebminが入っている。
ところが、
# svcadm enable webmin
で有効にして
# svcs -a | grep webmin
で、確認してみても
「maintenance」となっていて、起動していない様子。
調べてみると、最初だけは次のコマンドで初期化しなければならないようだ。
# /usr/sfw/bin/webminsetup
これでブラウザからアクセスできるようになった。
LinuxでRPM版を使ったときは、インストールだけで使えるようになったのに・・・。
投稿者 masatsu : 13:46 | コメント (0)
Solarisコンテナ
Solaris10では、Zoneという「アプリケーション実行環境」をいくつも作成することができる。
これは、本来のOS空間上に仮想OS空間とでもいうべき領域を作成できるようなイメージだ。
なんとなくエミュレータに近い感じだが、エミュレータが本来のOSとは異なるOSをエミュレートするのに対して、ZoneはUNIX上にUNIX環境を作成する。
これの利点はセキュリティ面にあるようで、本来のOS部分(global zone)と個々のZone(non global zone)との間は通信できないように切り離すことができるため、サーバデーモンのセキュリティホールをつかれてrootをとられても、それはそのプログラムが動作していたZone(non global zone)のrootであって、大元(global zone)のrootではないということになる。
SoftwareDesign誌を読んで、まぁ、そんな感じに理解しているのだが、あってるのかいな?
問題は、一つのZoneの作成にメモリを40MB必要とするので、何GBもメモリを積んでいるようなハイスペックなサーバマシンならともかく、私のように中古のノートPCをサーバにするような貧乏人にはちょっとつらい。
しかし、外部セグメントにポートを開いているサーバプログラムは、Zoneで動かすと安心できるかもしれない(なんとなく・・・)。
投稿者 masatsu : 00:45 | コメント (0)
2005年03月26日
SolarisでApache2
/etc/apache2/httpd-std.confを同じディレクトリ内に「httpd.conf」という名前でコピーし、必要な箇所を書き換えた。
ところが、/usr/apache2/bin/apachectlを使って直接起動しようとしても、うまく起動できない。
UserとGroupを書き換えずに使っていたのだが、
User nobody
Group #-1
ではダメなようだ。
新規にwwwなんかの名前でユーザやグループを作成して、httpd.confを設定すれば起動できる。
つーか、そもそもconfファイルのコピー元が悪かったようだ・・・。
/etc/apache2/httpd.conf-example
をhttpd.confにすれば、何の問題もなく起動できる。
こちらのファイルは、最初からUserとGroupが「webservd」になっているからだ。
ちなみに
ps axやps auxはエラーになるので、プロセス一覧を見たいときは、
# ps -ef
にする。
apachectlで起動できることを確認したので、一旦ストップしてSMF起動に変更すれば完了だ。
# svcadm enable apache2
このあと、
# svcs -a | grep apache2
で「online」になっていれば成功。
投稿者 masatsu : 14:44 | コメント (0)
2005年03月25日
SMF(Service Management Facility)
サービスの起動や管理が、Solaris10からSMFに移行している。
svcsコマンドやsvcadmコマンドで、起動状況や有効・無効の切り替えを行なえる。
# svcs -a
でSMF管理されているサービスの一覧を表示できるので、grepで目的のサービスを絞り込めば良い。
onlineと表示されていれば、そのサービスは有効で起動している状態だ。
有効・無効の切り替えは、
# svcadm [enable | disable] (サービス名)
で行ない、サービス名については、そのサービスが特定できさえすれば省略形でも構わない。
svcsした時に、onlineまたはofflineの右側に「*(アスタリスク)」が表示されるときがある。
いろいろググってみたが分からない。
そのサービスが何らかの設定ミスで起動できないものについて、このマークが表示されるようだ。
もちろん推測だが・・・。
投稿者 masatsu : 14:24 | コメント (0)
2005年03月22日
Solarisの系譜
商用UNIXの一つであるSolarisが、10になってオープンソース化されたので、導入したいと思っている。
今日買ってきた「SoftwareDesign」の2005年4月号が、Solaris10の特集を行なっているので読んでいると、以前に知人とした雑談を思い出した。
すなわち、「SolarisはBSD系か、SystemV系か」。
この特集の最初にSolarisの歴史が書かれているのだが、答えは「どちらも間違い」。
もともとSunはBSD系だったが、SystemV系のAT&Tと結んで統一UNIXを作ろうとしたのがSolarisらしい(統一UNIX自体は失敗)。
結局、BSD系のカーネルにSystemVを統合したものらしいが・・・。
投稿者 masatsu : 00:19 | コメント (0)
2005年03月19日
MoinMoinの設置
Pythonを使ったWikiクローンであるMoinMoinを、Plamo上(ユーザホーム上)に設置してみた。
結構面倒な上に日本語資料がほとんど無いので、ここに書いておこう。
まず、moin-1.3.4.tar.gzをダウンロードして、サーバにFTP転送。
$ tar xvzf moin-1.3.4.tar.gz
で解凍すると、moin-1.3.4ディレクトリが作成される。
$ cd moin-1.3.4
$ python setup.py --quiet install --prefix=$HOME --record=install.log
でインストールするのだが、これだけでは完了しない。
$ cp -r wiki/ ../
で、ホーム上にWikiの場所を作成。
あと、いらないものは削除しておこう。
$ cd ..
$ rm -rf moin-1.3.4
$ rm -rf moin-1.3.4.tar.gz
で、ここからが面倒なのだが、まず必要なファイルをpublic_html上にコピーする。
$ cd wiki/
$ cp -r htdocs/ ~/public_html/wiki
$ cp server/moin.cgi ~/public_html/wiki
$ cp config/wikiconfig.py ~/public_html/wiki
次にrootになって、Apacheのユーザとグループをhttpd.confで確認する。
(うちの環境では、ユーザはwww、グループはapache)
dataディレクトリとunderlayディレクトリのオーナーをApacheユーザに変更する。
# chown -R www.apache /home/masatsu/wiki/data/
# chown -R www.apache /home/masatsu/wiki/underlay/
root作業はこれだけなので、exitでユーザに戻る。
あとはmoin.cgiとwikiconfig.pyの編集作業だ。
$ cd ~/public_html/wiki/
$ vi moin.cgi
ここに次の3行を追加する。
-------------------------------------------------------
sys.path.insert(0, '/home/masatsu/lib/python2.3')
sys.path.insert(0, '/home/masatsu/lib/python2.3/site-packages')
sys.path.insert(0, '/home/masatsu/wiki')
-------------------------------------------------------
$ vi wikiconfig.py
この中のsitename、data_dir、data_underlay_dir、url_prefix、default_langを変更。
-------------------------------------------------------
sitename = u'Friction River Wiki'
data_dir = '/home/masatsu/wiki/data/'
data_underlay_dir = '/home/masatsu/wiki/underlay/'
url_prefix = '/~masatsu/wiki'
default_lang = 'ja'
-------------------------------------------------------
これで、ブラウザから「http://friction.mars.ddns.vc/~masatsu/wiki/」にアクセスすると、Wikiのトップページが表示されるはずだ。
本当にこの手順で良いのかは、よく分からないが・・・。
投稿者 masatsu : 15:36 | コメント (0)
2005年03月08日
rsyncでバックアップ
このブログもそうだが、サーバ上に直接書き込みを行なっている場合、ローカル環境にデータが残っていない。
もしもサーバのハードディスクがクラッシュすると、泣くに泣けない話しになる。
そこで、rsyncでPlamoの/home以下をVineの外付けUSBハードディスクにバックアップしよう。
1.まずVineにrsyncをRPMでインストール(Plamo側は標準で入っていた)。
2.Plamoでrootになり、「ssh-keygen -t rsa」で公開鍵と秘密鍵を作成し、公開鍵(id_rsa.pub)をVineの/root/.sshにコピーし、catでauthorized_keysに追加(但し、鍵作成時、パスフレーズを入力しない)。
3.Vineのsshd_configを書き換え。
PasswordAuthentication no
PermitRootLogin yes
4.Plamoにスクリプトファイルを作成。
----------------------------------------------------------------
#!/bin/sh
rsync -avz --delete -e ssh /home/ (VineのIPアドレス):/mnt/usbhdd/backup/
----------------------------------------------------------------
(cronでスケジューリングしても良いのだが、外付けHDDなのでスクリプトにした)
これで、いつでもPlamoの/home以下をバックアップすることができる。簡単だ。