Установка и настройка freebsd

Введение

Наступая на грабли и разбираясь с установкой этой ОС самостоятельно, человек
приобретает опыта несравнимо больше (богаче), нежели с пошаговым руководством.
Посему, я предлагаю самостоятельно разобраться с загрузкой с CD, разбивкой
диска и собственно установкой. Однако некоторые рекомендации по этому поводу
будут.

Прелесть FreeBSD (как впрочем и большинства POSIX-овых операционок) — иерархия
файловой системы с единым корнем. В любую точку этой иерархии можно монтировать
(совершенно прозрачно для большинства приложений) разделы диска. Это значит,
что если у вас, например, кончилось место в /var, и больше всего съел /var/mail,
то вы спокойно выносите его (mail) на отдельный раздел не меняя ничего в
настройках софта.

Стандартная установка

Начнем с нуля установку Freebsd 11 на одиночный жесткий диск. Вставляем iso образ в автозагрузку и загружаемся с диска. Нас встречает традиционное окно приветствия с тремя вариантами продолжения:

  1. Install — начать установку системы.
  2. Shell — перейти в консоль.
  3. Live CD — загрузиться в режиме Live CD.

Выбираем установку. На следующем этапе будет предложено выбрать раскладку. Чаще всего достаточно стандартной, так что ничего не меняем, а идем дальше со стандартной раскладкой.

Дальше нужно будет указать имя новой freebsd системы. Назвать можете как угодно, это не принципиально. В случае необходимости, это имя можно будет сменить после установки.

Теперь выбираем компоненты, которые будут установлены. Я обычно ничего не ставлю, кроме lib32. Все, что нужно, можно потом установить последней версии из интернета.

На следующем этапе выбираем разбивку жесткого диска. Можно вручную указать все необходимые разделы, выбрать размер и т.д. Я обычно этого не делаю и все устанавливаю на одном корневом разделе. Давно уже так поступаю на всех системах и не вижу в этом никаких проблем. Наиболее частая рекомендация — вынести в отдельный раздел все логи, чтобы случайно заполнив все свободное место они не повесили сервер. На практике у меня такого ни разу не было, поэтому считаю лишним каждый раз возиться с разделами ради очень условного удобства. Правда есть нюанс — у меня на всех серверах всегда настроен мониторинг свободного места на жестком диске. Так что я успеваю оперативно среагировать на проблемы со свободным местом. Ну и слежу за ротацией логов само собой, не оставляю их расти до больших размеров.

Так что выбираем первый пункт — Auto (UFS). Установку freebsd 11 на zfs мы рассмотрим позже.

Дальше у вас спросят, хотите ли вы занять все свободное место жесткого диска под систему. Если это так, а обычно это так, то соглашайтесь. На следующем этапе указываем таблицу разделов. Я выбираю GPT:

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

Длится она буквально несколько минут. Чистая система ставится очень быстро. По ходу дела будет предложено указать пароль для root. Сделайте это. Далее нужно будет выбрать сетевой интерфейс для настройки.

Если у вас их несколько, то выберите тот, который вы хотите настроить для доступа к сети. После выбора интерфейса нужно будет согласиться с настройкой ip адреса на нем. Дальше я выбираю получить настройки по DHCP. Так проще всего. Если вам нужно вручную указать ip адрес, то откажитесь от dhcp и введите сетевые параметры вручную.

После этого нужно будет указать адрес dns сервера, предварительно отказавшись от ipv6. Если вы получили настройки по dhcp, то адрес уже будет заполнен, нужно будет только подтвердить его. Если настройки вручную указывали, введи сами dns сервер.

Теперь выбираем часовой пояс, дату и время. Ничего сложного нет, скриншоты приводить не буду. Если дата и время указаны верно, то просто выбирайте Skip, если есть расхождения, вручную укажите правильные. Это, кстати, нововведение в 11-й версии. Раньше такого календаря и часов не было.

Установка движется к завершению. Нужно указать, какие службы вы хотите запускать автоматически при загрузке системы. Обязательно укажите sshd, чтобы подключаться к серверу удаленно, еще ntpd не помешает. Остальное на ваше усмотрение, я больше ничего не указываю. dumped стоит по-умолчанию, пусть останется.

