« Previous | Next » (Home)     [カテゴリー:FreeBSD ]

2006.05.01

FreeBSD-6.1RC1でXwindow・・・(FreeBSD)

今まで、FreeBSDはserverとしての利用に重きをおいていたため、Xwindow 関係の設定については書かないできた。 私のClient PCのグラフィックカードがsis630でFreeBSD-6.0では Xwindowがうまく立ち上がらないということもあった。
ところが、 FreeBSD-6.1RC1を入れたら簡単に立ち上がったので、少しXwindowをいじくってみた。

1.インストール

distributions.jpg
インストール自体は6.0と同じだが、Xwindowを使うためインストールはX-developerを選択する。

2. Window Managerのインストールと日本語関係の準備

  (1) Window Manager
     Window Managerはやはり一番洗練されていると思われるKDEを選んだ。
     packageからkde-3.5.1, ja-kde-i18n-3.5.1.tbzを選んでインストールする。
  (2) kterm, kinput2, canna, jvim3
     日本語の使用を可能とするため、packageからja-kterm-6.2.0_7.tbz,   
     ja-kinput2-canna-3.1_2.tbz, ja-jvim-canna-3.0.j2.1a_1を入れておく。 
     これでcannaも同時に入る。

3.Xwindowの立ち上げ

xorg1.jpg
Xwindowを立ち上げるためxorgcfgコマンドを打ち、mouse, keybord, graphic cardならびにdisplayの同期周波数を設定し、結果を/etc/X11に保存する。
/etc/X11にxorg.confが出来あがるので、これでXwindowが立ち上がる準備が出来たので、startxと打ってDefaultのtwm(一番簡単なWindow Manager)が立ち上がることを確認する。

4.日本語関係の設定

(1) cannaの起動を自動化するため、/etc/rc.confに canna_enable=”YES”の1行を追加する。
(2) 自分のHome Directoryにある.profileに次の3行を追加する。

LC_ALL=ja_JP.eucJP;    export LC_ALL
LANG=ja_JP.eucJP;      export LANG
XMODIFIERS=@im=kinput2; export XMODIFIERS

  (3) .inputrcファイル
      自分のHome Directoryに.inputrcのファイルを作成し下記の3行を入れておく。

set convert-meta off
set meta-flag on
set output-meta on

5.KDEの立ち上げ準備

/usr/X11R6/lib/X11/xinitrcの中にあるxinitrcを自分のHome Directoryにコピーし、ファイル名を.xinitcに変え以下のように最後の部分を修正する。

# start some nice programs
#/usr/X11R6/bin/twm &
#/usr/X11R6/bin/xclock -geometry 50x50-1+1 &
#/usr/X11R6/bin/xterm -geometry 80x50+494+51 &
#/usr/X11R6/bin/xterm -geometry 80x20+494-0 &
#exec /usr/X11R6/bin/xterm -geometry 80x66+0+0 -name login
kinput2 -canna &
sleep 3
exec startkde

ここまで準備が出来たら、一度rebootしてcannaも起動させloginしてstartxでKDEを起動する。
起動の過程で国と言語を選択する画面が出るので国は日本、言語は日本語を選んでおく。
もちろん、この設定はコントロールセンタで「国と言語」を選べば後でも自由に選択できる。

6.ktermの設定

無事KDEが起動したら、今後の作業に備えてまず最初にktermを使えるようにします。
タスクバーもしくは画面上にktermのiconを置き、これをクリックするとktermが起動するようにする。
タスクバー上でマウスの左クリックで非KDEアプリケイションの追加を選び、追加するアプリケーションのファイル選択で/usr/X11R6/bin/ktermを選び以下のように記述しておく。

/usr/X11R6/bin/kterm -sb -sl 250 -fn 10x20 -km euc

パラメータの意味を説明すると、

-sb     スクロールバーをつける
-sl 250  スクロールバッファーを250行確保する
-fn 使用文字を指定
-km 使用文字コードを指定

kterm -hと打つとその他にも沢山のオプションが存在するのが表示される。

