2 Installing
And Configuring The Rest Of The System
Configure The
Network
Because the Debian
Sarge installer has configured our system to get its network settings via DHCP,
we have to change that now because a server should have a static IP address.
Edit /etc/network/interfaces
and adjust it to your needs (in this example setup I will use the IP address
192.168.0.100):
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface auto lo iface lo inet loopback
# The first network card - this entry was created during the Debian installation # (network, broadcast and gateway are optional) auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
|
If you want to
add the IP address 192.168.0.101
to the interface eth0
you should change the file to look like this:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface auto lo iface lo inet loopback
# The first network card - this entry was created during the Debian installation # (network, broadcast and gateway are optional) auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
auto eth0:0 iface eth0:0 inet static address 192.168.0.101 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
|
Then restart your
network:
/etc/init.d/networking
restart
Edit /etc/resolv.conf
and add some nameservers:
search server nameserver 145.253.2.75 nameserver 193.174.32.18 nameserver 194.25.0.60
|
Edit /etc/hosts
and add your new IP addresses:
127.0.0.1 localhost.localdomain localhost server1 192.168.0.100 server1.example.com server1 192.168.0.101 virtual-ip1.example.com virtual-ip1
# The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
|
Setting The
Hostname
echo server1.example.com
> /etc/hostname
/bin/hostname -F /etc/hostname
Install/Remove
Some Software
Now let's install
some software we need later on and remove some packages that we do not need:
apt-get install wget bzip2
rdate fetchmail libdb3++-dev unzip zip ncftp xlispstat libarchive-zip-perl zlib1g-dev
libpopt-dev nmap openssl lynx fileutils g++
apt-get remove lpr nfs-common
portmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig
update-rc.d -f exim remove
update-inetd --remove
daytime
update-inetd --remove telnet
update-inetd --remove time
update-inetd --remove finger
update-inetd --remove talk
update-inetd --remove ntalk
update-inetd --remove ftp
update-inetd --remove discard
<- Yes
/etc/init.d/openbsd-inetd reload
Quota
apt-get install quota quotatool
<- No
Edit /etc/fstab
to look like this (I added ,usrquota,grpquota
to the partition with the mount point /):
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/sda1 / ext3 defaults,errors=remount-ro,usrquota,grpquota 0 1 /dev/sda5 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
|
Then run:
touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug
DNS-Server
apt-get
install bind9
For security reasons
we want to run BIND chrooted so we have to do the following steps:
/etc/init.d/bind9 stop
Edit the file /etc/default/bind9
so that the daemon
will run as the unprivileged user 'bind',
chrooted to /var/lib/named.
Modify the line: OPTS="-u
bind"
so that it reads OPTS="-u bind
-t /var/lib/named":
OPTIONS="-u bind -t /var/lib/named"
|
Create the necessary
directories under /var/lib:
mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
Then move the config
directory from /etc
to
/var/lib/named/etc:
mv /etc/bind /var/lib/named/etc
Create a symlink
to the new config directory from the old location (to avoid problems when bind
is upgraded in the future):
ln -s /var/lib/named/etc/bind
/etc/bind
Make null and random
devices, and fix permissions of the directories:
mknod /var/lib/named/dev/null
c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind
We need to modify
the startup script /etc/init.d/sysklogd
of sysklogd so that we
can still get important messages logged to the system logs. Modify the line:
SYSLOGD=""
so that it reads: SYSLOGD="-a
/var/lib/named/dev/log":
#! /bin/sh # /etc/init.d/sysklogd: start the system log daemon.
PATH=/bin:/usr/bin:/sbin:/usr/sbin
pidfile=/var/run/syslogd.pid binpath=/sbin/syslogd
test -x $binpath || exit 0
# Options for start/restart the daemons # For remote UDP logging use SYSLOGD="-r" # SYSLOGD="-a /var/lib/named/dev/log"
create_xconsole() { if [ ! -e /dev/xconsole ]; then mknod -m 640 /dev/xconsole p else chmod 0640 /dev/xconsole fi chown root:adm /dev/xconsole }
running() { # No pidfile, probably no daemon present # if [ ! -f $pidfile ] then return 1 fi
pid=`cat $pidfile`
# No pid, probably no daemon present # if [ -z "$pid" ] then return 1 fi
if [ ! -d /proc/$pid ] then return 1 fi
cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1`
# No syslogd? # if [ "$cmd" != "$binpath" ] then return 1 fi
return 0 }
case "$1" in start) echo -n "Starting system log daemon: syslogd" create_xconsole start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD echo "." ;; stop) echo -n "Stopping system log daemon: syslogd" start-stop-daemon --stop --quiet --exec $binpath --pidfile $pidfile echo "." ;; reload|force-reload) echo -n "Reloading system log daemon: syslogd" start-stop-daemon --stop --quiet --signal 1 --exec $binpath --pidfile $pidfile echo "." ;; restart) echo -n "Restarting system log daemon: syslogd" start-stop-daemon --stop --quiet --exec $binpath --pidfile $pidfile sleep 1 start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD echo "." ;; reload-or-restart) if running then echo -n "Reloading system log daemon: syslogd" start-stop-daemon --stop --quiet --signal 1 --exec $binpath --pidfile $pidfile else echo -n "Restarting system log daemon: syslogd" start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD fi echo "." ;; *) echo "Usage: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart}" exit 1 esac
exit 0
|
Restart the logging
daemon:
/etc/init.d/sysklogd restart
Start up BIND,
and check /var/log/syslog
for any errors:
/etc/init.d/bind9 start
The Perfect Setup - Debian Sarge (3.1) - Page 2
The Perfect Setup - Debian Sarge (3.1) - Page 4
Recent comments
6 hours 42 min ago
10 hours 11 min ago
13 hours 1 min ago
17 hours 37 min ago
18 hours 18 min ago
19 hours 56 min ago
23 hours 35 min ago
1 day 6 hours ago
1 day 7 hours ago
1 day 8 hours ago