Debian

提供: KuroWiki
移動先: 案内検索

目次

設置目的と運用方法

DELL PowerEdge SC430 にインストールする手順です。 不要なサービスはインストールしないように心がけます。

Debian Etch インストール

Debian GNU/Linus クイックインストール解説(Etch編)を参考に作業を進めます。SC430 は Pentium4 521 2.8GHz EM64T ですから、Debian-40rX-amd64-netinst.iso を使用します(参考)。間違って、ia64 をダウンロードしないように。

Debian ロゴ

起動プロンプトが起動したら、グラフィカルインストーラを起動するため、installgui を入力し実行します。

Press F1 for help, or ENTER to boot:installgui

Choose Language

言語を選択画面です。「Japanese - 日本語」を選び次に進みます。

Choose Language追加のロケール

追加したいロケール選択画面です。「en_US.UTF-8」を選び次に進みます。

キーボード配置の選択

日本語キーボードの場合、「日本(106キー)」を選び次に進みます。

ネットワークの設定

おのおのの設定を行い、次に進みます。

パーティショニング

おのおのの設定を行い、次に進みます。私は、「ガイド - ディスク全体を使う」を選択します。

システム管理者のパスワード

入力して、次に進みます。

一般ユーザーの設定

入力して、次に進みます。

追加パッケージのインストール

必要ないので、次に進みます。

ダウンロード先の選択

なるべくデフォルトで選択されていないものを選ぶと負荷が分散できるのではと思います。クイックインストール解説では、「日本」→「cdn.debian.or.jp」が妥当な選択とされていますが、「ftp2.debian.org.jp」の運用が開始されたため、リストにありませんでした。プロキシー設定は、企業内でない限り必要ないでしょう。設定後、次に進みます。

パッケージ人気コンテストの参加

面白そうなので参加を選択して、次に進みます。

ソフトウェアの選択

必要であれば後で追加すべきなので、「標準システム」以外はチェックをはずして、次に進みます。

ブートローダの選択

GRUB をインストールして、次に進みます。 インストール完了後、CD が排出されるので取り出して再起動させます。これで基本システムセットアップは完了しました。

Debian 初期設定整備

ロケールを日本語から英語にする

コマンドラインが日本語で文字化けします。ls すると、total ではなく日本語で表示されるため何が書かれているか分かりません。どうしても日本語表示にして、なおかつ文字化けなく表示する対策があります。ここでは、難しくない英語を日本語にする方がかったるいので英語にします。デフォルトの状態では、root は元々英語になっていますが、useradd で作成される一般ユーザーは全て日本語になるようになっています。 dpkg-reconfigure コマンドを用いて設定します。GUI での作業となるので、全画面コンソール状態で起動するとよいでしょう。

# dpkg-reconfigure locales

設定を行うか聞かれるので、そのままエンターキーを押します。次のロケール選択画面で、ja_JP.UTF-8 が既にアスタリスクが入っているので、en_us.UTF-8 を探して、スペースキーを押して、選択状態にします。つまり、2つのアスタリスクが入った状態で次の画面に進みます。 デフォルトのロケールを聞かれるので、en_US.UTF-8 を指定して、「OK」を選択します。これで、一般ユーザーも英語のロケールになったはずです。

パッケージマネージャ aptitude

パッケージマネージャを自分から近いサーバに設定することで快適なダウンロードが行えます。Debian Etch から apt ではなく aptitude を使用することを推奨しています。ここでも、aptitude を使用します。apt-spy で自動設定を行います。データ転送速度が高いかもしれないサーバ (近くのミラーサイト) を自動的に探すにはも参照してください。

# aptitude install apt-spy
# apt-spy update
# apt-spy -d stable -s JP

では、/etc/apt/source.listless で見てみましょう。

# sources.list generated by apt-spy v3.1
deb ftp://ftp.riken.go.jp/pub/Linux/debian/ stable main
deb-src ftp://ftp.riken.go.jp/pub/Linux/debian/ stable main
deb http://security.debian.org/ stable/updates main

このままだと Debian フリーソフトウェアガイドラインに従うパッケージしか入手できないため、contribnon-free を追加します。

# sources.list generated by apt-spy v3.1
deb ftp://ftp.riken.go.jp/pub/Linux/debian/ stable main <strong>contrib non-free</strong>
deb-src ftp://ftp.riken.go.jp/pub/Linux/debian/ stable main <strong>contrib non-free</strong>
deb http://security.debian.org/ stable/updates main <strong>contrib non-free</strong>

最後に、update を行います。

# aptitude update

もしこの設定を行ったことで動作が不安定になったら、設定前のファイルが /etc/apt/sources.list.bak にバックアップされていますから、ここから戻します。 Debian パッケージを使用することで、パッケージの内容・依存関係等を確認できます。

Web サーバ

Web サーバおよび標準的に必要なモジュールをインストールします。Python は既にインストールされていましたので、指定しません。

# aptitude install apache2 php5 ruby

