Все действия практически те же самые, но только в качестве системы будет использоваться Ubuntu Server 12.04 (Precise Pangolin) i386.
В этот туториале рассказано об установке Ubuntu Server 12.04, который будет предоставлять все необходимые услуги для интернет-провайдеров и хостеров:
- веб-сервер Apache (с шифрованием SSL);
- почтовый сервер Postfix с SMTP-AUTH и TLS;
- DNS сервер BIND;
- FTP-сервер Proftpd;
- MySQL-сервер;
- Courier POP3/IMAP;
- брандмауэр и т. д.
- Веб-сервер Apache и PHP, Python, Ruby и WebDAV;
- Сервер баз данных: MySQL;
- Почтовый сервер: Postfix;
- DNS-сервер: BIND9;
- FTP-сервер: ProFTPD;
- POP3/IMAP: буду использовать форматы Maildir, POP3/IMAP;
- Webalizer для статистики веб-сайта.
1. Требования
Для установки системы необходимо скачать образ и записать его на носитель.Страница загрузки Ubuntu Server 12.04: http://www.ubuntu.com/download/server
Компьютер с минимальными системными характеристиками:
- 1 GHz Pentium 4;
- 1 Gb RAM;
- <=10 Gb места на жестком диске;
- доступ к интернету.
2. Предварительные замечания
В этом туториале используется имя хоста server.example.com с IP адресом 192.168.1.104. Эти параметры могут отличаться от ваших, поэтому вам придется заменить их в случае необходимости.Все действия выполняются на виртуальной машине (VirtualBox):
- 512 Mb RAM;
- Сетевой мост;
- VDI, 30 Gb.
3. Инсталляция базовой системы
Открыть спойлер4. Предоставление прав суперпользователя
Примечание!
Если у вас вместо русского языка «квадратики», то нужно добавить строки в файл /etc/rc.local:
setupcon
exit 0
Теперь создадим пароль суперпользователя:
$ sudo su
$ sudo passwd root
5. Установка SSH-сервера (опционально)
SSH-сервер необходим для удаленного доступа к серверу.# aptitude install ssh openssh-server
Теперь вы можете подконнектиться к вашему серверу через удаленный терминал.
К примеру:
$ ssh [email protected]
6. Установка vim (опционально):
Vim мой любимый текстовый редактор, поэтому предлагаю и вам установить и изучать его, он гибок в настройке и удобен.# aptitude install vim
Небольшая настройка vim: http://beginsysadmin.blogspot.com/2013/04/vim.html
7. Конфигурирование сети
Так как программа установки Ubuntu настроила систему через DHCP, то мы должны изменить их, так как сервер должен иметь статический IP-адрес.# vim /etc/network/interfaces
auto lo
iface
lo inet loopback
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
# aptitude safe-upgrade
Скорее всего у вас обновится ядро до версии 3.5.0-26. На всякий случай рекомендую обновить конфиг загрузчика:
# update-grub
Перезагружаемся:
# reboot
# dpkg-reconfigure dash
На вопрос отвечаем «Нет».
Перезагрузить демон сети:
# /etc/init.d/networking restart
8. Обновляем ПО
# aptitude update# aptitude safe-upgrade
Скорее всего у вас обновится ядро до версии 3.5.0-26. На всякий случай рекомендую обновить конфиг загрузчика:
# update-grub
Перезагружаемся:
# reboot
9. Выбор стандартного шелла
(Это необходимо для инсталляции ISPConfig, если вы это не сделаете, ISPConfig не установится).# dpkg-reconfigure dash
На вопрос отвечаем «Нет».
10. Удаление apparmor
Почему? Очень часто именно из-за apparmor бывают проблемы, поэтому его лучше удалить.
# /etc/init.d/apparmor stop
# update-rc.d -f apparmor remove
# aptitude remove apparmor
# ntpdate
По соображениям безопасности, мы хотим запустить BIND изолированным.:
# /etc/init.d/bind9 stop
Редактируем файл /etc/default/bind9:
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
Перемещаем конфиг из одной папки в другую:
# mv /etc/bind /var/lib/named/etc
Символьная ссылка:
# 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 и запишем в него:
$AddUnixListenSocket /var/lib/named/dev/log
Перезагружаем демон логгирования:
# /etc/init.d/rsyslog restart
Запускаем BIND, исправляем ошибки (/var/log/syslog):
# /etc/init.d/bind9 start
Устанавливаем пароль для MysSQL:
Мы хотим, чтобы MySQL слушал все интерфейсы, а не только локальный, поэтому редактируем файл /etc/mysql/my.cnf и комментируем строчку:
# bind-address = 127.0.0.1
Перезапускаем MySQL:
# /etc/init.d/mysql restart
Проверяем:
# netstat -tap | grep mysql
Вывод должен быть примерно таким:
tcp 0 0 *:mysql *:* LISTEN 6525/mysqld
11. Синхронизация времени с интернетом
# aptitude install ntp# ntpdate
12. Установим кое-какое ПО
# aptitude install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.8-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip autoconf automake1.9 libtool bison autotools-dev g++ build-essential zlib1g-dev13. DNS сервер
# aptitude install bind9По соображениям безопасности, мы хотим запустить BIND изолированным.:
# /etc/init.d/bind9 stop
Редактируем файл /etc/default/bind9:
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
Перемещаем конфиг из одной папки в другую:
# mv /etc/bind /var/lib/named/etc
Символьная ссылка:
# 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 и запишем в него:
$AddUnixListenSocket /var/lib/named/dev/log
Перезагружаем демон логгирования:
# /etc/init.d/rsyslog restart
Запускаем BIND, исправляем ошибки (/var/log/syslog):
# /etc/init.d/bind9 start
14. MySQL
# aptitude install mysql-server mysql-client libmysqlclient18 libmysqlclient-devУстанавливаем пароль для MysSQL:
# bind-address = 127.0.0.1
Перезапускаем MySQL:
# /etc/init.d/mysql restart
Проверяем:
# netstat -tap | grep mysql
Вывод должен быть примерно таким:
tcp 0 0 *:mysql *:* LISTEN 6525/mysqld
Амет, вот не хочется говорить гадости, но ответь плиз, ты сам эту статью писал или скопировал откуда-то? Я по таким статейкам неделю пытался все это настроить, в итоге пришлось нанять спецов из osshelp. Тут подводных камней миллион, неужели нельзя писать более подробно и понятно. Пункт 12, кое какие пакеты(что за пакеты?) Уверен, что права нужно будет на половину файлов менять, где это все? Хочу сказать, что для человека, который уже это делал, статья не плоха как напоминалка, а для начинающего админа темный лес. Сори, не хотел обидеть.
ОтветитьУдалитьНу написано же в начале, что это перевод.
УдалитьЗнаешь, я же в первую очередь для себя это делаю, наверняка в будущем оно мне пригодится.
Подводные камни конечно есть и будут, время идет, linux меняется.
Если каждую свою заметку писать с полным разбором, то времени не оберешься.
Если есть вопросы, задавайте, я такой же начинающий админ, что-то вы подскажете, что-то я.
Но то, что я выкладываю, у меня работает, то что я пробовал и у меня не получилось я не выкладываю.
Оригинал статьи: http://www.howtoforge.com/perfect-server-ubuntu-10.04-lucid-lynx-ispconfig-2