Dapper Drakeでサーバ構築(ssh, ftp, vncとか)

インストールメモ。

インストールメディア(DVD)をaptリポジトリに追加

$ sudo mount /media/cdrom
$ sudo apt-cdrom -d=/media/cdrom add
$ cat /etc/apt/sources.list
deb cdrom:[Ubuntu 6.06 _Dapper Drake_ - Release i386 (20060531.2)]/ dapper main restricted <-追加される

opensshサーバ

rootログインは許可しない。

$ sudo aptitude install openssh-server
$ sudo vi /etc/ssh/sshd_config
PermitRootLogin no
$ sudo /etc/init.d/ssh restart
Password:
 * Restarting OpenBSD Secure Shell server...    [ ok ]

vsftpdサーバ

root、Anonymous禁止。User1のみアクセス可。

$ sudo aptitude install vsftpd
$ sudo vi /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=600
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list
$ sudo vi /etc/vsftpd.user_list
User1
$ sudo /etc/init.d/vsftpd restart
 * Stopping FTP server: vsftpd    [ ok ]
 * Starting FTP server: vsftpd    [ ok ]

GNOMEインストール

VNCGNOME使いたい。

$ sudo aptitude install x-window-system-core
$ sudo aptitude install gnome-session gnome-terminal

VNCサーバ

今回は、インストールメディア(DVD)のみで構築したかった*1ので、ソースからインストール。
しかし、libstdc++-libc6.2-2.so.3(libstdc++2.10-glibc2.2_2.95.4-24)はDVDに収録されていないので、パッケージを別途準備しインストール。

  • libstdc++2.10-glibc2.2_2.95.4-24のインストール
$ sudo dpkg -i libstdc++2.10-glibc2.2_2.95.4-24_i386.deb
  • vncのインストール
$ gzip -dc vnc-4_1_2-x86_linux.tar.gz | tar xvf -
$ cd vnc-4_1_2-x86_linux
$ sudo ./vncinstall /usr/local/bin
Copying Xvnc to /usr/local/bin
Copying vncviewer to /usr/local/bin
Copying vncpasswd to /usr/local/bin
Copying vncconfig to /usr/local/bin
Copying vncserver to /usr/local/bin
Copying x0vncserver to /usr/local/bin
  • vncの設定、その1

vncGNOMEを使用するため、xstartupファイルを修正。

$ vi ~/.vnc/xstartup
#!/bin/sh

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
# xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & <-xterm起動不要
# twm & <-今回はGNOMEを使うので、コメントアウト
gnome-session &

vncサーバ起動

$ vncserver -fp /usr/lib/X11/fonts/misc/ :1
初回はVNCサーバのパスワード設定を実行。

vncviewで「server-name:1」にアクセス。

  • vncの設定、その2

vncサーバのデーモン化、gdmログイン画面を表示。
今回は、xinetdを使用してデーモン化し、port5901〜5903でvncを起動。
サーバコンソールでは、gdmログインは非表示。(CUI)

$ sudo aptitude install gdm
$ vi /etc/gdm/gdm.conf-custom
[xdmcp]
Enable=true
[servers]
0=inactive <-gdmは起動するが、サーバコンソールはCUIのまま
$ sudo aptitude install xinetd
$ sudo touch /etc/xinetd.d/Xvnc
$ sudo vi /etc/xinetd.d/Xvnc
service xvnc-1
{
        disable         = no
        socket_type     = stream
        user            = root
        wait            = no
        server          = /usr/local/bin/Xvnc
        server_args     = -inetd -fp /usr/lib/X11/fonts/misc/ -query localhost -once PasswordFile=/etc/passwd_vnc <-「query localhost」でgdmログイン表示
        log_on_failure  += USERID
}
service xvnc-2
{
        disable         = no
        socket_type     = stream
        user            = root
        wait            = no
        server          = /usr/local/bin/Xvnc
        server_args     = -inetd -fp /usr/lib/X11/fonts/misc/ -query localhost -once PasswordFile=/etc/passwd_vnc
        log_on_failure  += USERID
}
service xvnc-3
{
        disable         = no
        socket_type     = stream
        user            = root
        wait            = no
        server          = /usr/local/bin/Xvnc
        server_args     = -inetd -fp /usr/lib/X11/fonts/misc/ -query localhost -once PasswordFile=/etc/passwd_vnc
        log_on_failure  += USERID
}
$ sudo vi /etc/services
xvnc-1          5901/tcp <-/etc/xinet.d/Xvncのservice名と同名で追加
xvnc-2          5902/tcp
xvnc-3          5903/tcp
$ sudo /etc/init.d/xinetd restart
Stopping internet superserver: xinetd.
Starting internet superserver: xinetd.
$ netstat -an | grep 590
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:5902            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:5903            0.0.0.0:*               LISTEN

*1:サーバがインターネットに繋げない環境です。