На следующем этапе нам предлагается выбрать некоторые параметры безопасности. Я не знаком подробно с этой темой, не разбирался, но по названиям вижу, что вещи весьма полезные. Можно и включить. Тут на ваше усмотрение. Хуже не будет, но и чего-то особенно тоже не ждите. Все эти настройки можно и позже сделать.

На заключительном этапе вам будет предложено добавить пользователей в систему. Если вы этого не сделаете, то не сможете подключиться по ssh к серверу. По-умолчанию в freebsd пользователю root запрещено подключаться по ssh. Это можно исправить только зайдя локально рутом и отредактировав настройки ssh. Так что создайте хотя бы одного пользователя и добавьте его в группу wheel, чтобы можно было подключиться по ssh и сделать su для получения root доступа.

Дальше выбирайте Exit, перезагружайте систему и вынимайте загрузочный диск.

Вы должны загрузиться в свежеустановленной системе Freebsd 11. На этом базовая установка закончена.

Шаг 2. Установите сервер Apache HTTPS 2.4

Из всех используемых сегодня веб-серверов HTTPS-сервер Apache является самым популярным и используется во всем мире для размещения как статических, так и динамических веб-страниц и приложений.

Pkg, менеджер пакетов FreeBSD по умолчанию, позволяет удобно установить сервер Apache HTTPS из репозитория FreeBSD. Введите команду ниже, чтобы установить Apache с помощью pkg:

$ sudo pkg install -y apache24

Посмотрите, какая версия установлена, с помощью команды ниже:

$ httpd -v

Перед загрузкой Apache необходимо включить его:

$ sudo sysrc apache24_enable=yes

Затем введите команду ниже, чтобы запустить Apache:

$ sudo service apache24 start

Проверьте запуск с помощью следующей команды:

$ sudo service apache24 status

В выводе должно быть четко указано, работает ли он.

Вы также можете убедиться, что все работает правильно, указав свой общедоступный IP-адрес в поле поиска вашего веб-браузера. Если установка прошла гладко и все работает правильно, вы должны быть перенаправлены на веб-страницу, подтверждающую вашу установку.

От автора

Эта статья в основном расчитана на сетевых администраторов небольших
организаций, которые хотят доверить предметной ОС доступ в Интернет. Но
приведенные здесь рекомендации также могут быть полезны и другим опытным
«айтишникам», которые хотят использовать эту ОС в работе. Впрочем, никаких
гениальных изобретений и исчерпывающих выкладок здесь нет. Если есть острое
желание изучить эту ОС, что называется «с потрохами», то рекомендую книжку
«Сага о FreeBSD» Алексея Федорчука
. Однако я постарался описать процесс так, чтобы вызвать у читателя желание
разбираться самостоятельно. Надеюсь, что это получилось.

Файл /etc/hosts.

Файл /etc/hosts содержит таблицы сопоставления DNS имен с IP адресами. В первую очередь ваш сервер будет обращаться к файлу hosts, а потом уже к DNS-серверу.

Записи 127.0.0.1 добавился автоматически при установке.

Лично для себя я отметил полезным внести в hosts запись этого freebsd (IP адрес локальной сети — имя сервера). Теперь мы можем во всех конфигурационных файлах указывать DNS имя, а не IP адрес, а в случае необходимости за кротчайшее время изменить свой IP адрес поправив hosts и настройки интерфейса в /etc/rc.conf.

Это просто для примера вам этого делать не обязательно.

Приступаю к редактированию(Рис.10):

vi /etc/hosts

Вписываю:

192.168.3.11 freebsd.itdeer.loc

Рис.10 — Содержимое файла hosts.

Проверю попинговав имена из hosts.(Рис.11)

ping localhost
ping freebsd.itdeer.loc

Рис.11 — Пингуем имена из hosts.

Скачать нужный образ freebsd

Перед установкой надо определиться, какой образ скачать. Я составил кратенькую таблицу с описанием всех типов образов Freebsd 11 для платформы x64, которые можно скачать. Ссылки привел на Yandex.Mirror, предпочитаю с него все качать, так как быстро и удобно.

Скачать Freebsd 11
Имя образа Описание Скачать образ
bootonly Минимальный образ по размеру. Чтобы установить с него систему, необходимо подключение к интернету во время установки. bootonly.iso 285M
disc1 Основная система и базовый набор программ есть на диске. Можно установить без подключения к сети. Я пользуюсь обычно этим образом. disc1.iso 656M
dvd1 Максимальный образ. В него входят помимо системы, пакеты программ. Что за пакеты и какой их список я не знаю, никогда не пользовался этим образом. Все, что необходимо, после установки ставлю через интернет. dvd1.iso 3G
memstick Стандартный образ для установки с флешки, аналог disc1. memstick.img 700M

