Начальная настройка FreeBSD
Конфигурируем сетевые интерфейсы и параметры
Итак, у нас есть:
Hostname: mx.asy.org.ua
Domain: asy.org.ua
Интерфейс rl0, который смотрит к провайдеру и re0 – в локальную сеть.
Провайдер выдал мне следующие настройки для доступа к инету:
IP: 109.87.94.120
Mask: 255.255.255.0
Gateway: 109.87.94.254
DNS 1: 109.86.2.2
DNS 2: 109. 86.2.21
Открываем rc.conf
# ee /etc/rc.conf
Вносим
ifconfig_rl0="inet 109.87.94.120 netmask 255.255.255.0"
ifconfig_re0="inet 172.16.100.1 netmask 255.255.255.0"
defaultrouter="109.87.94.254"
gateway_enable="YES"
hostname="mx.asy.org.ua"
В Вашем случае ip для локальной сети (re0) может быть и другим. Я выбрал такой.
Т.к. FreeBSD будет выступать роутером, мы добавали еще и gateway_enable=”YES”
После чего жмем Ctrl+C и пишем exit, тем самым сохраняя изменения в файле.
Теперь пропишем DNSы и наш домен. Создаем файл:
# touch /etc/resolv.conf
Вносим в него:
domain asy.org.ua
nameserver 109.86.2.2
nameserver 109.86.2.21
Сохраняем изменения.
Открываем доступ по SSH (в том числе для root)
Делаете это Вы (открываете доступ по SSH для рута) на свой страх и риск, на многих авторитетных ресурсах делать этого крайне не рекомендуется
Открываем доступ по SSH – добавляем в /etc/rc.conf
sshd_enable="YES"
Разрешаем руту логиниться по SSH
# ee /etc/ssh/sshd_config
Находим строку
#PermitRootLogin no
и приводим ее к виду
PermitRootLogin yes
Сохраняем изменения и перегружаем систему
# shutdown -r now
Устанавливаем дату/время
mx# date 201104192025
Первые 4 цифры – год, следующие 2 – месяц, следующие 2 – день и время в 24-х часовом формате.
В итоге получили 19 апреля 2011 года, 20:25
Добавляем пользователя с правами root’а (правильная альтернатива входу root’а по SSH)
mx# adduser
Далее отвечаем на вопросы. Login group указываем wheel, Shell – csh (или bash, или тот, что больше нравится).
Uid, Login class – оставляем пустыми. Далее все интуитивно понятно.
Username: ivan
Full name: Ivan I. Ivanov
Uid (Leave empty for default):
Login group [ivan]: wheel
Login group is wheel. Invite ivan into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash rbash nologin) [sh]: csh
Home directory [/home/ivan]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : ivan
Password : *****
Full Name : Ivan I. Ivanov
Uid : 1982
Class :
Groups : wheel
Home : /home/ivan
Home Mode :
Shell : /usr/local/bin/bash
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (ivan) to the user database.
Add another user? (yes/no): no
Goodbye!
mx#
Теперь выполняем
mx# ee /usr/local/etc/sudoers
Находим строку
#%wheel ALL=(ALL) NOPASSWD: ALL
и приводим к виду
%wheel ALL=(ALL) NOPASSWD: SETENV: ALL
Сохраняемся и выходим.
Теперь жмем Ctrl+D и заходим под созданным пользователем. После успешного входа получаем права рута, выполнив
mx# sudo -s
Русификация консоли
Добавляем эти строки (или недостающие) в /etc/rc.conf
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
scrnmap="koi8-r2cp866"
keymap="ru.koi8-r"
Далее сменим редактор по умолчанию с vi на ee
mx# cd / mx# ee .cshrc
Здесь находим строку
setenv EDITOR vi
и меняем ее на
setenv EDITOR ee
Аналогичное действие проделываем для всех пользователей, кому нужна русская консоль.
Т.е. переходим в директорию пользователя, например
mx# cd /usr/home/ivan
и выполняем те же действия.
После этого ребутимся
mx# shutdown -r now
Теперь выполняем
mx# vipw
Теперь на находим аналогичные строки (вместо x и y будет ваш хеш)
root:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:0:0::0:0:Charlie &:/root:/bin/csh
ivan:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy:1001:0::0:0:Ivan I. Ivanov:/home/ivan:/usr/local/bin/bash
И приводим их к виду
root:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:0:0:russian:0:0:Charlie &:/root:/bin/csh
ivan:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy:1001:0:russian:0:0:Ivan I. Ivanov:/home/ivan:/usr/local/bin/bash
Как видно, мы дописали russian для пользователя root и ivan. В Вашем случае будет root и свой пользователь(и). Сохраняем изменения и выходим.
mx# ee /etc/ttys
Меняем локальные консоли с cons25 на cons25r. Получится следующее
ttyv0 "/usr/libexec/getty Pc" cons25r on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25r on secure
ttyv2 "/usr/libexec/getty Pc" cons25r on secure
ttyv3 "/usr/libexec/getty Pc" cons25r on secure
ttyv4 "/usr/libexec/getty Pc" cons25r on secure
ttyv5 "/usr/libexec/getty Pc" cons25r on secure
ttyv6 "/usr/libexec/getty Pc" cons25r on secure
ttyv7 "/usr/libexec/getty Pc" cons25r on secure
Сохраняем изменения, перезагружаем систему, логинимся и вводим что-нибудь в консоли
mx# qwerty
qwerty: Команда не найдена.
Как видно система отвечает по-русски. Наслаждаемся
Отключаем проверку диска(ов) в фоне
Для того, чтобы диски не проверялись в фоне (что может быть крайне неприятно в определенных случаях), а проверялись в обычном режиме и чтобы в случае обнаружения ошибок на запрос программы об их исправлении всегда следовал ответ “YES” добавляем в rc.conf
fsck_y_enable="YES"
background_fsck="NO"
Настраиваем синхронизацию времени
Прописываем в /etc/rc.conf
ntpdate_enable="YES"
ntpd_enable="YES"
Первая строка будет запускать ntpdate при ребуте сервера чтобы система загрузилась с правильно установленными часами.
Вторая строка запустит демон ntpd, который будет заведовать плавной корректировкой времени в дальнейшем.
Корректируем время
mx# /etc/rc.d/ntpdate start
Setting date via ntp.
20 Mar 20:31:30 ntpdate[1734]: step time server 91.198.10.1 offset -0.000335 sec
Запускаем демон
mx# /etc/rc.d/ntpd start
Starting ntpd.
На всякий случай проверяем чтобы все запустилось
mx# ps ax | grep ntpd
1758 ?? Ss 0:00,02 /usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift
mx# ntpq -p
remote refid st t when poll reach delay offset jitter
==================================================================
+zirka.vc.ukrtel 129.69.1.153 2 u 61 64 3 42.809 11.579 0.098 *services.campus 62.149.0.30 2 u 60 64 3 12.010 -1.464 0.127
+shyber.tntu.edu 62.149.0.30 2 u 60 64 3 14.122 0.225 0.131
Меняем приветствие сервера при входе в консоль
mx# ee /etc/motd
Тут пишем все что что хотим, можно что-нибудь вроде
==============================
Welcome to ASYZONE FreeBSD Server!!!
==============================
Admin: Ivan I. Ivanov
Phone: +38063XXXXXXX
e-mail: admin@asy.org.ua
ICQ: 320895414
Сохраняем изменения и выходим.
Устанавливаем дерево портов
Для установки и распаковки “снэпшота” дерева портов будем использовать утилиту portsnap. Выполняем
mx# portsnap fetch extract
Теперь необходимо подождать. Скорость скачивания и установки “снэпшота” будет зависеть от скорости Вашего интернет-соединения и мощности компьютера.
Обновим дерево портов. В дальнейшем желательно использовать эту команду перед установкой различного ПО, для того чтобы быть уверенным в том, что Вы поставите свежую версию.
mx# portsnap fetch update