Samba

ファイル共有サービス samba をインストールします。

# aptitude install samba

インストールする前に、ブルーバックの Package Configuration が起動します。最初の質問は、「サーバが所属するワークグループを指定してください。」とあります。Windows ワークグループを指定しますが、大文字で入力します(Windows ではワークグループを大文字しか入力できないので)。

If your computer gets IP address information from a DHCP server on the network, the DHCP server may also provide information about WINS servers("NetBIOS name server") present on the network. This requires a change to your smb.conf file so that DHCP-provided WINS settings will automatically be read from '''/etc/dhcp.conf'''.
The dhcp3-client package must be installed to take advantage of this future.
Modify smb.conf to use WINS settings from DHCP?
あなたのコンピュータがネットワーク上で DHCP サーバから IP アドレス情報を取得するなら、DHCP サーバーはネットワーク上で存在している WINS サーバー(NetBIOS ネームサーバ)に関する情報を提供するかもしれません。
これは DHCP を提供された WINS 設定が /etc/dhcp.conf から自動的に読まれるあなたの smb.conf ファイルの変更を必要とします。
DHCP から WINS 設定を利用するため、smb.conf を修正しますか?

プライベート IP アドレスは使用していないので、NO を選択します。

設定

インストール後の状態では、Windows から ¥¥192.168.1.1¥username¥ でアクセスしてもログインできません(正確にはログインウィンドウが出るが、入力しても入れない)。これは、Debian にログインするためのパスワードとは別に、Samba にログインするためのパスワードを設定していないためです。設定するために smbpasswd コマンドで設定します。

# smbpasswd username
New SMB password:
Retype new SMB password:

/etc/samba/smb.conf を編集します。

[homes]
comment = Home Directories
browseable = yes

# By default, the home directories are exported read-only. Change next
# parameter to 'yes' if you want to be able to write to them.
writable = no

Windows 側からファイルを作成できるよう、home セクションの writable を yes に変更します。

[homes]
comment = Home Directories
browseable = yes

# By default, the home directories are exported read-only. Change next
# parameter to 'yes' if you want to be able to write to them.
writable = <strong>yes</strong>

ネームサーバ

ネームサーバ bind をインストールします。最新の bind9 をインストールできます。

# aptitude install bind9

ntp サーバ

時刻を調整するサーバ ntp をインストールします。

# aptitude install ntp

FTP サーバ

FTP サーバ vsftpd をインストールします。

# aptitude install vsftpd

設定

デフォルト状態だと、Anonymous FTP になっているので使い物になりません。設定ファイルを変更します。

Anonymous 接続

Anonymous サーバを運用するかどうか。デフォルトは YES でした。

anonymous_enable=YES

NO に変更します。

anonymous_enable=NO

Debian に存在するユーザーによる接続

Debian に存在するユーザーによる接続を許可するかどうか。デフォルトはコメントアウトされていました。

#local_enable=YES

コメントアウトをはずします。

local_enable=YES

FTP 接続ユーザーによる書き込み

FTP 接続ユーザーによる書き込みを許可するかどうか。デフォルトはコメントアウトされていました。

#write_enable=YES

コメントアウトをはずします。

write_enable=YES

ユーザーマスクの設定

FTP でアップロードされるファイルやディレクトリのユーザーマスクの設定です。デフォルトはコメントアウトされていました。一般的な 022 でよいでしょう。

#local_umask=022

コメントアウトをはずします。

local_umask=022

ディレクトリごとのメッセージ

FTP クライアントで接続した時に、ディレクトリごとにメッセージを表示させるかどうか。デフォルトは YES でした。

dirmessage_enable=YES

NO に変更します。

dirmessage_enable=NO

xferlog ログファイルの出力

xferlog を出力するかどうか。デフォルトはコメントアウトされていました。

#xferlog_file=/var/log/vsftpd.log

コメントアウトをはずします。

xferlog_file=/var/log/vsftpd.log

xferlog ログファイルのフォーマット

xferlog を詳細に出力するかどうか。デフォルトはコメントアウトされていました。

#xferlog_std_format=YES

コメントアウトをはずします。

xferlog_std_format=YES

ASII モードのアップロード・ダウンロード

ASCII モードのアップロード・ダウンロードを許可するかどうか。デフォルトはコメントアウトされていました。

#ascii_upload_enable=YES
#ascii_download_enable=YES

コメントアウトをはずします。

ascii_upload_enable=YES
ascii_download_enable=YES

ディレクトリの移動処理

一般的なユーザーは、/home/sakura/public_html がルートディレクトリとし上位ディレクトリに移動させないようにします。bashrc 等がある /home/sakura には移動できないようにします。特定のユーザーは、上位ディレクトリに移動できるようにします。また、.htaccess などドットが先頭につくファイルが見えるように設定します。

#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list

コメントアウトをはずします。

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
local_root=public_html
force_dot_files=YES