В дальнейшем повествовании я буду использовать образ disc1 как наиболее удобный и универсальный.

Временное назначение ip адреса.

Честно говоря я не знаю для чего может пригодиться временное назначение сетевых настроек. Разве что допустим у вас какой-нибудь сервер который предназначен только для вашей локальной сети и вы вдруг решили быстренько обновить ПО через интернет на этом сервере, чтобы не ходить к шлюзу не раздавать интернет на нужный IP адрес итд.  Вы можете обойтись парой команд.

Например, мы знаем что на 192.168.3.109 точно есть доступ в интернет, назначаем этот IP адрес нашему интерфейсу, так же нужно указать маску сети(Рис.12):

ifconfig em0 192.168.3.109 netmask 255.255.255.0

или командой с короткой записью маски сети.

ifconfig em0 192.168.3.109/24

Рис.12 — Указание временных настроек для сетевого интерфейса em0.

Интернет может  не появиться, так как не указан шлюз по умолчанию. Прописываем его и пингуем гугловкие восьмёрки.(Рис.13)

route add default 192.168.3.1
ping 8.8.8.8

Рис.13 — Указываем шлюз по умолчанию. Проверяем ping.

Правильно ли мы прописали наш шлюз по умолчанию можно посмотреть в таблице маршрутизации. Она выводится с помощью команды «netstat -rn», Шлюз по умолчанию будет обозначен флагом UG.(Рис.14)

netstat -rn

Рис.14 — Вывод таблицы маршрутизации.

Если вы где-то ошиблись в написании или у вас указан другой шлюз, то можно удалить шлюз по умолчанию.

route del default

На этом временная настройка закончена, помните что после перезагрузки сервера  или отдельно службы networking, все временные настройки исчезнут.

Добавляем маршрут в сеть 192.168.0.0/16 (Маска 255.255.0.0) через основной шлюз(gateway) 192.168.3.1/24

route add 192.168.0.0/16 192.168.3.1

Вариант добавления маршрута с указанием полной маски.

route add -net 192.168.0.0 -netmask 255.255.0.0 192.168.3.1

Анализ сетевой активности в freebsd с помощью iftop

Иногда хочется посмотреть, что происходит на роутере и кто использует интернет в данный момент. По-умолчанию, в системе нет готового средства для получения этой информации. На помощь нам придет простая программа iftop, которая позволяет в режиме реального времени посмотреть активность на сетевом интерфейсе.

Устанавливаем iftop на настроенный Freebsd шлюз:

# pkg install iftop

Запускаем iftop с указанием интерфейса и отображением используемых портов:

# iftop -i hn1 -P

Видим любопытную картину — кто, куда, по какому порту и с какой скоростью лезет.

Я для примера на одном из компьютеров запустил генератор трафика интернета. Он занял почти весь канал и это стало отлично видно на роутере с помощью iftop. Конечно, эта простая утилита не решает всех вопросов по мониторингу сетевой активности, но для представления текущей картины подходит, если вам не нужно что-то большее.

Установка FreeBSD 13.0

2. После загрузки образа установщика FreeBSD запишите его на носитель (CD/DVD или USB) и загрузите систему со вставленным носителем. После загрузки системы с установочным носителем появится следующее меню.

Меню загрузки FreeBSD

3. По умолчанию меню будет ждать ввода данных пользователя в течение 10 секунд, прежде чем загрузиться установщик FreeBSD. Или мы можем нажать клавишу «Backspace«, чтобы продолжить установку, а затем нажать клавишу «Enter«, чтобы загрузиться в FreeBSD. После завершения загрузки появится приветственное меню со следующими опциями.

Выберите Пункт Установка FreeBSD

Нажмите Enter, чтобы выбрать опцию по умолчанию «Установить«. Или вы можете выбрать «Shell» для доступа к программам командной строки для подготовки дисков перед установкой. Так же можно выбрать опцию «Live CD«, чтобы попробовать FreeBSD перед ее установкой. Но здесь мы будем использовать опцию по умолчанию «Установить«, так как мы устанавливаем FreeBSD.