7.その他のアプリケーション

後は好みだが、私はpackageでfirefoxの日本語版とgimpを入れ、portsからxineと、linux-realplayerを入れて動画再生も出来るようにした。
なお、xineをportsから入れるにはpackageのdevelのカテゴリーからlibtoolを入れておく必要があり、無いと途中でエラーで止まってしまう。
linux-realplayerを使うためにはインストールでlinux互換機能を入れておく必要があるが、入れていなければ
/usr/sbin/sysinstallを起動してdistributionからlinuxを追加でインストールする必要がある。

8.問題点

firefoxでどうしてもflashplayer-7.0がうまく動きません。
macromediaがacrobatのAdobeに吸収されてたときの騒動で、flashplayerの使用可能OSからFreeBSDが抜け落ちたため、律儀にFreeBSDで使えるようにportsを作らなかったようである。
署名運動も起こっているようで、いずれ誤解が解けて使えるようになると思っている。

2006.01.19

Portsを最新版にする・・・(FreeBSD)

昨日、clamAVのインストールを書いた。
うまく動いているようだが、freshclamコマンドを実行するとお前の使っているバージョンは古いと以下のようなメッセージがでる。

WARNING: Your ClamAV installation is OUTDATED
WARNING: Local version: 0.87 Recommended version: 0.88

それでは、最新版を入れ直そう思い、まずportsを最新版にすることにした。
このためにcvsupを動かす必要があるのでcvsupをportsで入れる。

# cd /usr/ports/net/cvsup-without-gui
# make install clean

だいぶ時間が掛かるが、終了したら、/usr/share/examples/cvsupにあるports-supfileを/etcにコピーする。

# cp /usr/share/examples/cvsup/ports-supfile /etc

このファイルはRead-Onlyになっているので chmod 644 ports-supfileで編集可能としてから、中身を編集する。
編集個所は *default hostの指定のみで、ここに記述したhostと同期を取ることになる。
私は *default host=cvsup.jp.freebsd.org とした。

*default host=cvsup.jp.freebsd.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix

これで、updateする準備が出来たが、要らないports/chineseやports/vietnameseなどもupdateされるので /var/db/supにrefuseというファイルを作り、要らないportsを列記しておく。

# mkdir /var/db/sup
vi /var/db/sup/refuse
ports/arabic
ports/chinese
ports/french
ports/german
ports/hebrew
ports/hungarian
ports/korean
ports/polish
ports/portuguese
ports/russian
ports/ukrainian
ports/vietnamese

あとは、cvsup -g -L2 /etc/ports-supfile で同期が始まる。

# cvsup -g -L2 /etc/ports-supfile

かなり時間が掛かる。 終わったら、clamAVの入れ直しだ。

# cd /usr/ports/security/clamav
# make WITH_MILTER=yes clean
# make WITH_MILTER=yes install

これで、サーバをrebootして最新版を起動する。
freshclamコマンドでもWarningは出なくなった。
なお、例えばclamscan -r /home とすると/home以下のウイルスをチェックしてくれる。
延々とファイルリストの表示が続いたあと結果が以下のように出力される。

# clamscan -r /home
Known viruses: 42492
Engine version: 0.88
Scanned directories: 558
Scanned files: 14193
Infected files: 0
Data scanned: 1092.54 MB
Time: 1108.554 sec (18 m 28 s)

2006.01.16

Firewallの設定・・・(FreeBSD)

韓国からの不正浸入を試みようとするアクセスが異様に多い。 そんなに簡単には破られる事は無いと思うが、無気味であり、もしものことを考えてFirewallでサーバを守ることとにした。
FreeBSD 6.0で運用しているが、設定は簡単で /etc/rc.conf に次の2行を追加する。

firewall_enable="YES"
firewall_type="/etc/ipfw.conf"

