Home » [Tech] » [Linux]

2008.08.31

[ Linux]   FedoraからUbuntuにお引越し

かなり古いVAIOノート(type t VGN-T90PS)にFedoraを入れていたのですが、この度Ubuntuに切り替えました。
Fedoraで困っていたのは

  • サスペンドから復帰するときにディスプレイの輝度が0になってしまうことが多々あった
  • タッチパッドのタップがどうしてもアクティブにできなかった
  • 何かのタイミングで音が出なくなることがあった

とくにサスペンドからの復帰失敗は致命的だったわけです。

で、この前ハードディスクの換装をしたのを機会に最近はやりのUbuntuをつっこんでみたら、あら不思議。
上の問題全部が解決してしまいました。しかもデフォルトで。

使い始めて1ヶ月くらいですが、何の問題もなく使えてます。
強いて言えばタップの感度が良すぎるので変更したいんだけどまだ調べてないことくらいですかね。

その昔Slackwareで日本語環境を整えることに苦労するところから始まって、Xの設定がうまくいかず挫折したりしたころから思うといい時代になったものです。
素晴らしい。

2007.12.03

[ Linux]   CentOS 5.1 リリース

今朝おもむろにyum updateをかけたら猛烈な量の更新がかかったのであせりました。
RHEL5.1のリリースに伴いCentOS 5.1がリリースされたんですね。
すでに国内のミラーにも配布されているようです。

CentOS Wiki - CentOS 5.1 リリースノート

2007.06.01

[ Linux]   vimでCSSTidy

ここ一週間CSSと戦い続けているわけですが、どうもCSSは苦手です。当社比で普通の人の3倍時間がかかってる気がします。

特に勢いでCSSを書いているとソースがグッチャグチャになって収集がつかなくなってしまうので、整形ツールを探したらありました。

CSSTidy

そのまんまです。

C++のソースを持ってきて

$ unzip csstidy-source-1.2.zip -d csstidy
$ cd csstidy
$ chmod a+x compile.sh
$ ./compile.sh

でコンパイル。

出来上がったcsstidyを好きなディレクトリに入れておきます。
基本的な使い方は

$ csstidy 入力ファイル [オプション] [出力ファイル]

なのですが入力ファイル名に"-"を指定すると標準入力を渡せるので.vimrcに

map ,ct <Esc>:%! ~/bin/csstidy - --silent=true<CR>

とか入れておくとvimから:,ctで呼び出せて吉。
emacsは・・・知りません。
ちなみに--silent=trueをつけておかないと統計情報が出力されるのでつけておきましょう。

他にも色々オプションがあるのですが、--template=highestをつけるとめいっぱい最適化して、ファイルサイズを最小にしてくれます。

なかなか便利なCSSTidy。お勧めです。

2007.04.18

[ Linux]   VMware上でのCentOS 5の時計が狂わなくなってる件

CentOS 5を入れていて気がついたのですが、CentOS 5のkernel-2.6.18-8.1.1.el5では(多分インストール時の2.6.18-8.el5でも)あらかじめタイマー割り込みのCONFIG_HZの値が100になっているので、カーネルの更新のたびに再コンパイルが必要なくなっていました。

