Установка · 2 min read · Feb 03, 2026

Debian Sarge (3.1) с Ruby on Rails и Apache 2 с FastCGI - Страница 2

Установка Quota

apt-get install quota quotatool
  • На запрос: Отправлять ежедневные напоминания пользователям о превышении квоты ответьте Нет

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

joe /etc/fstab

| # /etc/fstab: статическая информация о файловой системе. # # <файловая система> <точка монтирования> <тип> <опции> <дамп> <проход> 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 |

Затем выполните:

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

Установка DNS-сервера

apt-get install bind9

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

/etc/init.d/bind9 stop

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

joe /etc/default/bind9

| OPTS="-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/init.d/sysklogd для sysklogd, чтобы мы все еще могли получать важные сообщения, записываемые в системные журналы. Измените строку: SYSLOGD=”” так, чтобы она выглядела как: SYSLOGD=”-a /var/lib/named/dev/log”

joe /etc/init.d/sysklogd

| #! /bin/sh # /etc/init.d/sysklogd: запуск демона системного журнала. PATH=/bin:/usr/bin:/sbin:/usr/sbin pidfile=/var/run/syslogd.pid binpath=/sbin/syslogd test -x $binpath || exit 0 # Опции для запуска/перезапуска демонов # Для удаленного UDP-журналирования используйте 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() { # Нет pidfile, вероятно, демон отсутствует # if [ ! -f $pidfile ] then return 1 fi pid=`cat $pidfile` # Нет pid, вероятно, демон отсутствует # 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` # Нет syslogd? # if [ "$cmd" != "$binpath" ] then return 1 fi return 0 } case "$1" in start) echo -n "Запуск демона системного журнала: syslogd" create_xconsole start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD echo "." ;; stop) echo -n "Остановка демона системного журнала: syslogd" start-stop-daemon --stop --quiet --exec $binpath --pidfile $pidfile echo "." ;; reload|force-reload) echo -n "Перезагрузка демона системного журнала: syslogd" start-stop-daemon --stop --quiet --signal 1 --exec $binpath --pidfile $pidfile echo "." ;; restart) echo -n "Перезапуск демона системного журнала: 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 "Перезагрузка демона системного журнала: syslogd" start-stop-daemon --stop --quiet --signal 1 --exec $binpath --pidfile $pidfile else echo -n "Перезапуск демона системного журнала: syslogd" start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD fi echo "." ;; *) echo "Использование: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart}" exit 1 esac exit 0 |

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

/etc/init.d/sysklogd restart

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

/etc/init.d/bind9 start  
less /var/log/syslog
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.