/etc/vsftpd.chroot_list に指定したユーザーは、上位ディレクトリに移動できます。ファイルに変更を行ったら、/etc/init.d/vsftpd restart します。

ローカルタイム

デフォルトだと UTC になるため、日本時間になるように設定します。この設定は、新規に追記します。

use_localtime=YES

起動と終了

起動と終了は以下の通り。設定ファイルを更新したら必ず再起動 restart を行います。

# /etc/init.d/vsftpd start
# /etc/init.d/vsfptd stop
# /etc/init.d/vsftpd restart

SSH サーバ

SSH サーバ ssh をインストールします。

# aptitude install ssh

rotoold

rotoold をインストールします。

# wget http://white.niu.ne.jp/rotoold/rotoold-20050506_0.tar.gz
# tar xvzf rotoold-20050506_0.tar.gz
# mv ./rotoold-20050506_0 /user/local/games/rotoold

rotoold を編集して、プロセス ID を出力させます。

# $opt{pidfile} ||= "/var/run/rotoold.pid"; #uncomment if use rogpsd as daemon.

コメントアウトされているので、先頭のシャープをはずします。

$opt{pidfile} ||= "/var/run/rotoold.pid"; #uncomment if use rogpsd as daemon.

起動スクリプトを設定します。Redhat 系は chkconfig コマンドですが、Debian は update-rc.d コマンドを使用します。

# /usr/local/games/rotoold/etc/Redhat_rcfile /etc/init.d/rotoold
# chmod 755 /etc/init.d/rotoold
# update-rc.d rotoold defaults 98

起動と停止は以下の通り。

# /etc/init.d/rotoold start
# /etc/init.d/rotoold stop

SHOUTcast

インターネットラジオサーバ SHOUTcast をインストールします。SHOUTCast DOWNLOAD から SHOUTcast Linux server (glibc) v1.9.8 をダウンロードします。前もって shoutcast ディレクトリを作成するのは、そのまま解凍するとカレントディレクトリに展開されてしまうためです。

$ mkdir shoutcast
$ cd shoutcast
$ wget http://www.shoutcast.com/downloads/sc1-9-8/sc_serv_1.9.8_Linux.tar.gz

展開します。

$ tar xvzf sc_serv_1.9.8_Linux.tar.gz

useradd で shoutcast 実行ユーザーを作成します。ホームディレクトリを /usr/local/shoutcast にします。また、/usr/local/shoutcast の各ファイルの所有者を shoutcast にします。

# useradd shoutcast -d /usr/local/shoutcast
# chown shoutcast. /usr/local/shoutcast

設定

設定ファイルを修正します。

# vi sc_serv.conf

最大接続数

MaxUser=32

適切な数値を指定します。

MaxUser=10

音楽を再生するコンピュータを認証するパスワード(必ず変更)

Password=changeme

必ず設定してください。

Password=Hogehoge

接続ポート

デフォルトでは 8000 が使用されます。デフォルト値は広く知られているため、変更することをお奨めします。

PortBase=8000

1024以降の番号を指定します。

PortBase=2525

名前解決

SHOUTcast へ接続する IP アドレスを名前解決するか指定します。

NameLookups=0

ウェブ管理時に IP アドレスではなく、名前解決されて表示されます。好みで設定すればよいでしょう。

NameLookups=1

SHOUTcast ウェブ管理画面へのログイン用パスワード(必ず変更)

http://hogehoge:ポート番号/ にアクセスすると表示される画面の管理者用画面へのログイン用パスワードを指定します。

; AdminPassword=adminpass

コメントアウトを解除し、パスワードを設定します。

AdminPassword=sakura

shoutcast.com へ通知しない(必ず変更)

shoutcast.com に放送されているサーバ名として表示される可能性がありますので、表示されないようにします。

PublicServer=default

never にすると表示されません。

PublicServer=never

優先接続と拒否の設定ファイル

指定した IP アドレスは優先的に接続できるようにするファイルを読み込むようにします。

; BanFile=sc_serv.ban

コメントアウトを解除します。

BanFile=sc_serv.ban

指定した IP アドレスは拒否するようにするファイルを読み込むようにします。

; RipFile=sc_serv.rip

コメントアウトを解除します。

RipFile=sc_serv.rip

テスト

動作するかチェックします。

# ./sc_serv

成功すればイベントログが表示されます。特段問題が無ければ、[CTRL]+[C] で停止します。

起動と停止

通常運用時の起動は以下の通り。

# su - shoutcast -c &quot;/usr/local/shoutcast/sc_serv $@&quot; &gt;/dev/null 2&gt;1 &amp;

ちなみに、Ubuntu Linux では以下で起動します。su を許可していない Linux は sudo で実行します。

# sudo -b -u shoutcast &acute;/usr/local/shoutcast/sc_serv $@&acute; &gt;/dev/null 2&gt;1 &amp;

停止は今の所プロセス ID を指定して、停止するしかないようです。

# ps ax|grep shoutcast
# kill 29501