include/asm-i386/param.h
- snip -
#ifndef HZ
#define HZ 100
#endif
- snip -
ただカーネルオプションの指定は必要みたいです。
- snip -
title CentOS (2.6.18-8.1.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-8.1.1.el5 ro root=/dev/VolGroup00/LogVol00 clock=pit nosmp noapic nolapic
        initrd /initrd-2.6.18-8.1.1.el5.img
- snip -

今のところntpの補正範囲から大きくずれることはないです。

詳しくはこの辺。
Clock in a Linux Guest Runs More Slowly or Quickly Than Real Time (VMware)

2007.04.17

[ Linux]   Goodbye Fedora, Hello CentOS

Fedoraのlegacy supportに不安を覚えていたのでCentOS 5のリリースを受けて移行します。

2007041701.jpg

当たり前だけどパッケージはほとんどFedoraと変わらんです。
余裕があったらGFSなんか試してみたいなと。

2006.11.18

[ Linux]   TeraTermでカラー表示

最近screen使っていたせいで気づかなかったけどWindowsのターミナルにUTF-8 TeraTerm Pro with TTSSH2を使ってFedoraに接続してカラー表示をさせるには.bash_profileか.bashrcに

export TERM=xterm

の一文を入れておくと吉。
デフォルトでscreenではTERM環境変数はscreenなんですね。

2006.11.15

[ Linux]   Fedora Core 6 でmt-daapdを動かしてみる

hide-k.net#blog: Fedora Core 5 でmt-daapdを動かしてみる
FC6でこのサイトを参考にmt-daapdのコンパイルしたのですが、エラーが出てしまって(libid3tag-develはインストールされているはずなのに、libid3tagが見つからない旨のエラーです。。。) 下記サイトのRPMからインストールできました。 http://www.enlartenment.com/packages/fedora/5/i386/repodata/repoview/mt-daapd-0-0.2.4-1.fc5.mf.html

ということなので、せっかくFC6をインストールしたということもあるので本家からSRPMを持ってきてconfigオプションを直してFC6でrebuildしてみました。

RPM: mt-daapd-0.2.4-2.hk.i386.rpm
SRPM: mt-daapd-0.2.4-2.hk.src.rpm

必要なパッケージは
  • avahi-compat-howl
  • libid3tag
  • gdbm
です インストール
rpm -ivh mt-daapd-0.2.4-2.hk.i386.rpm
WindowsのMP3が置いてある共有フォルダのmount
mkdir /mnt/mp3
mount -t cifs //[hostname]/[directory] /mnt/mp3 -o username=[user],password=[passwd],iocharset=utf8

設定は/etc/mt-daapd.confでできますがデフォルトでもとりあえず動きます。

起動
/etc/init.d/avahi-daemon start
/etc/init.d/mt-daapd start

iTunesを立ち上げて[共有]にサーバーがいたらOK。

2006111501.jpg

見づらいかもしれませんが日本語タイトルもOKっぽいです。

2006.10.28

[ Linux]   Fedora Core 6 リリース

スラッシュドット ジャパン | Fedora Core 6 リリース
Anonymous Coward曰く、"何度かリリース遅延があったが、とうとう24日、日本時間の23時に Fedora Core 6が正式リリースされた。主な変更点は、

    * DejaVuフォントの採用
    * Compiz採用
    * パフォーマンスの向上
    * Anacondaインストーラの改善

というわけでFedora Core 6がようやくリリースされました。

fc6_01.jpg

個人的にはDejaVuフォントだとかCompizとかGUI使ってないのであまり関係なさげだけど、vmwareに放り込んでおきました。

家のサーバーとか会社のサーバーでも酷いのだとFC3とか稼動してるので様子見てアップデートしなきゃです。

2006.04.07

[ Linux]   Fedora Core 5 でmt-daapdを動かしてみる

というわけで、FC5をVMwareにつっこんで色々テストしているわけですが

僻地のプログラマkmt-tの日記
駄目だ、インストールできねぇ。Fedora5みたいなディストリつかうんじゃなかった。無難にDebianにしておけば...。yumが使えないととたんにパワーダウン。ヨワヨワ。誰かインストールができたら方法教えてください。

という記事を見かけました。

この記事を参考にされたということですが、このころはFC3を対象にしているので、FC5だとmDNSResponderがavahiに置き換わってしまったためインストールに失敗します。

で、mt-daapdのソースはSource Forgeのではなく本家のsnapshotを使うことにします。

nightlies - mt-daapd project site

現時点で最新のmt-daapd-svn-909.tar.gzを使いました。

必要なRPMパッケージは
  • avahi-devel
  • libid3tag-devel
  • sqlite-devel
です。どれもyumで取ってこれるはずです。(libid3tagはextrasに含まれてます) で、さっきのソースをダウンロードして
$ tar -xzvf mt-daapd-svn-909.tar.gz
$ cd mt-daapd-svn-909
$ ./configure --enable-sqlite3 --enable-howl --with-howl-includes=/usr/include/avahi-compat-howl
$ make
$ make install
$ cp contrib/mt-daapd /etc/init.d/
$ chmod 755 /etc/init.d/mt-daapd
$ cp contrib/mt-daapd.conf /etc/

/etc/mt-daapd.confで一箇所だけ注意すべきなのは

/etc/mt-daapd.conf
...
db_type = sqlite3
...

です。

後は

$ /etc/init.d/avahi-daemon start
$ /etc/init.d/mt-daapd start

で動くと思われます。

多少変更が必要ですがcontribの下にSPECがあるのでRPMパッケージを作ってもいいかもしれませんね。

2006.03.22

[ Linux]   Fedora Core 5リリース

Fedora Core 5がリリースされたので早速VMWareでインストールしてみました。

fc5_0.jpg

FC5のベースシステムは以下です。gcc-4.1ってのがかなり挑戦的です。
- gcc-4.1
- glibc-2.4
- kernel-2.6.15

僕はサーバー用途にしか使わないのであまり関係ないのですがデスクトップ環境では以下のバージョンが入っているようです。
- GNOME 2.14
- OpenOffice 2.0.2
- KDE 3.5.1

まだインストールしただけですが、インストーラーで大きく変わった点といえば、パッケージの選択でBase SystemからbluetoothやPCMCIA関連などのパッケージをインストールからはずすことができるようになったことと、ファイヤーウォールの設定などが最初のブートの時にあがるCUIでするようになったことくらいですかね。

ちなみにここで設定しそこなったら/usr/sbin/setupで再設定できるようです。

2006.02.11

[ Linux]   LVMパーティションの復旧

というわけで、引越しで早朝から運動したせいで猛烈に眠いわけですが、やれるうちにやっておこうということで障害対応。

経緯:
とあるサーバーがBIOSすら上がらなくなったので、ホストの移行をしようとしました。データは別ディスクに積んでるので問題ないのですが、色々とある設定を一からやるのは面倒くさいのでHDDを引っこ抜いて他のホストにつないでmountしてぶっこ抜けばいいやと軽い気持ちで望んだわけです。

ありゃ?:
で、IDEのHDDをUSB化するケーブルで他のホストにつないでmountしようとしたのですが、/dev/sdb1 /dev/sdb2と見えるもののbootパーティションはmountできるもののrootパーティションがmountできません。

ちなみに使ったケーブルは

ata-usb.jpg

こんな感じに使える優れもの。

偶然にも引越しの最中に社長さんから

「こんなん出てきたんだけどいる?」

と聞かれて

「いらね。」

と、そっけなく答えていたのですが、その直後に

「ごめんなさい。やっぱ、いります。」

という羽目になりました。あの時の社長さんの優越感に歪んだ口元はとっても屈辱的でした。

はまった:
最初に思ったのが、パーティションテーブルが壊れてるんかいなということで、googleさんに聞いてみたらgpartなるツールを使えば復元できそうなことを書いてあったのでインストールしてみました。

ちなみにFedora Core 4の場合は素ではコンパイルが通らないのでsrc/gpart.hのincludeのとこを

#include "errmsgs.h"
#include <errno.h>
#include "l64seek.h"

とする必要があります。で、make, make install。

で、おもむろに

# gpart /dev/sdb

としたところ散々待たされた挙句返ってくるはずのブロック情報などが全て0というつれないお返事。(この辺から意地になってきます。)

LVMじゃん:
で、週末に家でやればいいやとばかりにHDDを持って帰って自宅でgpartで色々やってみたのですが、結果は惨敗。

そろそろあきらめかけて、週明けの設定地獄を想像しながら寝る準備をしてたのですが、はたと気づくわけですよ。

LVMじゃん。

そうです。このディスクはFedoraのインストーラーのデフォルトのまんまLVMでフォーマットしてたんです。これじゃ~ダメなわけです。

結果:
FedoraのレスキューCDからブートしてUSBで接続した後にkudzu-probをかけて認識させ(これはいらんかも)

# lvm vgscan

としたところ

  Reading all physical volumes.  This may take a while...
  Found volume group "VolGroup00" using metadata type lvm2

という暖かいお言葉が・・・
念のため/dev/VolGroup00以下を見てみたら無事LogVol100(ルートパーティション)とLogVol101(多分swap)が見えたので

# lvm vgchange -a y

でLVMをアクティベイトしてから

# mkdir /mnt/usb
# mount /dev/VolGroup00/LogVol100 /mnt/usb

で無事、mountできました。

というわけで、後は新しいホストにぶる下げてぶっこ抜けばいいかなってことで一件落着でした。

2005.12.09

[ Linux]   LDAPでホストごとにアクセスを制限する

はまりました。

LDAPでアカウントを管理しているホスト
host-a.example.com
host-b.example.com

があってLDAPにアカウントとして
user-a
user-b

とあってhost-aにuser-aのみシェルアクセスを認めたい場合、

host-a, host-b両方の/etc/ldap.confを

・・・
pam_check_host_attr yes
・・・

としてuser-aのLDAPエントリを

dn: uid=user-a,ou=People,dc=example,dc=com
objectClass: top
objectClass: posixAccount
objectClass: account
uid: user-a
uidNumber: 500
gidNumber: 100
cn: user-a
homeDirectory: /home/user-a
loginShell: /bin/bash
host: host-a.example.com

とすればおっけー・・・のはずですが二つほど注意事項があります。

一つはhostアトリビュートのホスト名はそのホストのgethostname関数が返す値、つまりLinuxだと/etc/sysconfig/networkのHOSTNAMEの値になります。DNSのCNAMEなどは使えないみたいです。

今回の場合host-aの/etc/sysconfig/networkは

NETWORKING=yes
HOSTNAME=host-a.example.com

とすればいいわけです。

もう一つはOpenLDAP 2.2からはスキーマチェックが厳しくなったためユーザーのobjectClassとしてよく使われるinetOrgPersonとhostアトリビュートを定義できるobjectClassのaccountが同居できない点です。

・・・
objectClass: inetOrgPerson
objectClass: account
・・・

とすると

RESULT tag=103 err=65 text=invalid structural object class chain (account/inetOrgPerson)

といったログがLDAPサーバーの方で吐かれます。

これを回避するにはスキーマを変更するかスキーマチェックを無視するしかないっぽいです。

ちなみにいいかどうかわかりませんがposixAccountにhostアトリビュートの追加を許すことで解決しました。

objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount' SUP top AUXILIARY
        DESC 'Abstraction of an account with POSIX attributes'
        MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
        MAY ( userPassword $ loginShell $ gecos $ description $ host) )

