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 gpgvW: GPG error: http://security.debian.org etch/updates Release: Unknown error executing gpgvW: 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.confserver 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 eth0iface eth0 inet dhcp
今回はメインPCから接続して開発するので、適当なIPに固定しておこう。「/etc/network/interfaces」を適当なエディタで編集する
# emacs /etc/network/interfacesauto eth0iface eth0 inet staticallow-hotplug eth0address 192.168.1.100netmask 255.255.255.0network 192.168.1.0broadcast 192.168.1.255gateway 192.168.1.1dns-nameservers 192.168.1.1
auto行で起動時に有効にするネットワークインターフェイスを記述。allow-hotplugで、ケーブルの抜き差しで自動認識するようにする。これは別になくても良いけど。あとはWindowsとほぼほぼ同じ。
DNSの設定は/etc/resolv.confに記述する。
# emacs /etc/resolv.confnameserver 192.168.1.1
hostsもいちお確認しておく
# cat /etc/hosts
ネットワーク情報が適切に反映されているかどうか調べる。
# ifconfig# route -N
SSHの設定
今回はローカルでの接続のみなので、あんまり厳密にしなくても良い。
# emacs /etc/ssh/sshd_configPermitRootLogin noAllowUsers sig# /etc/init.d/ssh restart
root でのログインと、接続するユーザのとこだけサクッと編集。いちおPuTTYとかで接続確認して、終了。
FTPの設定
下記の設定だけ確認しとく。
# emacs /etc/vsftpd.conflisten=YESanonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022xferlog_enable=YESconnect_from_port_20=YESsecure_chroot_dir=/var/run/vsftpdchroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpdd.chroot_listrsa_cert_file=/etc/ssl/certs/vsftpd.pemuse_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_listsig
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かはてブコメントにて。