Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。
Sledge とか Tomcat とかって話じゃなくて、単に使えるようにするまでの話。前回の記事で etch のインストールまではしたので、その続き。
で、しばらくは root で作業する。ちなみにLinux等のCUIの場合、root だと、CUIの左っかわが「アカウント名@ホスト名:カレントディレクトリ#」になってる。通常アカウントだと「$」ね。
root は設定ファイル弄ったりapache再起動したりとかくらいで、なるべく root で作業しないほうが良いんだそうだ。そりゃそうだ。
sources.list
CDブートしたためか、更新情報をCD-ROMから取得する設定になっている。なので初めに、適当なエディタで「/etc/apt/sorces.list」を編集する。
# vi /etc/apt/sorces.list
インストール時に指定したミラーサーバが記述されている。「cdrom:」などとなっている行をコメントアウトして保存。
Debianを最新の状態にする
# apt-get update
# apt-get check
# apt-get upgrade
更新情報を取得し、依存関係をチェックし、アップグレードする ...のだけど、update時にエラーが出た。
W: GPG error: http://ftp.jp.debian.org etch Release: Unknown error executing gpgv
W: GPG error: http://security.debian.org etch/updates Release: Unknown error executing gpgv
W: You may want to run apt-get update to correct these problems
このまま使用しても問題はないけど、なんか気持ち悪いので消してみよう。USING_ETCH 「使ってみたDebian Etch(以下略)」 ...によると、「時間が同期されれば解消される」とのこと。まずタイムゾーンを設定しよう
# tzconfig
続けて、外部サーバーによる時刻同期を試みる。
# apt-get install ntpdate
# ntpdate ntp.ring.gr.jp
これでエラーは消えた。
時刻同期の自動化
「このままでは再起動すると時刻設定は失われてしまう」とのこと。ついでなので自動設定を行うようにしておく。
この方法も USING_ETCH にあった。ntpdate の設定ファイルは「/etc/default/ntpdate」にあり、「/etc/ntp.conf」の設定を参照するようになっているので、ここに参照するサーバを書いておく。
# vi /etc/ntp.conf
server ntp.ring.gr.jp
念のため、再起動して確認してみよ~
常時稼動させておく場合は、cronで回すようにしとくと Better。
# crontab -e
* 5 * * * /usr/bin/ntpdate ntp.ring.gr.jp
必要なソフトウェアをインストール
# apt-get update
# apt-get install apache
# apt-get install vsftpd
# apt-get install mysql-server
# apt-get install screen
# apt-get install ssh
# apt-get update
# apt-get check
# apt-get upgrade
ちなみに、Debian のパッケージ管理には「apt-get」を使う方法と「aptitude」を使う方法の2つがあるけど、「今はapt-getに統一した方がいいよ」ということらしいです。混同すると依存関係がぐちゃぐちゃになるんだとか。
んで、メインのエディタとして emacs22 を入れてみました。未だSnapshotらしいけど、最初からUTF-8化してるとのことなので(mule-ucs を組み込んでUnicode化したEmacsは激重)。
# apt-get install emacs22 emacs22-el anthy-el
- Foamy Capriccio, apt-get vs. aptitude
- たけひこ日記, 私も,emacs22にしてみた
ネットワーク設定
デフォルトだと、DHCPでIPを取得するようになってる。
auto eth0
iface eth0 inet dhcp
今回はメインPCから接続して開発するので、適当なIPに固定しておこう。「/etc/network/interfaces」を適当なエディタで編集する
# emacs /etc/network/interfaces
auto eth0
iface eth0 inet static
allow-hotplug eth0
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1
auto行で起動時に有効にするネットワークインターフェイスを記述。allow-hotplugで、ケーブルの抜き差しで自動認識するようにする。これは別になくても良いけど。あとはWindowsとほぼほぼ同じ。
DNSの設定は/etc/resolv.confに記述する。
# emacs /etc/resolv.conf
nameserver 192.168.1.1
hostsもいちお確認しておく
# cat /etc/hosts
ネットワーク情報が適切に反映されているかどうか調べる。
# ifconfig
# route -N
SSHの設定
今回はローカルでの接続のみなので、あんまり厳密にしなくても良い。
# emacs /etc/ssh/sshd_config
PermitRootLogin no
AllowUsers sig
# /etc/init.d/ssh restart
root でのログインと、接続するユーザのとこだけサクッと編集。いちおPuTTYとかで接続確認して、終了。
FTPの設定
下記の設定だけ確認しとく。
# emacs /etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpdd.chroot_list
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
use_localtime=YES
# /etc/init.d/vsftpd restart
- listen
- YES に設定した場合、スタンドアロンモードで起動する。
- anonymous_enable
- YES に設定した場合、anonymousログインを許可する
- local_enable
- YES に設定した場合、ローカルユーザのログインを許可する
- write_enable
- YES に設定した場合、ファイルシステムを変更するFTPコマンドを許可する。
- local_umask
- ローカルユーザが生成したファイルの umask 値
- xferlog_enable
- YES に設定した場合、ログファイルにアップロードとダウンロードの詳細を記録する
- connect_from_port_20
- YES に設定した場合、サーバが(送信元)ポートに 20(ftp-data) を使う
- secure_chroot_dir
- ファイルシステムへのアクセスが必要ないときに使用する、安全な chroot に使われるディレクトリ
- use_localtime
- YESに設定すると、ディレクトリリストを表示するとき、時間をローカルタイムで表示する。デフォルトではGMTで表示される。
↓めんどくさいのはココ↓
- chroot_local_user
- YES に設定した場合、ログイン後にローカルユーザをホームディレクトリへとchrootさせる
- chroot_list_file
-
- chroot_local_user=YES:chrootさせないユーザのリスト
- chroot_local_user=NO:chrootさせるユーザのリスト
# emacs /etc/vsftpd.chroot_list
sig
chroot: チェンジルート。指定されたディレクトリよりも上の階層にいけなくすること
ユーザとグループ
主要なアカウントを作成し、各アカウントのホームディレクトリを用意する。
$ /usr/sbin/adduser admin
$ /usr/sbin/usermod -g www-data admin
$ /usr/sbin/usermod -g www-data aiueo
$ /usr/sbin/usermod -d /home/www/ admin
$ /usr/sbin/usermod -d /home/www/aiueo.com aiueo
$ mkdir -m 775 /home/www/
$ mkdir -m 775 /home/www/aiueo.com
ちなみに、adduser は useradd へのシンボリックリンクらしい。あと、root ならこう書けた。
# useradd admin
# usermod -g www-data admin
「/usr/sbin/」にはコマンドっぽいのがいっぱいあるんだけど、通常、一般ユーザはパスが通ってないので「/usr/sbin/usermod」などと打たなくてはならないってことらしい。設定系はrootのが楽だね。
参照
次は apache かな~。その前に、もうちょい見やすくしとかないと...
Note: スパム対策が面倒なので、コメント投稿を廃止しました。以前のコメントは残します。
ご意見・ご要望はtwitter@sigwygかはてブコメントにて。