として

dn: uid=user-a,ou=People,dc=example,dc=com
objectClass: posixAccount
objectClass: top
objectClass: inetOrgPerson
givenName: hoge
sn: hoge
displayName: hoge hoge
uid: user-a
homeDirectory: /home/user-a
loginShell: /bin/bash
cn: user-a
gidNumber: 100
uidNumber: 500
host: host-a.example.com

とすればめでたくinetOrgPersonとhostアトリビュートが同時で使えるようになります。

2005.12.07

[ Linux]   LDAP Admin

お仕事ですっかりLDAP漬けな毎日です。

そんな中見つけた便利ツールがLDAP Admin

ldapadmin.jpg
LDAPのツリーをWindowsからGUIでいじくれます。 ありがちなJavaアプリケーションではないので動作がサクサク。 インターフェースもしっかりしてるしスキーマを見ることもできます。 PosixAccountやSambaAccount、おまけにPostfixのスキーマにも対応してるっぽいです。

2005.11.04

[ Linux]   Fedora Core 4 on VMwareでkernel panicの対処法

ちらほらとFC4のテストをしてるのですが、VMWareで動かしてるFC4をyumなどでkernel-2.6.13-1532パッケージを入れると起動時にkernel panicを起こして困っていました。

とりあえず対処できたのでメモ。

  1. kernel-2.6.13-1.1532パッケージをインストールしている場合はアンインストール
  2. /etc/modprobe.confを以下のように変更
    alias scsi_hostadapter1 mptscsih これを
    alias scsi_hostadapter1 mptspi に変更
    
  3. kernel-2.6.13-1.1532パッケージを再インストール
  4. リブート