4. Далее отображается список ключевых раскладок, просто выберите опцию по умолчанию, чтобы продолжить.

Выбор раскладки клавиш FreeBSD

5. Далее укажите имя хоста для системы, я использовал freebsd.tecmintlocal.com как мое имя хоста.

Установить имя хоста

6. Выберите компоненты для установки для FreeBSD, по умолчанию каждый параметр предварительно выбран.

Выберите компоненты для установки на FreeBSD

7. На этом шаге нам нужно разбить диск на разделы для нашей установки. Здесь у вас будет четыре варианта:

  • Auto (ZFS) – Эта опция автоматически создает зашифрованную корневую систему на ZFS с использованием файловой системы ZFS с поддержкой загрузочных сред.
  • Auto (UFS) – Этот параметр автоматически создает разделы диска с использованием файловой системы ZFS.
  • Вручную – Этот параметр позволяет продвинутым пользователям создавать настраиваемые разделы из параметров меню.
  • Shell – Эта опция позволяет пользователям создавать настраиваемые разделы с помощью инструментов командной строки, таких как fdisk, gpart и т. Д.

Выберем опцию «Вручную» для создания разделов в соответствии с нашими потребностями.

Ручное разделение дисков FreeBSD

8. После выбора «Ручное секционирование‘ откроется редактор разделов с выделенным диском»ad0» и выберите Создать для создания допустимой схемы секционирования.

Выберите Раздел диска FreeBSD

9. Затем выберите GPT, чтобы создать таблицу разделов. GPT обычно является наиболее предпочтительным методом для компьютеров amd64. Старые компьютеры, которые не совместимы с GPT, должны использовать MBR.

Выберите раздел GPT
Созданный раздел GPT

Установка

Загрузка с носителя FreeBSD выдает меню с вопросом, хотим ли мы запустить установщик системы, получить доступ к оболочке или использовать Live CD. Опция Live CD просто выводит нас в командную строку, где мы можем войти в систему как пользователь root.

Программа установки представлена в виде серии текстовых меню. Мы проходим через выбор раскладки клавиатуры и набора пакетов, который мы хотим установить. Список пакетов является коротким и предлагает такие общие элементы, как отладка ядра, порты, 32-битная совместимость и исходный код для операционной системы. Далее мы можем выбрать подход к разбиению диска. Программа установки автоматически настроит тома UFS или ZFS, или мы можем вручную разбить диск на разделы. Я выбрал ручное разбиение для ZFS. Это позволило мне выбрать, какой диск (или диски) будет использоваться, и дало мне возможность включить RAID, установить размер подкачки и включить шифрование. Мы также можем зашифровать пространство подкачки.

Затем установщик скопировал свои файлы на жесткий диск и продолжил задавать еще несколько вопросов. Нам предлагается создать пароль для учетной записи root и включить сеть с поддержкой IPv4, IPv6 и DHCP. Затем мы можем выбрать из списка наш часовой пояс. На следующем экране спрашивается, какие службы мы хотели бы включить, список включает такие элементы, как OpenSSH и сетевая синхронизация времени. Другой экран дает нам доступ к дополнительным функциям безопасности. К ним относятся очистка /tmp во время загрузки, скрытие процессов от других пользователей, использование случайных идентификаторов процессов и отключение службы электронной почты Sendmail. Нам предоставляется возможность создать учетную запись без полномочий root, а затем установщик предлагает перезагрузить компьютер. Весь процесс, в котором задействовано множество экранов установки, идет быстро и занимает около десяти минут.

3) Русификация консоли и терминала

Начнем с консоли:

Проверяем локали в системе

locale -a | grep ruru_RU.CP1251
ru_RU.CP866
ru_RU.ISO8859-5
ru_RU.KOI8-R
ru_RU.UTF-8

1
2
3
4
5

locale-a|grep ruru_RU.CP1251

ru_RU.CP866

ru_RU.ISO8859-5

ru_RU.KOI8-R

ru_RU.UTF-8

Использовать будем ru_RU.UTF-8

Смотрим доступные keymaps

ls -Al /usr/share/vt/keymaps/ | grep ru
-r—r—r— 1 root wheel 16228 20 янв. 11:41 ru.kbd
-r—r—r— 1 root wheel 16234 20 янв. 11:41 ru.shift.kbd
-r—r—r— 1 root wheel 16232 20 янв. 11:41 ru.win.kbd