しかし、ここでサーバを再起動すると私のようにWindowsからTera Termでアクセスしていると、その後一切アクセスできなくなるので要注意です。
理由は、defaultで
65535 0 0 deny ip from any to any
が設定されているからです。 この意味は全てのipパケットを禁止するとなる。
そこで、/etcに ipfw.confの名前のファイルを作り、最低次の1行を書いておく。
add 65000 allow all from any to any
ipfwのルールは番号の若い順に評価されるので、65535番より若い65000で全てのパケットを通すと指定しておく。 これでサーバをrebootして、

# ipfw -a list  と入力して設定ルールを見ると、
65000 354796 84007947 allow ip from any to any
65535      0        0 deny ip from any to any
となる。

後は、中国・韓国のIPアドレスを拒否するからipアドレス一覧をダウンロードし、Editorで開いて全選択してコピーし/etc/ipfw.conf の 6500 all allow ip from any to anyの行の前に貼り付ける。
これで、再度サーバをrebootすれば公式に韓国に割り当てられたip addressからのパケットは全て拒否できる。

            ・
            ・
            ・
add deny log all from 222.120.0.0/15 to any
add deny log all from 222.122.0.0/16 to any
add deny log all from 222.231.0.0/18 to any
add deny log all from 222.232.0.0/13 to any
add deny log all from 222.251.128.0/17 to any
add 65000 allow all from any to any

それでも、proxy経由でアクセスされたら防げないが、90%程度は阻止できるとのことである。

2006.01.15

sshの設定・・・(FreeBSD)

ほとんど、自宅内からしかアクセスしないからとssh接続の設定を行っていなくて通常のtelnetを使っていたが、使ってみようと設定することにした。
設定と言っても/etc/rc.confにsshd_enable=”YES”が入っていればsshdは既に起動しているので、もっぱらWindowsのクライアント側の作業となる。
最初、使っていたTeraTerm ProにTSSHをダウンロードして入れて設定しようとしたが、この組み合わせではSSH1しか使えず、最近のSSH2は使えないのでもっと新しいTeraTerm Pro UTF-8 対応版をダウンロードして新しく入れた。
ダウンロードするのはteratermj_utf8_425.exeで、ダウンロード後これをクリックするとインストールが始まる。
インストールしたら、起動すると図-1のような画面が現れるので、最初はまず通常のtelnetモードでloginする。
tterm01.jpg
      (図-1 )
loginできたら、設定のSSH KeyGeneratorを選ぶと図-2のような画面が現れるのでKey TypeにRSAを選んでKey Passphraseを入れてGenerateを押してKeyを生成する。
tterm03.jpg
      (図-2)
keyはpublic key(公開鍵)とprivate key(秘密鍵)の2つがそれぞれid_rsa.pubとid_rsaの名前で出来上がるので、この2つを保存しておく。
次に自分のhome directoryに .sshというDirectoryを作りftpでid_rsa.pubを送り込み、authorized_keysとファイル名を変える。
これで準備が出来たので、Tera Termを一度終わらせて再度Tera Termを起動し今度はsshを選んでOKボタンを押す。
(図-3)のような画面になるのでUse RSA/DSA Key to loginを選びPrivate Key fileを押して先に保存したid_rsaを選択してPassphraseにKey生成で用いたのと同じPassphraseを入れOKを押すと、見事にlogin出来る。

これで準備が出来たので、Tera Termを一度終わらせて再度Tera Termを起動し今度はsshを選んでOKボタンを押す。
(図-3)のような画面になるのでUse RSA/DSA Key to loginを選びPrivate Key fileを押して先に保存したid_rsaを選択してPassphraseにKey生成で用いたのと同じPassphraseを入れOKを押すと、見事にlogin出来る。
tterm04.jpg
      (図-3)
ここで、従来使っていたPasswordとPassphraseの違いを述べておくと、passwordは通常10字程度の記号と英数字でスペースは許されないが、Passphraseはもっと長くスペースも許されるので、
I can see beautiful mountainsのような文章とすることが出来る。
そして、文は文法的に誤りがあったり、スペルミスがある方が良いとされる。
しかし、長い文はloginのたびに入れるのが大変なので、自宅内だけなら簡単なpasswordと同じものでも良いと思う。