これで動くようになりました。

参考にしたのはここ。LSILogicドライバ周りの問題のようです。

2005.10.01

[ Linux]   SSH経由でのSubversionの注意点

tracが使いたいがためにWEB+DB PRESS Vol.28を参考にしながらCVSからSubversionに乗り換えました。

ただ、svn+sshでのリポジトリアクセスにはちょっと注意が必要なのでメモ。

svn+ssh経由ではパーミッションの問題があるのでprojectユーザー/グループを追加して開発者のアカウントをprojectグループに参加させます。

リポジトリを作るにはprojectユーザーにsuしてホームディレクトリで

[project@localhost project]# svnadmin create --fs-type=fsfs 
/home/project/svnrepo/myproject

SSH経由で作業ディレクトリで任意のユーザーで

[hide@localhost dev]mkdir myproject
[hide@localhost dev]cd myproject
[hide@localhost myproject]mkdir trunk tags branches
[hide@localhost myproject]$ svn import -m'Create: my project
' svn+ssh://hostname/home/project/svnrepo/myproject
hide@hostname's password:************


ミソはsvn経由だと
svn://hostname/myproject
ですが SSH経由ではリポジトリまでのフルパスになって
svn+ssh://hostname/home/project/svnrepo/myproject
って感じです。
WEB+DB PRESS Vol.28
WEB+DB PRESS Vol.28
posted with amazlet on 05.10.01
WEB+DB PRESS編集部
技術評論社 (2005/08/25)
売り上げランキング: 5,447

