Настройка web сервера на freebsd 10
Содержание:
Установка и настройка dnsmasq
Для нашего роутера на freebsd подойдет любой dns и dhcp сервер. Можно использовать традиционные named и dhcp-server. Но для простоты и удобства, когда не нужен дополнительный функционал, я предпочитаю использовать простой и быстрый в настройке dnsmasq.
Устанавливаем dnsmasq на Freebsd шлюз:
# pkg install dnsmasq
Приводим конфиг к следующему виду:
# mcedit /usr/local/etc/dnsmasq.conf
domain-needed bogus-priv interface=hn1 resolv-file=/etc/resolv.conf dhcp-range=10.20.30.100,10.20.30.200,24h
Добавляем в /etc/rc.conf:
dnsmasq_enable="YES"
Запускаем программу:
# /usr/local/etc/rc.d/dnsmasq start
Все, теперь наш шлюз полностью готов. Настраиваем на клиентах получение настроек по dhcp и проверяем работу интернета.
Информацию о выданных leases dhcp сервера dnsmasq можно посмотреть в файле /var/db/dnsmasq.leases.
Скачать нужный образ freebsd
Перед установкой надо определиться, какой образ скачать. Я составил кратенькую таблицу с описанием всех типов образов Freebsd 11 для платформы x64, которые можно скачать. Ссылки привел на Yandex.Mirror, предпочитаю с него все качать, так как быстро и удобно.
Имя образа | Описание | Скачать образ |
---|---|---|
bootonly | Минимальный образ по размеру. Чтобы установить с него систему, необходимо подключение к интернету во время установки. | bootonly.iso 285M |
disc1 | Основная система и базовый набор программ есть на диске. Можно установить без подключения к сети. Я пользуюсь обычно этим образом. | disc1.iso 656M |
dvd1 | Максимальный образ. В него входят помимо системы, пакеты программ. Что за пакеты и какой их список я не знаю, никогда не пользовался этим образом. Все, что необходимо, после установки ставлю через интернет. | dvd1.iso 3G |
memstick | Стандартный образ для установки с флешки, аналог disc1. | memstick.img 700M |
В дальнейшем повествовании я буду использовать образ disc1 как наиболее удобный и универсальный.
Установка FreeBSD
Этот раздел описывает процесс установки новой системы FreeBSD
Особое внимание уделено
получению дистрибутива FreeBSD 5.3-RELEASE и началу процедуры установки. Глава «Установка FreeBSD» Руководства
FreeBSD предоставляет более подробную информацию о самой программе установке, включая
пошаговую инструкцию по установке с иллюстрациями
Если вы обновляете предыдущий релиз FreeBSD, ознакомьтесь с , где находятся инструкции по обновлению.
1.1. Перед
установкой
Возможно наиболее важным действием, которое должно быть выполнено перед установкой,
является чтение различных инструкций, поставляемых с FreeBSD. Обзор документов,
поставляемых с этим релизом FreeBSD, можно найти в README.TXT,
который обычно находится там же, где и этот файл; большинство таких документов
(информация о релизе, список совместимого оборудования) доступны также из меню
Documentation программы установки.
Он-лайн версии FreeBSD FAQ и Handbook доступны также с веб сайта Проекта FreeBSD, если у вас есть подключение к интернет.
Этот набор документов может показаться сложным, но время, потраченное на их чтение,
окупится многократно. Ознакомление с доступными ресурсами также может помочь в случае
проблем при установке.
Даже правильные действия иногда приводят к неудаче, так что если вы столкнулись с
проблемами, обратитесь к , где находится информация по
решению проблем. Вам также понадобится прочесть свежую копию файла ERRATA.TXT перед установкой, он предупредит вас о проблемах,
которые были обнаружены за время существования данного релиза.
1.2. Требования к аппаратному
обеспечению
Если вы не знакомы с настройкой оборудования для FreeBSD, обязательно прочтите файл
HARDWARE.TXT; в нем содержится важная информация по
оборудованию, поддерживаемому FreeBSD.
Распространённость OpenBSD и дочерние проекты
OpenBSD — вторая по популярности BSD-система
Наиболее популярным (хотя далеко не единственным) применением OpenBSD являются системы защиты сетей (межсетевые экраны). В немалой степени этому способствуют дочерние проекты, разрабатываемые параллельно:
- Packet Filter (PF) — межсетевой экран (фаервол) со встроенной платформой организации очередей ALTQ, заменивший в OpenBSD популярный IPFilter Даррена Рида после многолетних разногласий по поводу лицензии. PF был высоко оценён и взят на вооружение разработчиками параллельных проектов NetBSD и FreeBSD.
- OpenSSH — самая распространённая открытая реализация SSH.
- OpenNTPD — демон для синхронизации времени по протоколу NTP; может работать и как сервер.
- OpenOSPFD — реализация протокола динамической маршрутизации OSPF (локальная маршрутизация).
- OpenBGPD — реализация протокола динамической маршрутизации BGP (глобальная маршрутизация).
- OpenCVS — (в разработке и отладке; на данный момент используется только часть — OpenRCS) — более простая и безопасная реализация CVS, чем разрабатываемая в рамках GNU.
- OpenSMTPD — реализация протокола SMTP.
- OpenIKED — реализация протокола IKEv2, являющегося одной из основных составляющих IPSec VPN.
- LibreSSL — форк OpenSSL, обеспечиващий совместимость с родительским проектом, но при этом систематически проходящий аудит как составная часть OpenBSD.
- sndio — звуковой сервер.
- OpenRSYNC — форк rsync под BSD лицензией.
Отдельные разработки OpenBSD не стали отдельными проектами, но используются в качестве компактных, легче аудируемых замен внешним альтернативам, например:
- doas — альтернатива sudo.
- signify — альтернатива утилите openssl, реализующей отдельные заложенные в OpenSSL функции.
- vmm — собственный механизм (пара-)виртуализации.
OpenBSD 3.7, запущенная в графическом режиме с X.Org и оконным менеджером JWM
Содержимое дистрибутива
Типичный каталог дистрибутива FreeBSD выглядит примерно так (детали могут отличаться в
зависимости от версии, архитектуры, и других факторов):
ERRATA.HTM README.TXT compat1x dict kernel ERRATA.TXT RELNOTES.HTM compat20 doc manpages HARDWARE.HTM RELNOTES.TXT compat21 docbook.css packages HARDWARE.TXT base compat22 filename.txt ports INSTALL.HTM boot compat3x floppies proflibs INSTALL.TXT catpages compat4x games src README.HTM cdrom.inf crypto info tools
Если вы хотите выполнить CDROM, FTP или NFS установку из этого каталога, все, что
потребуется, это сделать 1.44MB загрузочные дискеты (см. ), загрузиться с них и следовать инструкциям. Остальные файлы, необходимые для
установки, будут получены автоматически на основе вашего выбора. Если вы никогда раньше
не устанавливали FreeBSD, потребуется также полностью прочитать этот документ (файл
инструкций по установке).
Если вы хотите выполнить установку другого типа, или хотите узнать больше об
организации дистрибутива, вам поможет нижеследующая более детальная информация:
-
Файлы *.TXT и *.HTM содержат
документацию (например, этот документ находится в INSTALL.TXT и
INSTALL.HTM), их необходимо прочесть перед началом установки.
Файлы *.TXT это простой текст, а файлы *.HTM это HTML файлы, которые могут быть просмотрены практически
любым веб браузером. Некоторые дистрибутивы могут также содержать документацию в других
форматах, таких как PDF или PostScript. -
docbook.css это файл Cascading Style Sheet (CSS),
используемый некоторыми веб браузерами для форматирования HTML документации. -
Каталоги base, catpages, crypto, dict, doc, games, info, manpages, proflibs, и src содержат основные
компоненты дистрибутива FreeBSD и разделены на небольшие файлы, которые могут поместиться
на дискеты (если это потребуется). -
Каталоги compat1x, compat20, compat21, compat22, compat3x, и compat4x содержат
дистрибутивные наборы совместимости со старыми релизами и находятся в одиночных
упакованных gzip tar файлах — они могут быть установлены во время установки релиза или
позже путем запуска соответствующих скриптов install.sh. -
В каталоге floppies/ находятся образы загрузочных дискет;
дальнейшая информация по их использованию дана в . -
Каталоги packages и ports содержат
коллекцию пакетов и портов FreeBSD. Пакеты могут быть установлены из каталога packages следующей командой:#/stand/sysinstall configPackages
Пакеты также могут быть установлены путем задания отдельных имен пакетов в каталоге
packages/ команде
pkg_add(1).Коллекция портов может быть установлена как любой другой дистрибутивный набор и
требует около 190MB места. Дальнейшая информация по коллекции портов может быть получена
с http://www.FreeBSD.org/ru/ports/ или локально из /usr/share/doc/handbook если вы установили дистрибутивный набор doc. -
Наконец, каталог tools содержит различные утилиты DOS для
определения геометрии диска, установки загрузочных менеджеров и т.п. Эти утилиты
опциональны и предоставляются только для удобства пользователей.
Типичный дистрибутивный каталог (например, info) изнутри
выглядит примерно так:
CHECKSUM.MD5 info.ab info.ad info.inf install.sh info.aa info.ac info.ae info.mtree
Файл CHECKSUM.MD5 содержит контрольные суммы MD5 для каждого
файла, которые помогают определить не поврежден ли файл. Он не используется программой
установки и его не требуется копировать вместе с остальными файлами набора. Файлы info.a* это части упакованного gzip tar файла, содержимое которого
может быть просмотрено так:
# cat info.a* | tar tvzf -
Во время установки эти части автоматически объединяются и извлекаются программой
установки.
Файл info.inf также необходим, поскольку он читается
программой установки для определения числа частей, которые необходимо объединить в
дистрибутивный набор. При помещении дистрибутивных наборов на дискеты, файл .inf должен
быть помещен на первую дискету каждого дистрибутивного набора!
Файл info.mtree это еще один не-необходимый файл,
предоставляемый для информации. Он содержит контрольные суммы MD5 для распакованных дистрибутивных файлов и в
дальнейшем может использоваться программой
mtree(8) для
проверки возможного изменения файлов. Использование этого файла из набора base это хороший способ обнаружения троянских атак на вашу
систему.
Наконец, install.sh предназначен для тех, кто хочет
установить дистрибутивный набор после установки системы. Например, для установки набора
info с CDROM после установки системы, вы можете выполнить:
Заключение
Закончили установку. Можно сделать базовую настройку freebsd. Вся информация в статье актуальна для 11-й версии.
Получилось не только про установку, но и про zfs немного, о том, как заменить сбойный диск в случае выхода из строя
Я всегда обращаю внимание на такие вещи, как отказоустойчивость на уровне дисков. Без этого систему не ставлю
Обязательно должен быть рейд либо программный, либо аппаратный. Я в своей работе постоянно сталкиваюсь с поломками жестких дисков, так что для меня это будни 🙂 Даже бэкапа не достаточно в таком случае. Даже если есть бэкап, то работы по замене системы занимают слишком много времени, а если ты в основном работаешь удаленно, тебе еще и ехать придется, чтобы что-то заменить. Это не мой вариант.
Freebsd 11 понравилась простой и быстрой установкой на raid1. Думаю, эта возможность появилась раньше, я просто не проверял. Решил посмотреть на 11-й версии. В целом, все понравилась. В отличие от Debian, голая система ставится на глаз раз в 5-7 быстрее и раза в 3 быстрее CentOS. Надеюсь, что система и дальше будет развиваться и радовать нас новыми версиями и возможностями.