1
2
3
4

ls-Alusrsharevtkeymaps|grep ru

-r—r—r—1root  wheel1622820янв.1141ru.kbd

-r—r—r—1root  wheel1623420янв.1141ru.shift.kbd

-r—r—r—1root  wheel1623220янв.1141ru.win.kbd

  • keymap=“ru” — переключение на русский клавишей CAPS Lock;
  • keymap=“ru.shift” — переключение на русский клавишей CAPS Lock, но верхний ряд на клавиатуре by default будет цифровой;
  • keymap=“ru.win” — переключение на русский клавишами CTRL+SHIFT.

Выбираем понравившийся для указания в /etc/rc.conf

Выбираем шрифт, посмотреть доступные можно командой

ls -Al /usr/share/vt/fonts/
total 176
-r—r—r— 1 root wheel 8452 7 дек. 2018 gallant.fnt
-r—r—r— 1 root wheel 1845 20 янв. 11:41 INDEX.fonts
-r—r—r— 1 root wheel 76248 7 дек. 2018 terminus-b32.fnt
-r—r—r— 1 root wheel 1318 7 дек. 2018 tom-thumb.fnt
-r—r—r— 1 root wheel 36408 7 дек. 2018 vgarom-16×32.fnt
-r—r—r— 1 root wheel 8742 7 дек. 2018 vgarom-8×14.fnt
-r—r—r— 1 root wheel 9864 7 дек. 2018 vgarom-8×16.fnt
-r—r—r— 1 root wheel 5384 7 дек. 2018 vgarom-8×8.fnt
-r—r—r— 1 root wheel 5400 7 дек. 2018 vgarom-thin-8×16.fnt
-r—r—r— 1 root wheel 2704 7 дек. 2018 vgarom-thin-8×8.fnt

1
2
3
4
5
6
7
8
9
10
11
12

ls-Alusrsharevtfonts

total176

-r—r—r—1root  wheel84527дек.2018gallant.fnt

-r—r—r—1root  wheel184520янв.1141INDEX.fonts

-r—r—r—1root  wheel762487дек.2018terminus-b32.fnt

-r—r—r—1root  wheel13187дек.2018tom-thumb.fnt

-r—r—r—1root  wheel364087дек.2018vgarom-16×32.fnt

-r—r—r—1root  wheel87427дек.2018vgarom-8×14.fnt

-r—r—r—1root  wheel98647дек.2018vgarom-8×16.fnt

-r—r—r—1root  wheel53847дек.2018vgarom-8×8.fnt

-r—r—r—1root  wheel54007дек.2018vgarom-thin-8×16.fnt

-r—r—r—1root  wheel27047дек.2018vgarom-thin-8×8.fnt

Из них:

  • vgarom-8×8.fnt — матрица 8×8 с поддержкой русских символов;
  • vgarom-8×14.fnt — матрица 8×14 с поддержкой русских символов;
  • vgarom-8×16.fnt — матрица 8×16 с поддержкой русских символов (используется по умолчанию);
  • vgarom-16×32.fnt — матрица 16×32 с поддержкой русских символов (для wide мониторов).

Итак в файле /etc/rc.conf должно получится нечто следующее

ee /etc/rc.conf

1 eeetcrc.conf

keymap=»ru.win»
font8x16=»vgarom-8×16″ #можно не указывать

1
2

keymap=»ru.win»

font8x16=»vgarom-8×16″#можно не указывать

Для терминала:

Будем использовать login class, открываем файл

ee /etc/login.conf

1 eeetclogin.conf

и приводим класс к следующему виду

russian|Russian Users Accounts:\
:charset=utf-8:\
:lang=ru_RU.UTF-8:\
:tc=default:

1
2
3
4

russian|Russian Users Accounts\

charset=UTF-8\

lang=ru_RU.UTF-8\

tc=default

после этого нужно синхронизировать базу

cap_mkdb /etc/login.conf

1 cap_mkdbetclogin.conf

Для существующего пользователя меняем класс.

pw user mod <strong>user_name</strong> -L russian

1 pw user mod<strong>user_name<strong>-Lrussian

Где user_name имя пользователя

Так-же добавляем строчку чтобы консоль загрузилась в графическом режиме если кириллица все еще не отображается нормально

ee /boot/loader.conf

1 eebootloader.conf