2005.11.18

使えるVMwareによるFreeBSD (2)・・・(FreeBSD)

VMwareでフルスクリーンでFreeBSDを稼働させるためには、VMware-Toolsが必要と書いたが、その後詳しく調べてみるとVMware-Toolsは必要ないことが分った。
たしかに、/usr/X11R6/lib/modules/driversにはvmware_drv.oがFreeBSDには標準で入っている。
それで、VMware-Toolsで作られたxorg.confを眺めていたら、
HorizSync 1-10000
VertRefresh 1-10000
の指定が、胆であるのが分った。
しかし、vmmouse_drv.oは/usr/X11R6/lib/modules/inputにないと、自由にVMware画面とホストの画面をマウスのポインターが行き来は出来ない。 
結局、vmmouse_drv.oさえ手に入ればVMware Playerで十分で、個人で買うには高いVMware Workstatinなどは必要ないことになる。 マウスぐらいは標準でも、少し不便だが我慢できる範囲でもある。
以下に私が現在使っているxorg.confを載せて置く。

Section "ServerLayout"
Identifier     "X.org Configured"
Screen      0  "Screen0" 0 0
InputDevice    "Mouse0" "CorePointer"
InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
RgbPath      "/usr/X11R6/lib/X11/rgb"
ModulePath   "/usr/X11R6/lib/modules"
FontPath     "/usr/X11R6/lib/X11/fonts/misc/"
FontPath     "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath     "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath     "/usr/X11R6/lib/X11/fonts/CID/"
FontPath     "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath     "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath     "/usr/X11R6/lib/X11/fonts/TrueType/"
EndSection
Section "Module"
Load  "dbe"
Load  "dri"
Load  "extmod"
Load  "glx"
Load  "record"
Load  "xtrap"
Load  "freetype"
Load  "type1"
EndSection
Section "InputDevice"
Identifier  "Keyboard0"
Driver      "kbd"
Driver      "keyboard"
Option      "XkbRules" "xorg"
Option      "XkbModel" "jp106"
Option      "XkbLayout" "jp"
EndSection
Section "InputDevice"
Identifier  "Mouse0"
Driver      "vmmouse" ・・・
・・ vmmouseのdriverが無ければ"mouse"とする
Option      "Protocol" "Auto"
Option      "Device" "/dev/sysmouse"
Option "ZAxisMapping"       "4 5"
EndSection
Section "Monitor"
Identifier   "Monitor0"
VendorName   "GSM"
ModelName    "75N"
HorizSync    1-10000
VertRefresh  1-10000 
Option      "DPMS"
EndSection
Section "Device"
Identifier  "Card0"
Driver      "vmware"
VendorName  "VMware Inc."
BoardName   "Generic SVGA"
BusID       "PCI:0:15:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
SubSection "Display"
Viewport   0 0
Depth     16
Modes     "1024x768"
EndSubSection
SubSection "Display"
Viewport   0 0
Depth     24
Modes     "1024x768"
EndSubSection
EndSection

ついでに、Xwindowで日本語が使えるように、自己のホームディレクトリーの.profileに以下の赤字部を追加する。

BLOCKSIZE=K;       export BLOCKSIZE
EDITOR=vi;      export EDITOR
PAGER=more;     export PAGER
LC_ALL=ja_JP.eucJP;    export LC_ALL
LANG=ja_JP.eucJP;      export LANG
XMODIFIERS=@im=kinput2; export XMODIFIERS

Window managerには気に入っているKDEを入れたが、.xinitrcには

kinput2 -canna &
sleep 3   ・・・・ ないと、kinput2での入力がうまく行かない場合が
あるようだ
exec startkde

これで、ktermでも入れておけば日本語のファイルも作れるし、パッケージで入れたfirefox(portsで入れるとえらく時間がかかる)のフォーム入力にも日本語入力が可能になる。
firefox.png

« Previous | Next »