2005.09.25

[ Linux]   Fedora Core 3へのSQLiteとDBD::SQLiteのインストール

忘れそうなのでメモ。
以下はSQLite 3.2.7DBD::SQLite 1.09のお話です。

DAGさんのところからRPMパッケージを入れて誤魔化そうとしたのですが、DBD::SQLiteがSQLite 3.xを要求しているようなのでソースからコンパイルします。

Fedora Core 3にソースからSQLiteを入れる場合にはtcl-develパッケージが必要になります。
configureオプションに--disable-tclがあるのですが、指定しても make testでこけるからです。make testしない人はいらないかもしれません。

DBD::SQLiteをインストールする場合、共有ライブラリとしてlibsqlite3.soを必要とするのでパスを通すため/etc/ld.so.confに/usr/local/libを追加するか /etc/ld.so.conf.d/にsqlite3.confを作成して/usr/local/libを書いてあげます。変更したらldconfigを実行するのを忘れずに。

ちなみにSQLite 3.xのコマンドは/usr/local/bin/sqlite3になります。

2005.09.02

[ Linux]   システムロケールにSJISを追加する

忘れそうなのでメモ。

HTMLのコンテンツのちょっとした修正でいちいちFTPするのが面倒だったりします。

そんな時にEUCやUTF-8で書かれたコンテンツならコンソールからちょちょっと書き換えたりするのですが、Red HatでSJISで書かれたコンテンツを書き換える場合には、まずSJISロケールを追加する必要があります。

現在インストールされている日本語ロケールの一覧の表示
# locale -a | grep ja
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
japanese.sjis
SJISロケールの追加
# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
確認
# locale -a | grep ja
ja_JP
ja_JP.eucjp
ja_JP.sjis
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
japanese.sjis
LANGの変更
# export LANG=ja_JP.sjis

てな感じです。

2005.06.30

[ Linux]   USB接続のHDDによるソフトウェアRAID

USB接続のHDDでRAIDを組んだので備忘録です。ハードウェア構成はこんな感じです。

すでにインストールされているFedora Core 4に対してUSBで外付けHDDを2台追加してソフトウェアRAIDでミラーリングしましょうって実験です。

参考サイト: http://www.asahi-net.or.jp/~qi3m-tngw/Linux/KnowHow/HardDisk/HardDisk.htm

続きを読む "USB接続のHDDによるソフトウェアRAID" »

2005.06.29

[ Linux]   Fedora Core 4にUSBで外付けHDD増設

会社にあった使われてないデスクトップPCをお遊びファイルサーバーにしましょうって話になりました。

内臓HDDが20GBなので増設したいところですが、タワー筐体ではないので内臓ベイがありません。

ってことで、USBで外付けしましょうってことになったのですがマザーボードが古いためUSB1.1しか対応してません。

ってことで、USB2.0の拡張ボードを買いにいきました。選択したのは玄人志向のUSB2.0V4-LP(¥1,133なり)。

で、手元にMaxtor 54098H8が二台転がっていたのでどーせだったらミラーリングしましょうってことになり、二台のHDDを載せれて、かつ二台のHDDとして認識させることができるUSB接続の外付けHDDケースを探したところCenturyのCTW35U2という製品が¥6,893で安かったので買ってきました。

DVC00024_M.jpg

見ての通り余計なものが全くなく(申し訳程度のファンはついてます)シンプルの極みです。

で、USBインターフェースをPCに乗っけて、HDDケースにHDDを二台入れて、接続してFedora Core 4のCDを入れてブートしたところ・・・認識はされているようですがfdiskのデバイスとしては認識されませんでした。

まぁ、とりあえず内臓のIDEのHDDへインストールを済ませて、起動したところ