hw.vga.textmode=0

1 hw.vga.textmode=

И перезапуск

После настройки SSH, можно подключиться удобным терминалом и настраивать сервер более приятным способом.

Установка phpmyadmin на виртуальный хост

Остался последний шаг в нашем деле — установка phpmyadmin. В принципе, wordpress можно установить уже сейчас, но без удобного средства работы с mysql как-то неловко. В будущем оно все равно пригодится. Так что ставим из портов:

# cd /usr/ports/databases/phpmyadmin
# make install clean

По-умолчанию, phpmyadmin устанавливается в папку /usr/local/www/phpMyAdmin, но так как мы для него создали отдельный виртуальный хост, то переносим все содержимое папки туда:

# mv /usr/local/www/phpMyAdmin/* /web/sites/pma53.websrv.local/www/
# chown -R www:www /web/sites/pma53.websrv.local/www/

Создаем папку для конфига:

# mkdir /web/sites/pma53.websrv.local/www/config
# chmod 0750 /web/sites/pma53.websrv.local/www/config && chown www:www /web/sites/pma53.websrv.local/www/config

Дальше идем по адресу http://pma53.websrv.local/setup/ нажимаем «новый сервер» и настраиваем. Не буду подробно на этом останавливаться, там все просто и многократно описано в интернете. Выбираем все значения инсталлятора по умолчанию.

На этом все. Наш web сервер готов. Загружаем скрипты сайта в /web/sites/websrv.local/www и пользуемся.

FreeBSD с графическим окружением

По умолчанию FreeBSD не включает в себя какую-либо рабочую среду или графические инструменты. Это позволяет системе быть компактной и хорошо подходит для главной роли FreeBSD в качестве серверной операционной системы. Тем не менее, я хотел посмотреть, сколько усилий понадобится, чтобы заставить FreeBSD работать так же, как GhostBSD.

В справочнике проекта есть , посвященный установке программного обеспечения X display, включению экрана входа в систему и установке одной из трех сред рабочего стола: GNOME, KDE и Xfce. Я решил выбрать Xfce. Весь процесс прошел быстро, заняв всего несколько минут и потребовав редактирования трех файлов конфигурации.

Получившийся графический интерфейс пользователя был функциональным, хотя и не особо отточенным. Установка Xfce дала мне рабочий стол, панель по умолчанию и меню, виртуальный терминал и файловый менеджер Thunar, но мало что еще. По большей части, я бы не возражал против установки дополнительных приложений, таких как веб-браузер, LibreOffice и другие распространенные инструменты. Однако были проблемы, которые мне нужно было обойти. Например, мой обычный пользователь не мог перезагрузить или выключить систему из среды рабочего стола, я мог только выйти из системы. Отсутствовал регулятор громкости, и вскоре я обнаружил, что мультимедиа (потоковые и локальные файлы) не воспроизводятся. Например, видео YouTube не воспроизводилось ни в одном из моих веб-браузеров. VLC и MPV не могли воспроизводить видео или аудио файлы и просто зависали при открытии файла.

Эти проблемы сами по себе были незначительными, и есть обходные пути их решения, но они подчеркивают разницу между использованием ориентированного на десктоп члена семейства FreeBSD, такого как GhostBSD, и настройкой FreeBSD с нуля, следуя инструкциям в руководстве.

Ранее я упоминал, что система использует около 500 МБ диска после установки. Но каждая большая коллекция программного обеспечения, которую я добавлял, скачивала около гигабайта пакетов. После настройки Xfce, LibreOffice и веб-браузера было использовано более 3 ГБ. Когда я закончил установку своих обычных настольных программ, я использовал около 5 ГБ дискового пространства. Использование памяти при запуске Xfce 4.12 составляло около 140 Мб активной и 250 Мб связанной памяти, что примерно на 120 Мб больше, чем при работе в минимальной среде командной строки.

Русификация консоли во FreeBSD 11.0 Release

Добавляем следующую строку в файл /boot/loader.conf

Не нашел файл boot/loader.conf при разбиение диска под ZFS и вообще каталога /boot , выполнив следующую команду

# zpool import -f bootpool
# ee /boot/loader.conf

Добавляем следующую строку: kern.vty=vt

Добавляем в файл /etc/rc.conf способ переключения раскладки в консоли клавишами CTRL+SHIFT

# ee /etc/rc.conf

