Серверы · 3 min read · Oct 04, 2025

Идеальный сервер - Debian Lenny (Debian 5.0) [ISPConfig 2] - Страница 3

4 Установите SSH сервер

Debian Lenny не устанавливает OpenSSH по умолчанию, поэтому мы сделаем это сейчас. Выполните

apt-get install ssh openssh-server

С этого момента вы можете использовать SSH-клиент, такой как PuTTY, и подключаться с вашего рабочего места к вашему серверу Debian Lenny и следовать оставшимся шагам этого руководства.

5 Установите vim-nox (необязательно)

Я буду использовать vi в качестве текстового редактора в этом руководстве. Программа vi по умолчанию имеет странное поведение на Debian и Ubuntu; чтобы исправить это, мы установим vim-nox:

apt-get install vim-nox

(Вам не нужно это делать, если вы используете другой текстовый редактор, такой как joe или nano.)

6 Настройте сеть

Поскольку установщик Debian Lenny настроил нашу систему на получение сетевых настроек через DHCP, мы должны изменить это сейчас, потому что сервер должен иметь статический IP-адрес. Отредактируйте /etc/network/interfaces и настройте его в соответствии с вашими потребностями (в этом примере я буду использовать IP-адрес 192.168.0.100) (обратите внимание, что я заменяю allow-hotplug eth0 на auto eth0; в противном случае перезапуск сети не работает, и нам придется перезагрузить всю систему):

vi /etc/network/interfaces

| # Этот файл описывает доступные сетевые интерфейсы на вашей системе # и как их активировать. Для получения дополнительной информации смотрите interfaces(5). # Интерфейс сетевого цикла auto lo iface lo inet loopback # Основной сетевой интерфейс #allow-hotplug eth0 #iface eth0 inet dhcp 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 |

Затем перезапустите вашу сеть:

/etc/init.d/networking restart

Затем отредактируйте /etc/hosts. Сделайте его таким:

vi /etc/hosts

| 127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1 # Следующие строки желательны для хостов, поддерживающих IPv6 ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |

Теперь выполните

echo server1.example.com > /etc/hostname  
/etc/init.d/hostname.sh start

После этого выполните

hostname  
hostname -f

Оба должны показать server1.example.com.

7 Обновите вашу установку Debian

Выполните

apt-get update

чтобы обновить базу данных пакетов apt и

apt-get upgrade

чтобы установить последние обновления (если они есть).

8 Установите несколько программ

Теперь мы установим несколько пакетов, которые понадобятся позже. Выполните

apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential

(Эта команда должна быть в одной строке!)

9 Квота

(Если вы выбрали другую схему разбиения, чем я, вы должны отредактировать эту главу так, чтобы квота применялась к разделам, где она вам нужна.)

Чтобы установить квоту, выполните

apt-get install quota

Отредактируйте /etc/fstab. Мой выглядит так (я добавил,usrquota,grpquota к разделу с точкой монтирования /):

vi /etc/fstab

| # /etc/fstab: статическая информация о файловой системе. # # <файловая система> <точка монтирования> <тип> <опции> <дамп> <передача> proc /proc proc defaults 0 0 /dev/sda1 / ext3 errors=remount-ro,usrquota,grpquota 0 1 /dev/sda5 none swap sw 0 0 /dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 |

Чтобы включить квоту, выполните эти команды:

touch /quota.user /quota.group  
chmod 600 /quota.*  
mount -o remount /
quotacheck -avugm  
quotaon -avug

10 DNS-сервер BIND9

Выполните

apt-get install bind9

чтобы установить BIND9.

По соображениям безопасности мы хотим запустить BIND в chroot, поэтому нам нужно выполнить следующие шаги:

/etc/init.d/bind9 stop

Отредактируйте файл /etc/default/bind9 так, чтобы демон работал от непривилегированного пользователя bind, chrooted к /var/lib/named. Измените строку: OPTIONS=”-u bind” так, чтобы она выглядела как OPTIONS=”-u bind -t /var/lib/named”:

vi /etc/default/bind9

| # запускать resolvconf? RESOLVCONF=yes # параметры запуска для сервера OPTIONS="-u bind -t /var/lib/named" |

Создайте необходимые директории в /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

Затем переместите директорию конфигурации из /etc в /var/lib/named/etc:

mv /etc/bind /var/lib/named/etc

Создайте символическую ссылку на новую директорию конфигурации из старого местоположения (чтобы избежать проблем, когда BIND будет обновлен в будущем):

ln -s /var/lib/named/etc/bind /etc/bind

Создайте устройства null и random и исправьте права доступа к директориям:

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

Нам нужно открыть /etc/rsyslog.d/bind-chroot.conf…

vi /etc/rsyslog.d/bind-chroot.conf

… и добавить следующую строку, чтобы мы все еще могли получать важные сообщения, записываемые в системные журналы:

| $AddUnixListenSocket /var/lib/named/dev/log |

Перезапустите демон журналирования:

/etc/init.d/rsyslog restart

Запустите BIND и проверьте /var/log/syslog на наличие ошибок:

/etc/init.d/bind9 start
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.