[root@localhost ~]# dmesg
・・・
  Vendor: Maxtor 5  Model: 4098H8            Rev: DAC1
  Type:   Direct-Access                      ANSI SCSI revision: 02
  Vendor: Maxtor 5  Model: 4098H8            Rev: DAC1
  Type:   Direct-Access                      ANSI SCSI revision: 02
usb-storage: device scan complete
SCSI device sda: 80041248 512-byte hdwr sectors (40981 MB)
sda: assuming drive cache: write through
SCSI device sda: 80041248 512-byte hdwr sectors (40981 MB)
sda: assuming drive cache: write through
 sda: sda1
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sdb: 80041248 512-byte hdwr sectors (40981 MB)
sdb: assuming drive cache: write through
SCSI device sdb: 80041248 512-byte hdwr sectors (40981 MB)
sdb: assuming drive cache: write through
 sdb: sdb1
Attached scsi disk sdb at scsi0, channel 0, id 0, lun 1
・・・

というわけで、/dev/sda /dev/sdbとしてめでたく認識されました。LinuxでUSBデバイスを扱うのは初めてだったのですが、SCSIと同様な扱いなんですかね。

というわけで、現在RAID構築待ち。

2005.06.14

[ Linux]   Fedora Core 4リリース

レッドハット、「Fedora Core 4」をリリース--仮想化ソフト「Xen」を搭載 - CNET
 Red Hatが、フリー版Linux「Fedora Core 4」を発表した。同社はこの製品をリリースすることで、オープンソース開発の最前線で用いられる仮想化技術やプログラミングツール、その他のソフトウェアの発展を促進させようとしている

Fedora Core 4がリリースされたそうな。
Kernel 2.6.11、GCC 4.0、GNOME 2.10、KDE 3.4ベース。

目玉は
  • Power PCサポート
  • 仮想化ソフトXenのビルトイン
  • クラスタリングファイルシステムGFSサポート
暇があったらVMWareにでも放り込んでみます。


2005.04.05

[ Linux]   Fedora Core3でiTunesサーバー

僕は仕事部屋にあるPCをiPodの母艦として音楽ファイルを溜め込んでるわけすが、リビングでノートPCからこれらのファイルを共有するには仕事場のiTunesを上げておかなければなりません。面倒なので自宅サーバーにその役目を負ってもらうことにしました。

というわけで、今さらながらmt-daapdとhowlでiTunesサーバーを上げてみました。

続きを読む "Fedora Core3でiTunesサーバー" »

2005.03.11

[ Linux]   Linux Qmail Toaster

安全確実で、信頼できて、高性能で、簡潔なメイル配信エージェントのqmailですが、開発が止まってることもあり、膨大なパッチを充てる必要があります。

そんな中、家のサーバーの入れ替えと仕事も兼ねて、qmail + vpopmailのインストール手順を確認していたらLinux Qmail Toasterなるページを見つけました。ここで配布されているパッチと手順を踏めば以下のことが可能になります。

  • Qmail SMTP Mail Server with SMTP-AUTH (Plain, Login, CRAM-MD5), TLS (SSL) support, and optional Virus/Spam Scanner.
  • POP3 Server with CRAM-MD5, APOP, and SSL support
  • IMAP Server with TLS (SSL) support
  • WebMail Server
  • Quota Support (usage viewable by webmail)
  • Autoresponder
  • Mailing Lists
  • Web-Based Email Administration

もちろんその他にもメジャーなバグフィックスなども含まれます。

ただし、以下の問題があります。 などです。

1番目は普通にパッチを充てれば問題ありませんが、2番目はqmail-smtpd.cへのパッチが矛盾を起こすため手で変える必要があります。

3番目は個人的に/var/vpopmailで稼動させているので該当箇所(chkusrと起動スクリプト周り)を変更する必要があります。

4番目は起動スクリプトを変更すれば動きます。

というわけで、稼動状態には持っていけたのでテストと以前作ったドキュメントを書き直してそのうち公開しようと思います。

暇があれば

2005.01.09

[ Linux]   SELinuxやめました

ものの2時間でギブアップしました。

ぇぇ。根性無しです。

SELinuxの止め方は/etc/sysconfig/selinuxを

#SELINUX=enforcing
SELINUX=disabled

にすればおっけぇ。