Добавляем строку:

keymap="ru.win"

Локализуем shell, я использую tcsh, для него редактируем файл ~/.cshrc, добавив в него две следующие строки:

setenv LANG ru_RU.UTF—8 
setenv MM_CHARSET UTF—8

Заодно сразу поправим строку

setenv EDITOR vi

изменяем на

setenv EDITOR ee

Устанавливаем по умолчанию редактор ee.

Пользователю необходимо прописать класс russian, командой:

# pw user mod user_name —L russian

Где user_name — имя пользователя

При создании нового пользователя можно сразу прописать нужный нам класс командой

# pw useradd user_name —L russian

Вот и все, заново войдите в shell, для локализации терминала, консоль русифицируется после перезагрузки системы.

Как установить программу\утилиту во FreeBSD?

По факту, тут только два пути:

  1. Путь первый, установить программу из портов
  2. Путь второй, установить программу из уже готовых пакетов

Установка из портов.

Предположим вам нужна программа bash. (а она вам точно нужна)

Найти её в портах очень просто:

whereis bash

Видим там наш путь: /usr/ports/shells/bash. Смело шагаем туда:

cd /usr/ports/shells/bash

И собираем наш shell:

make install clean

Утилита shell скомпилируется и успешно установится по адресу: /usr/local/bin/bash Там будут лежать все проги которые Вы поставите. Если конечно Вы сами ничего не поменяете.

Для удаления программы, идете в порты:

cd /usr/ports/shells/bash

И удаляете программу:

make deinstall
make clean

Путь второй (через утилиту pkg). Ставим пакет lsof:

pkg_add -r lsof

Удаляем пакет lsof:

pkg_delete lsof

Проверяем версии пакетов:

pkg_version -v

Для доп. информации:

pkg_info

Файлы пакетов распространяются в формате *.tgz.

Вся информация о пакете хранится в каталоге /var/db/pkg. Список установленных файлов и описания всех пакетов могут быть найдены среди файлов этого каталога.

Другие наблюдения

По умолчанию любые пользователи, которых мы создаем в системе, не могут выполнять действия администратора. Мы можем выполнить действия администратора, войдя в систему как пользователь root напрямую, или мы можем добавить пользователя в группу wheel, чтобы дать ему возможность переключиться (su) в учетную запись пользователя root. В качестве альтернативы мы можем установить утилиты sudo или doas, которые предоставляют указанным пользователям специальный доступ.

По сравнению с большинством дистрибутивов Linux, FreeBSD играет пассивную роль. Система редко предоставляет информацию или помощь. Здесь нет мастера первого запуска или экрана приветствия. Я видел, возможно, одно уведомление во время запуска Xfce. FreeBSD предлагает нам чистую платформу, и мы должны прочитать руководство, если нам понадобится помощь или, если ничего не получится, посетить форум проекта. Сама операционная система старается оставаться в стороне.

После нескольких дней работы с FreeBSD, я обнаружил, что стал более продуктивным. Не потому, что система была особенно быстрой (хотя и быстрой) или эффективной (хотя среда была хорошо оптимизирована), а потому, что все приложения, которые я использую для работы, работали хорошо, а развлекательные программы — нет. На FreeBSD я мог легко установить и использовать Firefox, LibreOffice, Thunderbird, текстовые редакторы, графический редактор GIMP и инструменты командной строки. Однако, хотя я изо всех сил пытался заставить работать мультимедийные программы, Steam не работает на FreeBSD изначально, Netflix не будет здесь работать, а производительность для нативных трехмерных игр очень низкая. По сути, FreeBSD мягко заставляла меня использовать компьютер для работы, а не для игр. Это не всегда делало меня счастливым, но делало меня продуктивным.

Устанавливаем ftp сервер vsftpd

Начнем нашу настройку с установки ftp сервера vsftpd. Для авторизации мы будем использовать системные учетные записи, анонимный доступ отключим.

Первым делом обновим порты:

# portsnap fetch update

После обновления, ставим сервер:

# cd /usr/ports/ftp/vsftpd
# make install clean

Компоненты оставляем по-умолчанию. Добавляем загрузку vsftpd в /etc/rc.conf:

# echo 'vsftpd_enable="YES"' >> /etc/rc.conf

Редактируем конфиг /usr/local/etc/vsftpd.conf, приводим его к следующему виду:

