FreeBSD 6.2 - Заметки на полях


Брундасов С.М.

Когда я начал настраивать свой первый выделенный сервер под FreeBSD, мне очень помогла небольшая справочная статья Ляукин Андрей Владимировича FreeBSD 6.1 - Заметки на полях. Как это обычно бывает часть ее материала уже успела устареть, в том числе и по порядку установки. Поэтому я решил сделать ее обновленную версию, сохранив ее удобный лаконичный стиль.

На своем опыте убедился, что если вам нужно ставить новые версии софта, то лучше это делать через порты. Крайне важно первым делом скачать дерево портов и обновить его - это займет около часа (зависит от конфигурации вашего сервера), но зато гарантирует установку свежих версий программного обеспечения.

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

Перезагрузка

#reboot
#shutdown -h now
#shutdown -p now (выключить)

Также можно отправить заявку на перезагрузку сервера хостеру по email, у некоторых это делается через панель управления.

Защищенное распространение дерева портов

/etc/portsnap.conf

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

#portsnap fetch (примерно 41мб)
#portsnap extract

Обновление дерева портов

#portsnap fetch update

Постоянно обновлять (смысла в этом, как правило, нет)
/etc/crontab
Ежедневно
0 3 * * * root portsnap -I cron update && pkg_version -vIL=

Поиск порта

#whereis <название_порта>

или

#cd /usr/ports
#make search name=<название_порта>
#make search key=<string>

или

#cd /usr/ports
#locate <название_порта>

Работа с портами

./configure - конфигурация порта/пакета
make - сборка
make instal - установка
make clean - убрать мусор текущего порта или весь если дать из /usr/ports
make all install clean - установить и сразу убрать мусор
make deinstal - удалить порт, при этом конфиги и данные надо будет удалить вручную
make reinstal - переустановить порт
make configure - аналог ./configure

portupgrade - переустановка порта
pkg_info - информация о портах

Работа с архивами

tar -zxvf <архив> - распаковать tar.gz
tar -xvf <архив> - распаковать в tar
tar -zcvf <архив> <что_архивировать> - запаковать в tar.gz

Оболочки

MC - Midnight Commander

#cd /usr/ports/misc/mc
#make install clean

bash

/etc/shells
/usr/local/bin/bash
pw usermod root -s /usr/local/bin/bash
/.profile

Редактор

/.cshrc
Setenv EDITOR ee
Setenv PAGER less
/.profile
EDITOR=ee
export EDITOR
PAGER=less
export PAGER

Пути

/.cshrc
set path=/sbin /bin /usr...
/.profile
PATH=/sbin: /bin: :/usr
export PATH

Редактировать файл в простом редакторе

#ee filename

WGET - удобная качалка файлов

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

или

#pkg_add -r wget-1.10.2.tbz - должно автоматом скачать необходимые дополнительные модули

#ftp -a ftp4.freebsd.org
cd /pub/FreeBSD/ports/packages/www
get wget-1.10.2.tbz
exit

pkg_add wget-1.10.2.tbz

не хватает

converters-> libiconv-1.9.2_2.tbz
devel -> gettext-0.14.5_2.tbz

#pkg_add libiconv-1.9.2_2.tbz
#pkg_add gettext-0.14.5_2.tbz

Проверить открытые сетевые порты

#netstat -na | grep LIST

Сетевые интерфейсы

#ifconfig

Монтирование дискеты DOS

#/sbin/mount -t msdos /dev/fd0 /mnt
#cp chmod.txt /mnt
#/sbin/umount /mnt - размонтировать

Монтирование CD-ROM

#/sbin/mount /cdrom
#/sbin/umount /cdrom

Показывает место на диске

#df

Поиск файла

#find /usr -name "filename"

Администрирование сервера через бесплатную панель управления WebMin

#whereis webmin
#cd /usr/ports/sysutils/webmin
#make install

#/usr/local/lib/webmin/setup.sh - скрипт запуск настройки

в /etc/rc.conf добавить webmin_enable="YES"
default port:10000 - задайте другой нестандартный порт

Установка MySQL

#mkdir /usr/local/distr
#mkdir /usr/local/src
#cd /usr/local/distr
#wget <путь_к_дистрибутиву>mysql-5.0.45.tar.gz
#распаковать в папку /usr/local/distr

#pw groupadd mysql
#pw useradd mysql -g mysql -d /usr/local/mysql -s /dev/null

#cd /usr/local/distr/mysql-5.0.45
#./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --with-charset=cp1251 --with-collaption=cp1251_general_ci

#make
#make install

#cp support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/mysql
#chown -R mysql
#chgrp -R mysql
#bin/mysql_install_db -user=mysql
#chown -R root
#chown -R mysql var
#bin/mysqld_safe -user=mysql &

в /etc/rc.conf добавить mysql_enable="YES"

меняем рутовый пароль #/usr/local/mysql/bin/mysqladmin -u root password 'new_pass'

правим настройки MySQL в WebMin, стартуем и уже можно настроить пользователей и БД из панели управления

Установка Apache 2.2.6 и PHP 5.2.4 в связке

Скачиваем httpd-2_2_6.tar.gz и php-5.2.4.tar.gz в /usr/local/distr

Установка Apache:
cd /usr/local/distr
tar xzvf httpd-2_2_6.tar.gz
cd httpd-2_2_6
./configure --enable-so
make
make install
Apache ставится в /usr/local/apache2
/usr/local/apache2/bin/apachectl start - запуск сервера
/usr/local/apache2/bin/apachectl stop - остановка сервера
/usr/local/apache2/bin/apachectl graceful - перезагрузка без "убийства" текущих соединений
в /etc/rc.conf добавить apache_enable="YES" для автозапуска
/usr/local/apache2/conf/httpd.conf - основные настройки
/usr/local/apache2/conf/extra - каталог с файлами дополнительных настроек в т.ч. виртуальных хостов

Установка PHP:

tar xzvf php-5.2.4.tar.gz
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install
Для переустановки достаточно повторить три последних команды ./configure, make и make install
cp php.ini-dist /usr/local/lib/php.ini - найстройки нужно отредактировать
LoadModule php5_module modules/libphp5.so - для PHP 5 добавляем эту строку в настройки apache - httpd.conf
LoadModule php4_module modules/libphp4.so - для PHP 4 добавляем эту строку в настройки apache - httpd.conf
AddType application/x-httpd-php .php .phtml - добавляем в httpd.conf, расширения которые будет обратабывать PHP
/usr/local/apache2/bin/apachectl start - запускаем Apache и проверяем работу PHP

PhpMyAdmin

Ставим из портов (можно просто скачать архив и распаковать его):
#whereis phpmyadmin
/usr/local/www/phpMyAdmin
config.inc.php

Обновлено: 12.03.2015