止めた理由は/home/hoge/public_html下でCGIを動かしたかったのですが動かせなかったためです。
後学のため、やったことを書くと

  • ここをみて chcon -Rt httpd_sys_script_rw_t /home/hoge/public_html → ダメ
  • SuExecを無効化 → ダメ
  • /var/www/cgi-bin下で動作 → OK

ということで敢え無くSELinuxを無効化して試してみるとあっけないくらいに動きました。
SuExecも問題なく動いています。

もうちょっとSELinuxの勉強をしてから再チャレンジしたいと思います・・・たぶん

2005.01.08

[ Linux]   Fedora Core 3でユーザーホームページの公開

apacheでユーザーホームページを公開できるようにするのですが、Fedora Core 3ではデフォルトでSELinuxが有効になっているため、いつものようにはいきません。

めんどっちぃのでRPMインストール

$ yum install httpd

apr、apr-util、httpd-suexecも同時にインストールされます。

例のごとく/etc/httpd/conf/httpd.confを編集

<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    #UserDir disable

    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disable" line above, and uncomment
    # the following line instead:
    #
    UserDir public_html

</IfModule>

・・・

<Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>


apacheを起動してリーブート時にも自動的に起動するようにします。

$ /etc/init.d/httpd start
$ /sbin/chkconfig httpd on

試しにユーザーホームページを作ってみます。

$ chmod o+x /home/hide
$ mkdir /home/hide/public_html
$ vi /home/hide/public_html/index.html
・・・適当に書く

で、OKのはずですがブラウザからアクセスしてみると403 permission deniedが返ってアクセスできません。

/var/log/messagesをのぞくと

Jan  8 19:13:58 vm kernel: audit(1105179238.192:0): avc:  denied  { search } for  pid=2767 exe=/usr/sbin/httpd name=public_html dev=dm-0 ino=1196159 scontext=root:system_r:httpd_t tcontext=user_u:object_r:user_home_t tclass=dir
Jan  8 19:13:58 vm kernel: audit(1105179238.200:0): avc:  denied  { getattr } for  pid=2767 exe=/usr/sbin/httpd path=/home/hide/public_html dev=dm-0 ino=1196159 scontext=root:system_r:httpd_t tcontext=user_u:object_r:user_home_t tclass=dir

どうもSELinuxが影響してるっぽいのでここを参照に以下のようにするとOK。

$ ls -adZ public_html
drwxrwxr-x  hide     hide     user_u:object_r:user_home_t      public_html/

$ chcon -t httpd_sys_content_t public_html
$ ls -adZ public_html
drwxrwxr-x  hide     hide     user_u:object_r:httpd_sys_content_t public_html/

[ Linux]   Fedora Core 3 First impression

というわけで、VMWare上にFedora Core 3をインストールしてみて気が付いた点を少々。ちなみにパッケージ構成ははカスタムでX関連は全て削除、開発環境くらいしか選んでいないサーバー仕様です。

  • 噂どおりSELinuxがデフォルトで有効
  • mDNSresponderがデフォルトで起動する
  • yumのGPGチェックがデフォルトで有効
  • カーネルソースパッケージが入ってない


SELinuxに関してはapacheの設定周りでちょっと嫌な予感がします。

mDNSresponderって何?と思ったらRendezvousサーバーなんですね・・・ってこれってiTunes用のサーバー作れってことですか

yumのGPGチェックに関しては最初の起動時に
# rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora
これでOKです。

カーネルソースに関してはRPMで配布すらしてないんですね。ということでSRPMからリビルドせよとのことです。

他にもまだまだありそうですなぁ。

[ Linux]   VMWareを試す

vmware.jpg

旧おうちサーバーがクラッシュして実験用Linux boxを失ったため、VMWareを使ってWindowsワークマシンにFedora Core 3をインストールしてみました。

実はこの手のヴァーチャルPC物は初体験だったりします。どうも昔からキワモノのイメージがあったので敬遠してきたのですが背に腹は変えられんということで重い腰を上げてトライしてみました。

まずは試用版をダウンロードしてインストール。ダウンロードにはユーザー登録が必要で登録終了後に試用版のシリアルがメールで送られてきます。