anonymous_enable=NO
 local_enable=YES
 write_enable=YES
 local_umask=022
 dirmessage_enable=YES
 xferlog_enable=YES
 connect_from_port_20=YES
 xferlog_file=/var/log/vsftpd.log
 listen=YES
 background=YES
 secure_chroot_dir=/usr/local/share/vsftpd/empty

Запускаем сервер:

# /usr/local/etc/rc.d/vsftpd start

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

# sockstat | grep 21

В ответ должны увидеть что-то похожее:

root     vsftpd     4793  3  tcp4   *:21                  *:*

Это означает, что сервер запустился и слушает входящие соединения на 21 порт.  С текущими настройками можно залогиниться учетной записью root и перемещаться по всему серверу. Это очень небезопасно, призываю внимательно относиться к этим возможностям

Рекомендую подробнее ознакомиться с настройками сервера, обратить внимание на директивы userlist_enable, userlist_file, chroot_local_uses, chroot_list_enable, chroot_list_file. С помощью них можно ограничивать доступ к серверу и перемещение пользователей по папкам

Вообще, у vsftpd много настроек и возможностей, в интернете достаточно статей на подобную тему. Можно без проблем хранить базу пользователей сервера в mysql. В завершение порекомендую ограничить доступ к ftp через firewall.

Заключение

Закончили установку. Можно сделать базовую настройку freebsd. Вся информация в статье актуальна для 11-й версии.

Получилось не только про установку, но и про zfs немного, о том, как заменить сбойный диск в случае выхода из строя

Я всегда обращаю внимание на такие вещи, как отказоустойчивость на уровне дисков. Без этого систему не ставлю

Обязательно должен быть рейд либо программный, либо аппаратный. Я в своей работе постоянно сталкиваюсь с поломками жестких дисков, так что для меня это будни :) Даже бэкапа не достаточно в таком случае. Даже если есть бэкап, то работы по замене системы занимают слишком много времени, а если ты в основном работаешь удаленно, тебе еще и ехать придется, чтобы что-то заменить. Это не мой вариант.

Freebsd 11 понравилась простой и быстрой установкой на raid1. Думаю, эта возможность появилась раньше, я просто не проверял. Решил посмотреть на 11-й версии. В целом, все понравилась. В отличие от Debian, голая система ставится на глаз раз в 5-7 быстрее и раза в 3 быстрее CentOS. Надеюсь, что система и дальше будет развиваться и радовать нас новыми версиями и возможностями.

Заключение

Подведем итог того, что сделали. За короткое время настроили полноценный шлюз (по сути программный роутер) на базе Freebsd 10 для обеспечения выхода в интернет клиентов за сервером. При этом обеспечили автоматическое получение настроек. Даже на скромном виртуальном сервере такой шлюз способен переварить достаточно большой траффик.

Вся настройка занимает буквально 10-15 минут. Основное время уходит на сборку ядра. Чем выше версия Freebsd, тем дольше оно собирается, несмотря на то, что скорости железа существенно возрастают.

Пройдемся по пунктам и разберемся с тем, что конкретно мы сделали:

  1. Подготовили сервер к настройке шлюза.
  2. Пересобрали ядро с необходимыми параметрами.
  3. Настроили ipfw и nat, включили маршрутизацию.
  4. Установили и настроили dnsmasq для раздачи сетевых настроек по dhcp и dns сервера.
  5. Установили iftop для простейшего анализа сетевой активности на внешнем интерфейсе.

Этого достаточно для полноценной работы шлюза на Freebsd 10. Если есть необходимость подсчета пользовательского траффика или ограничения доступа к определенным ресурсам, можно настроить прокси сервер squid и sams2 к нему.

В итоге

В этом руководстве показано, как установить стек FAMP в системе FreeBSD 12.2. Теперь вы можете размещать динамический веб-контент в своей системе и использовать его как полнофункциональный веб-сервер. Будь то динамический веб-сайт или крупномасштабное веб-приложение, потенциал вашего сервера не имеет границ. Однако не забудьте ознакомиться с дополнительными руководствами по FreeBSD на нашем веб-сайте, прежде чем начать. На нашем веб-сайте много контента, и вы обязательно найдете то, что поможет вам начать работу.

Кстати! Вот видео по установке операционной системы FreeBSD, которое будет полезно посмотреть перед выполнением рекомендаций, описанных в статье.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: