Серверные настройки · 2 min read · Nov 04, 2025

Идеальный сервер - Ubuntu Maverick Meerkat (Ubuntu 10.10) [ISPConfig 2] - Страница 4

11 Установка программного обеспечения

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

aptitude 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

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

12 Журналируемая квота

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

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

aptitude install quota

Отредактируйте /etc/fstab. У меня он выглядит так (я добавил, usrjquota=quota.user, grpjquota=quota.group, jqfmt=vfsv0 к разделу с точкой монтирования /):

vi /etc/fstab

| # /etc/fstab: статическая информация о файловой системе. # # Используйте 'blkid -o value -s UUID', чтобы напечатать универсальный уникальный идентификатор # для устройства; это может быть использовано с UUID= как более надежный способ именования # устройств, который работает даже если диски добавляются и удаляются. См. fstab(5). # # <файловая система> <точка монтирования> <тип> <опции> <дамп> <передача> proc /proc proc nodev,noexec,nosuid 0 0 /dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1 # /boot был на /dev/sda1 во время установки UUID=a8f37dcf-5836-485c-a451-3ae2f0f47720 /boot ext2 по умолчанию 0 2 /dev/mapper/server1-swap_1 none swap sw 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 |

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

mount -o remount /

quotacheck -avugm
quotaon -avug

13 DNS-сервер

Выполните

aptitude install 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

14 MySQL

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

aptitude install mysql-server mysql-client libmysqlclient16-dev

Вам будет предложено ввести пароль для пользователя root MySQL - этот пароль действителен для пользователя root@localhost, а также [email protected], поэтому нам не нужно будет указывать пароль root MySQL вручную позже:

Новый пароль для пользователя MySQL “root”: <– вашпарольmysql
Повторите пароль для пользователя MySQL “root”: <– вашпарольmysql

Мы хотим, чтобы MySQL слушал на всех интерфейсах, а не только на localhost, поэтому мы редактируем /etc/mysql/my.cnf и закомментируем строку bind-address = 127.0.0.1:

vi /etc/mysql/my.cnf

| [...] # # Вместо skip-networking по умолчанию теперь слушает только на # localhost, что более совместимо и не менее безопасно. #bind-address = 127.0.0.1 [...] |

Затем мы перезапускаем MySQL:

/etc/init.d/mysql restart

Теперь проверьте, что сеть включена. Выполните

netstat -tap | grep mysql

Вывод должен выглядеть так:

root@server1:~# netstat -tap | grep mysql
tcp        0      0 :mysql                 :*                     LISTEN      6796/mysqld
root@server1:~#

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.