まずはヴァーチャルマシンの設定。
  1. VMWareを起動してホームメニューの[New Virtual Machine]をクリックしてウィザードを起動
  2. [Typical]を選択
  3. Guest operating system: [Linux]を選択してVersion: [Other Linux 2.6.x kernel]を選択
  4. Virtual machine name: [Fedora Core 3]この辺はお好みで、Location: 仮想ディスクを作りたい場所
  5. [Use bridged networking]を選択
  6. Disk size: お好みで、[Allocate all disk space now]にチェック
インストール前に不要なデバイスをFedoraに認識させないようにヴァーチャルマシンからはずします。また、インストールCDを焼くのは面倒なのでWindowsのDaemonToolsにFedoraのDVDのISOイメージをマウントしてインストールしました。
  1. 先ほど作成したヴァーチャルマシンのメニューの[Commands]の[Edit virtual machine settings]をクリック
  2. [Hardware]タブのデバイス一覧から必要ないデバイスを削除(AudioとかUSB Controllerとか)
  3. Daemon Toolsを使うのでCD-ROMの[Connection]-[Use physical drive:]を選択して[Auto detect]ではなくDaemon Toolsのドライブ名明示的にを指定

いよいよヴァーチャルマシンの起動。
ヴァーチャルマシンのめーニューの[Start this virtual machine]でバーチャルマシンの電源を入れるだけです。
Daemon ToolsにマウントしたDVDがブートしてFedoraのインストール画面が表示されたらOK
あとはいつものようにインストールするだけです。

OSのインストールが終わったらVMWareToolsのインストールをします。 まずはゲストOSが起動している状態でVMWareのメニュー[VM] - [Install VMWare Tools...]を選択します。 あとはゲストOS上で
# mount /media/cd-rom
# cd /tmp
# tar -xzvf /media/cd-rom/vmware-tools-distrib.tar.gz
# ./vmware-install.pl

使った感想としては、もともとマシン自体がPen4 3GHz メモリー1GBという高スペックなこと、X Windowを使わないサーバー用途というもありますが思ったより簡単、かつ快適です。

もともとCPUはHTで動いているのですがVMware上のFedoraの方でもちゃんとSMPカーネルがインストールされたことを見る限りではSMPとして認識されているようです。ただし、ちゃんとSMPとしてリソースを使っているかどうかは未確認です。

2004.11.10

[ Linux]   Fedora Core 3 リリース

Fedora Core 3がリリースされていたようです。ずいぶんアップデートのサイクルが短いですね。

Kernelは2.6.9、GCCは3.4.2だそうな。

2004.09.25

[ Linux]   自宅サーバー昇天

自宅のサーバーがいきなりあがらなくなった。電源を入れてもBIOSさえ上がらない。仕方がないので開いていたPC(チップセットも何もかも違うもの)にHDDを乗せ変えてkudzuで最低限のデバイスであるNICの再認識をさせてネットワークの設定したらまんまとあがったのでとりあえず運用。それにしても最近トラブル多いなぁ。

2004.09.18

[ Linux]   apache1.3のインストール

久々にapache1.3を一からインストールしたのでメモる。
とりあえずapache + mod_sslの環境。

続きを読む "apache1.3のインストール" »

2004.09.17

[ Linux]   一般ユーザーでSRPMからRPMをビルドする

RPMでインストールはしたくないけどRPMの環境と同じにしたい場合はSRPMを展開してSPECファイルを覗くといい。これを一般ユーザーでできるようにする。更にコンパイルオプションを変更したりしてRPMを自分でビルドする。

続きを読む "一般ユーザーでSRPMからRPMをビルドする" »

[ Linux]   ntpのインストール

引き続きntpのインストール。

続きを読む "ntpのインストール" »

[ Linux]   Fedora Core2インストール

テスト用のサーバーが必要になったためFedore Core2をインストールしたのでメモる。

続きを読む "Fedora Core2インストール" »

2004.09.15

[ Linux]   ファイルシステムをext3からext2へ戻す

あまりお目にかからない作業なのでメモる。

続きを読む "ファイルシステムをext3からext2へ戻す" »

2004.09.14

[ Linux]   hostnameの変更

/etc/hostsと/etc/と/etc/sysconfig/networkを変更してリブート。networkの上げなおしだけだとダメだった。

2004.09.09

[ Linux]   複数ユーザーでwebを管理する

複数のユーザーもしくは一般ユーザーでwebを管理できるようにすると便利。

続きを読む "複数ユーザーでwebを管理する" »

Profile

Information