Настройка web сервера на freebsd 10

Web-сервер на FreeBSD. Часть 1: Установка FreeBSD 10.3

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

Образ системы можно скачать с официального сайта FreeBSD.org. Нажимаем на манящую желтую кнопку Download FreeBSD и попадаем на страницу выбора нужного инсталлятора:

Если вы ставите FreeBSD на реальное железо, то качайте образ из Installer Images под свою архитектуру. Если же используется то или иное решение по части виртуализации, например ESXi кластер от VMware, то имеет смысл ставить Virtual Machine Images ибо те уже заточены под тот или иной гипервизор.

Для меня это не столь критично, поэтому я выберу образ Installer Images архитектуры amd64. Сами образы различаются по наличию в них тех или иных компонентов. Bootonly.

iso представляет из себя загрузку системы из сети, disk1.iso содержит основу системы и может устанавливаться без наличия интернета, dvd1.iso содержит тоже самое что и disk1.

iso и полное дерево портов вдобавок. Я советую выбирать disk1.iso, это самый оптимальный вариант:

Я не буду описывать процесс создания загрузочной флешки или создания виртуальной машины, это выходит за рамки статьи. Полагаю, если вы читайте этот текст, вы в состоянии сделать это сами. Итак, загрузившись с образа видим чертика и смело нажимаем Enter:

Понеслась загрузка ядра и опрос оборудования, после этого запускается сам инсталлятор. Из выбора у нас Install — запустить установщик, Shell —  выйти в консоль по какой-либо нужде и Live-CD где можно залогиниться от рута без пароля и тоже чего-нибудь поделать. Выбираем Install:

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

Далее с нас просят ввести имя машины. Вводим что душе угодно:

Затем последует выбор устанавливаемых компонентов. Здесь на ваше усмотрение, я выбираю документацию, библиотеки совместимости с 32битной архитектурой, дерево портов и исходные коды системы для чтения перед сном:

Нажимаем на ОК, начинается работа с диском. Попадаем в меню выбора его разбиения. Здесь все всегда очень индивидуально и настраивается под конкретную задачу. В нашем случае система ставится на пустое железо, поэтому доверимся установщику и жмем Auto (UFS):

В следующем окне выбираем entire disk, и в следующем схему томов как GPT. Инсталлятор послушно выполнил пожелания и представит вариант автоматического разбиения диска:

У FreeBSD схожее с Linux представление о наименовании дисковых устройств. Система обозвала наш винт ada0, а разделы с приставочкой p (partition) и номером.

В данном случае нет разбиения tmp или home в отдельные партиции, хотя если у вас на хостинге предполагается много пользователей со своими сайтами, рекомендую создавать для них свой раздел (например home).

Нажимаем Finish:

До сего момента никакие изменения на устройстве произведены не были, установщик спросит нас о решимости намерений, предупредив что после этого вся имеющаяся информация на диске будет стерта, нажимаем Commit и любуемся на установку системы:

После распаковки архивов с системой, нас попросят установит пароль пользователя root, вводим:

Следом будет настройка сетевых интерфейсов, инсталятор постарается найти все имеющиеся сетевые устройства и предложит выбор чего настраивать:

Здесь опять все индивидуально. Первым делом идет настройка IPv4. Если вы получайте IP адрес от вашего провайдера по DHCP, инсталятор предложит соответствующий выбор, если же нет, то вводите все ручками. В моем случае IPv4 по DHCP, IPv6 не настраиваю. Следующий шаг, настройка времени:

Лично я всегда устанавливаю часовой пояс вручную дабы быть уверенным, что время установлено правильно. Отнеситесь к этому шагу ответственно. От правильного времени зависит работоспособность системы и пакетов в ней. Выбираем No:

Не пытайтесь искать Russian Federation в группе Europe, инсталлятор убежден что наша страна это Азия. Далее выбирайте нужный вам часовой пояс. Нажимаем OK:

Последует небольшая настройка уже установленной системы. На выбор предлагается активировать различные демоны. Меня интересует только sshd, поэтому выбираю его. Нажимаем ОК. Нам предложат создать простого пользователя, это удобнее сделать из системы, нажимаем No. Все, установка завершена:

Открывается меню выбора тех или иных настроек если вы что-то захотите изменить. Полезно будет поставить Handbook. Есть и русский вариант.

На этом все! Система установлена. Извлекаем накопитель и жмем пункт Exit. Нас спросят уточнить не желаем ли мы вносить постустановочные изменения. Нажимаем No. Читаем поздравления от инсталятора и жмем Reboot, загружаемся в установленной системе, логинимся от рута:

Поздравляю! Система полностью готова к работе. В следующий раз будем производить настройку и затачивать систему под наши нужды.

Источник: https://hardreboot.ru/bsd/web-server-na-freebsd-chast-1-ustanovka-freebsd-10-3/

Веб-сервер на FreeBSD

FreeBSD предоставляет множество возможностей для организации работы в сети интернет и не только.

На сегодняшний день трудно представить интернет без Unix-систем, частью семейства которого является FreeBSD.

Ранее был пост с описанием настройки сети FreeBSD, теперь пришло время поговорить о том, как настроить связку Apache + PHP + MySQL.
Весь процесс установки мы разделим на следующие основные шаги:

  1. Обновление портов
  2. Установка Apache
  3. Установка PHP
  4. Установка MySQL
  5. Дополнения

Приступаем к установке и настройке, первым делом обновляем порты. Коллекция портов — это набор файлов (makefile, патчи, описание и т.д.), которые хранятся в директории /usr/ports, и предназначены для построения, установки приложений во FreeBSD. Для получения коллекции портов, мы воспользуемся инструментом Portsnap.

Скачиваем snapshot основного дерева портов:

#portsnap fetch

Распаковываем дерево портов, используя команду:

#portsnap extract

Обновляем порты:

#portsnap update

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

2. Установка Apache

Apache – приложение, выполняющее роль веб-сервера, он надёжен, гибок в плане настроек, кроссплатформенный, кроме того является свободно распространяемым программным обеспечением. Его популярность более чем велика в сети интернет.

Определим его местонахождение в коллекции портов, для этого воспользуемся командой whereis:

#whereis apache22

Результат выполнения команды будет примерно следующим:
apache22: /usr/ports/www/apache22

Проходим в указанный каталог:

#cd /usr/ports/www/apache22

Ставим Apache:

#make all install clean

После этого должно появиться меню с опциями для Apache, появляться их будет несколько в ходе компиляции. Здесь вы можете включить / отключить поддержку различных дополнений, которые возможно потребуется для реализации вашей задачи. Символ «x» в квадратных скобках означает, что опция включена, переключать можно клавишей «пробел». Перемещаться между опциями можно клавишами «вверх — вниз».

Если Apache скомпилировался успешно, можно прописать основные настройки в его конфигурационном файле httpd.conf.

Открываем конфигурационный файл для редактирования:

#ee /usr/local/etc/apache22/httpd.conf

Примерно на строке 148 находим строку с записью:
#ServerName www.example.com:80

Раскомментируем запись (убираем символ «#» перед строкой), далее указываем свой домен, либо ip-адрес сервера (вместо www.example.com), по которому можно будет обращаться к сайту.

Выйти из редактора с сохранением изменений можно нажав клавиши «Ctrl+C», после чего ввести команду «exit».

Далее необходимо задать параметр apache22_enable в файле /etc/rc.conf:

#ee /etc/rc.conf

Вписываем:

apache22_enable=”YES”

Запускаем Apache:

#/usr/local/sbin/apachectl start

После успешного старта Apache следует проверить работу веб-сервера. Для этого открываем браузер на десктопе, с возможностью сетевого доступа к серверу, набираем адрес сервера, если сервер работает, в ответ придет тестовая страница с надписью «It works!».

Дополнительно рекомендую почитать документацию «Apache HTTP сервер».

3. Установка PHP

Следующий наш шаг, это установка компилятора PHP. PHP – один из популярных сценарных языков программирования для сети Интернет (наряду с JSP, Perl, и языками используемыми в ASP.NET), благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Определяем местонахождение портов php:

#whereis php5

Результат, возвращаемый командной строкой:
php5: /usr/port/lang/php5

Ставим PHP5:

#make all install clean

Вам будет представлено меню с опциями выбора компонентов для PHP, в ходе компиляции их может быть несколько. Здесь вы можете включить дополнительные компоненты в установку PHP. Нам необходимо добавить пункт «APACHE» для связки PHP и Apache.

Затем, как PHP интерпретатор будет успешно установлен, необходимо в конфигурационный файл Apache (httpd.conf) прописать пару строк.

Открываем конфигурационный файл для редактирования:

#ee /usr/local/etc/apache22/httpd.conf

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

AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps

Сохраняем сделанные изменения в конфигурационном файле, перезапускаем Apache:

#/usr/local/sbin/apachectl restart

Проверим, PHP скрипты должны отрабатываться интерпретатором. Попробуем создать тестовый файл-скрипт, и обратимся к нему через браузер. Наша публичная директория веб-сервера находиться по адресу /usr/local/www/apache22/data/, разместим в ней файл index.php:

#ee /usr/local/www/apache22/data/index.php

Впишем туда код:

Обращаемся к скрипту через браузер (набираем адрес_веб-сервера/index.php). Если всё работает, то результат работы функции phpinfo() будет показан в браузере, в виде таблицы с параметрами PHP.

4. Установка MySQL

Современный веб-сервер трудно представить без системы управления базами данных, таковой является MySQL.
MySQL – свободная реляционная СУБД, широко применяется различными приложениями для хранения данных. Одна из популярных систем хранения баз данных в сети интернет, так же широко используется различными движками сайтов.

Находим MySQL в дереве портов FreeBSD:

#whereis mysql55-server

Переходим в директорию, где находятся файлы, для установки MySQL:

#cd /usr/ports/databases/mysql55-server

Ставим MySQL сервер:

#make all install clean

После установки проверяем наличие записей параметров MySQL в информации выводимой функцией phpinfo().

5. Дополнения

PHP-Extensions — это расширения, которые устанавливаются для добавления функционала PHP. В него так же входят механизмы для работы с MySQL сервером, поэтому дополнение может быть весьма полезным.

Находим местонахождение PHP-extensions:

#whereis php5-extensions

Переходим в директорию портов:

#cd /usr/ports/lang/php5-extensions

Ставим расширения:

#make all install clean

Появиться конфигурационное меню, в котором следует выбрать поля MySQL и MySQLI, после чего на этапе компиляции так же будет показано несколько окон меню, там можно оставить всё как есть.
После успешной установки в «phpinfo» также появятся записи mysql и mysqli:

Итак, мы завершили установку связки Apache + PHP + MySQL. Стоит заметить, что здесь мы рассмотрели лишь «базовую» установку приложений. Как известно всё это дело так же можно настраивать под конкретные задачи, но в данном посту мы этого делать не будем. Вообщем, до скорого!

Источник: http://yournet.kz/blog/apache/web-server-na-freebsd

Простейший WEB-сервер на FreeBSD

Использовать FreeBSD и не поднять на нем целую кучу различных сервисов это не есть путь настоящего IT-джедая. Следовательно первым делом займемся настройкой WEB-сервера. Использовать будем самую распространенную связку: Apache+MySQL+PHP (Коротко — FAMP)

Для начала обновим порты. Дальше все довольно просто. Установка из тех же самых портов. Сначала установим сервер MySQL(вместе с ним установится и MySQL-клиент)

cd /usr/ports/databases/mysql55-server
make BUILD_OPTIMIZED=yes BUILD_STATIC=yes WITH_CHARCET=cp1251 WITH_XCHARSET=all WITH_COLLATION=cp1251_general_ci
make -DBATCH install clean

сборка с параметрами BUILD_OPTIMIZED и BUILD_STATIC повышает производительность нашего сервера баз данных, от которой грех отказываться, а параметр WITH_CHARCET=cp1251 WITH_XCHARSET=all WITH_COLLATION=cp1251_general_ci по умолчанию при создании БД позволит автоматически устанавливать правильные кодировки для отображения кириллических символов

при установке я привык использовать параметр -DBATCH, основная задача которого конфигурировать все порты по умолчанию. То есть при установке не будут высвечиваться окна настроек. Всё равно я практически ничего не меняю, особенно в зависимостях. Если же необходимо изменить начальную конфигурацию лучше использовать

make config

Добавим MySQL в автозагрузку и сразу же его запустим

echo 'mysql_enable=”YES”' >> /etc/rc.conf
/usr/local/etc/rc.d/mysql-server start

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

/usr/local/bin/mysqladmin -uroot password 'new-root-password'

Возьмемся за Apache. Установка ничем не сложнее:

cd /usr/ports/www/apache22
make -DBATCH install clean
echo 'apache22_enable=”YES”' >> /etc/rc.conf

конфигурацией займемся позднее, так как для начала установим интерпретатор PHP. Его так же необходимо будет настроить

собственно установка PHP

cd /usr/ports/lang/php53
make config # тут необходимо выбрать [Х] APACHE Build Apache module
make -DBATCH install clean
cd /usr/ports/lang/php53-extensions
make -DBATCH install clean

Далее необходимо создать файл с настройками php.ini. На самом деле просто скопировать предложенный.

cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

Небольшие настройки Apache
Для того, что бы Apache корректно обрабатывал PHP необходимо добавить в конфигурационный файл /usr/local/etc/apache22/httpd.conf следующие строки:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

и поправить секцию DirectoryIndex на

DirectoryIndex index.php index.html

и вот уже после этого можно стартовать Apache

/usr/local/etc/rc.d/apache22 start

И проверим, как оно запустилось

root@ipfw:/usr/home/gleb # ps aux | grep httpd
root 9044 0.0 2.3 21144 11356 ?? Ss 11:59AM 0:00.61 /usr/local/sbin/httpd -DNOHTTPACCEP
www 9045 0.0 2.3 21144 11388 ?? I 11:59AM 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEP
www 9046 0.0 2.3 21144 11424 ?? I 11:59AM 0:00.01 /usr/local/sbin/httpd -DNOHTTPACCEP
www 9047 0.0 2.3 21144 11420 ?? I 11:59AM 0:00.01 /usr/local/sbin/httpd -DNOHTTPACCEP
www 9048 0.0 2.3 21144 11380 ?? S 11:59AM 0:00.01 /usr/local/sbin/httpd -DNOHTTPACCEP
www 9049 0.0 2.3 21144 11388 ?? I 11:59AM 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEP
www 9050 0.0 2.3 21144 11380 ?? I 11:59AM 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEP
www 9051 0.0 2.3 21144 11380 ?? I 11:59AM 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEP
www 9052 0.0 2.3 21144 11380 ?? I 11:59AM 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEP
root 9800 0.0 0.3 1816 1304 0 R+ 2:17PM 0:00.00 grep httpd

набрав в браузере айпи или доменное имя сервера увидим надпись, которая не может не радовать:

Источник: https://tradenark.com.ua/freebsd/simple-web-server-on-freebsd/

Установка WordPress на FreeBSD 10 — 10.1

В данной статье представлена пошаговая установка WordPress на FreeBSD 10

1

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

#portsnap fetch
# portsnap extract

Если уже когда-то обновляли то можно ввести

# portsnap fetch
# portsnap update

2

Устанавливаем Apache24:

# cd /usr/ports/www/apache24 & make install clean

Устанавливаем PHP55:

# cd /usr/ports/lang/php55
# make install clean

Устанавливаем расширения:

# cd /usr/ports/lang/php55-extensions
# make config

Выделяем пункты «MySQL database support«, «PHP Data Objects Interface» , «PDO MySQL driver» и ZLIB support , остальные не трогаем

# make install clean

Устанавливаем mod_PHP55:

# cd /usr/ports/www/mod_php55
# make install clean

Устанавливаем MySQL56:

# cd /usr/ports/databases/mysql56-server/
# make install clean
# cd /usr/ports/databases/mysql56-client/
# make install clean

3

Редактируем файл httpd.conf:

# nano /usr/local/etc/apache24/httpd.conf

Проверяем, включен ли PHP:

LoadModule php5_module libexec/apache24/libphp5.so

В ServerAdmin вписываем свой email
В ServerName вписываем адрес своего блога. В моем случае technotree.ru
В DocumentRoot пишем путь до папки WordPress. Распакуем его в/usr/local/www/wordpress
Находим строчку . Она должна выглядеть так:

DirectoryIndex index.php index.html

Еще находим такую строчку:

Добавляем или меняем значения на:

Options Indexes FollowSymLinks AllowOverride All Order allow,deny

Allow from all

И в конец конфига добавить такую строчку:

AddType application/x-httpd-php .php

4

Далее нам нужен конфиг MySQL. Лежит он в /usr/local/share/mysql/.

my-default.cnf 

Копируем его в рабочую директорию:

# cp /usr/local/share/mysql/my-default.cnf /var/db/mysql/my.cnf

Теперь настроим его под utf8 (наиболее распространенная кодировка в Интернете):

[mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

Настраиваем автозапуск в /etc/rc.conf

mysql_enable=»YES»

apache24_enable=»YES»

Иницализируем БД

# cd /usr/local
# ./bin/mysql_install_db —user=mysql —datadir=/var/db/mysql

Устанавливаем права на каталог с БД

# chown -R mysql:mysql /var/db/mysql

Запускаем MySQL:

# /usr/local/etc/rc.d/mysql-server start

Настраиваем MySQL:

# mysql_secure_installation

Здесь на все вопросы отвечаем «yes», устанавливаем пароль root‘а для MySQL (не путать с системным рутом!)
Создаем базу данных для WordPress:

# mysql -u root -p mysql>CREATE DATABASE wpdb; mysql>GRANT ALL PRIVILEGES ON wpdb.* TO ‘dbuser’@’hostname’ IDENTIFIED BY ‘password’; mysql> FLUSH PRIVILEGES;

mysql> EXIT

wpdb – имя созданной выше базы, dbuser – имя пользователя, под которым будет подключаться WordPress. В 99% случаев hostname нужно заменить на localhost. password – пароль для доступа к базе wpdb.

5

Переходим в корневую папку нашего веб-сервера, качаем последний билд (актуальную версию можно узнать на официальном сайте) WordPress’а и распаковываем его:

# cd /usr/local/www # curl -O http://ru.wordpress.org/wordpress-4.1-ru_RU.tar.gz

# tar -xvf wordpress-4.1-ru_RU.tar.gz

6

Меняем права на распакованную папку wordpress во избежание проблем (при обновлении) в будущем:

# chmod -R 0777 /usr/local/www/wordpress
# chown -R www /usr/local/www/wordpress

Далее можно пойти двумя путями, настроить cms wordpress через веб интерфейс или вручную:

1) Веб-интерфейс:

Сперва надо перезапустить apache после наших настроек командой:

#apachectl restart

Затем открываем в нашем браузере адрес настроенного сервера и выполняем пару не сложных шагов. Готово

2)Вручную:

переходим в распакованную папку:

# cd wordpress

Создадим файл конфигурации из шаблона:

#cp wp-config-sample.php wp-config.php

редактируем файл wp-config.php:

#nano wp-config.php

Вносим изменения в следующую часть кода:

// ** MySQL settings ** // define(‘DB_NAME’, ‘putyourdbnamehere’); // Имя базы данных define(‘DB_USER’, ‘usernamehere’); // Имя пользователя MySQL define(‘DB_PASSWORD’, ‘yourpasswordhere’); // …и пароль define(‘DB_HOST’, ‘localhost’); // 99% что вам не следует вносить изменения в данную строчку кода define(‘DB_CHARSET’, ‘utf8’);

define(‘DB_COLLATE’, »);

и добавляем строчку для загрузки без FTP обновлений и плагинов:

define(‘FS_METHOD’, ‘direct’);

Сохраняем файл. Готово. Теперь на 80-м порту у нас работает блог.

  • Tweet
  • Share 0
  • Reddit
  • +1
  • Pocket
  • LinkedIn 0
  • VKontakte

Источник: http://technotree.ru/ustanovka-wordpress-na-freebsd-10

Web-сервер на FreeBSD 9.0 (Apache + PHP + MySQL + phpMyAdmin)

Ни  для кого не секрет, что web-сервер на базе операционной системы FreeBSD является одним из самых быстрых, мощных, надёжных и защищённых серверов. Их используют не только для домашних страничек и сайтов-визиток, но и для крупных порталов и высоконагруженных проектов.

В данной статье рассмотрим развёртывание web-сервера на FreeBSD 9.0 x64 с параметрами по умолчанию.

Первым делом необходимо обновить дерево портов.

Если система была только что установлена, то вводим команду

либо, если порты уже были обновлены ранее, то

Устанавливаем Apache

В “Options for apr” необходимо будет отметить MySQL database, как показано на скриншоте

Если нет необходимости в дополнительных опциях, то всё остальное оставляем по умолчанию.

Устанавливаем PHP

В “Options for php5” необходимо будет отметить Build Apache module, как показано на скриншоте

Если нет необходимости в дополнительных опциях, то всё остальное оставляем по умолчанию.

Устанавливаем MySQL

Если нет необходимости в дополнительных опциях, то всё остальное оставляем по умолчанию.

Устанавливаем PHP-Extensions

В “Options for php5-extensions” необходимо будет отметить MBSTRING, MCRYPT, MySQL database support и MySQLi database support, как показано на скриншоте

Если нет необходимости в дополнительных опциях, то всё остальное оставляем по умолчанию.

Дальше, если ещё нет миднайт коммандера, устанавливаем:

Он понадобится для быстрой навигации по папкам и файлам, а также для быстрого и простого редактирования файлов.

Затем вводим

и

открываем файл /etc/rc.conf и дописываем в нём (после sshd_enable):

apache22_enable=”YES”

mysql_enable=”YES”

сохраняем и перезагружаем машину

После того, как перезагрузится машина, запустим mc.

Идём в /usr/local/etc/apache22 и находим файл httpd.conf

В него вносим следующие изменения:

1)      Закомментируем модуль unique

#LoadModule unique_id_module libexec/apache22/mod_unique_id.so

2)      Раскомментируем ServerAdmin и ServerName

ServerAdmin [email protected]

ServerName www.test-webserver.com:80

3)      Раскомментируем DocumentRoot (если он закомментирован)

DocumentRoot /usr/local/www/apache22/data

4)      Находим DirectoryIndex и дописываем в него примерно следующее

DirectoryIndex index.html index.htm index.shtml index.php

Идём в /usr/local/etc/apache22/Includes и создаём там файл php-application.conf

Открываем и пишем в нём:

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phpsXsource

После этого идём в папку /usr/local/etc и создадим файл php.ini из файла php.ini-production

и присвоим ему необходимые права

После этого для сервера MySQL выполняем скрипт в командной строке

Там можно будет задать пароль суперпользователю root, а также необходимо будет ответить ещё на пару вопросов.

Источник: http://osc.dondub.com/articles/2013/01/article_107

Web сервер Apache + PHP +MySQL + phpMyAdmin в локальной сети на FreeBSD 8.2

Эта статья собрана из собственной шпаргалки, которую я составлял когда-то для себя.

Предполагается, что читатель знаком с основами работы на FreeBSD и имеет навыки использования текстового редактора “ee”, а так же имеет представление о работе веб-сервера, препроцессора гипертекста PHP и баз данных MySQL. Знаком с терминами, используемыми в данной статье и не имеет претензий по орфографическому содержанию текста.

Я описываю установку и настройку веб-сервера в 4 этапа.

  1. Установка FreeBSD.
  2. Первоначальная настройка. Настройка SSH, FTP.
  3. Установка и настройка Apache, PHP, MySQL, phpMyAdmin.
  4. Окончательная настройка и работа с сервером.

Задача: Необходимо собрать веб сервер в локальной сети для создания сайта с последующим переносом его на сторонний хостинг.
Бюджет: 0 рублей.
Средства: Настольный компьютер, художник.

Исходя из вышеизложенного, была выбрана последняя, на момент сборки сервера, версия ОС FreeBSD 8.2-RELEASE доступная на сайте http://www.freebsd.org/. Т.к. наш сайт не имел ни каких требований к версиям ПО, я решил устанавливать последние версии Apache, PHP, MySQL доступные из портов.

Приступим.

1.Установка FreeBSD

Я думаю не стоит описывать процесс установки FreeBSD слишком подробно, поэтому коротко по пунктам…

Первое меню Country Selection
Выбираем страну. Я выбрал Russian Federation, она находиться под номером 182, и жмем OK. 

System Console Keymap
Долго не думая выбираем Russia KOI8-R и OK.

Sysinstall Main Menu
Выбираем Standart

Далее редактор разделов FDISK просит нас разделить место. Я выбираю Use Entire Disk кнопкой “A” и созданный раздел freebsd ставлю загрузочным кнопкой “S”. После нажатия “S”, напротив раздела в поле Flags, появляется флаг “A” и выбираем Finish кнопкой “Q”.

Меню Install Boot Manager
Т.к. у меня будет установлена одна ОС, я выбираю None и жму OK.

Далее выскакивает программа Disklabel Editor. Я доверяю ей монтировать все по умолчанию и снова нажимаю “A” затем “Q”.

Меню Choose Distributions
Установщик предлагает нам выбрать необходимые дистрибутивы. Я не буду выбирать ни чего поэтому Exit и OK.

Choose Installation Media
В этом меню необходимо указать источник, из которого мы хотим установить FreeBSD. Мы хотим его установить с диска, образ которого предварительно был скачан с сайта FreeBSD и записан на болванку, поэтому выбираю CD/DVD и жму OK.

Установщик сообщает о том, что если мы продолжим установку, то потеряем данные с диска и вроде бы (не уверен в своем английском) рекомендует сделать бэкап. Жмем Yes.

Далее мы видим поздравление и пару советов, которые оставляем без особого внимания, и жмем OK. На все следующие вопросы установщика я отвечаю No и в конце получаю сообщение которое говорит что необходимо установить пароль для пользователя root. Жму OK и ввожу пароль пользователя.

Далее, отказываюсь от посещения меню конфигурации, отвечая No, на следующий вопрос и попадаю в меню sysinstall. Жму на кнопку Exit Install. В появившемся окне подтверждаю свой выбор, нажимая кнопку Yes. Достаю диск и нажимаю OK.

Компьютер уходит на перезагрузку и после этого мы увидим загрузку FreeBSD и приглашение к началу работы в виде строки login:

2. В серверной холодно и шумно – перейдем в кабинет (Настройка удаленного доступа)

Я подумал что было бы хорошо поскорее убраться от сюда к себе в кабинет и управлять сервером удаленно. Для этого мне необходимо настроить сеть, создать пользователя и запустить демон SSH. Заходим в систему под пользователем root. Теперь настроим сеть. Необходимо узнать как FreeBSD назвал интерфейс сетевой карты компьютера, для этого наберем

# ifconfig

и увидим все доступные интерфейсы. Мой назван ae0 и так как у меня в сети есть DHCP сервер, я просто говорю ему получить настройки от DHCP, добавив в файл /etc/rc.conf строку ifconfig_ae0=”DHCP”.

# echo 'ifconfig_ae0=”DHCP”' >> /etc/rc.conf

И за одно назовем наш компьютер localhost.

# echo 'hostname=”localhost”' >> /etc/rc.conf

Следующим шагом будет создание пользователей. Подумаем. Мне будет нужен доступ по SSH к серверу и по FTP к сайту. Художник тоже захочет доступ по FTP к сайту. Значит нужно создать двух пользователей минимум.
Поехали.

Набираем

# adduser

и заполняем поля:
Username: sb (имя пользователя для входа)
Full name: Belov Sergey (полное имя пользователя) Дальше оставляем все поля пустыми, т.е. оставляем так, как предлагает FreeBSD. После вводим пароль. Следующий вопрос пропускаем – Enter.

Видим заполненную анкету пользователя и соглашаемся, набирая Yes. Add another user? (yes/no) отвечаем No.

Теперь по аналогии нужно добавить пользователя для художника и займемся запуском SSH и FTP.

Мы не будем вручную запускать эти два демона, это сделает сама FreeBSD после того как мы добавим в файл /etc/rc.conf строки sshd_enable=”YES” и ftpd_enable=”YES”.

# echo 'sshd_enable=”YES”' >> /etc/rc.conf # echo 'ftpd_enable=”YES”' >> /etc/rc.conf

Еще нам нужно отредактировать файл /etc/group для того чтобы пользователь sb мог подключиться к машине по SSH.

# ee /etc/group

После этого добавим пользователя sb в группу wheel. Найдите в файле строку wheel:*:0:root и отредактируйте ее чтобы получилось так

wheel:*:0:root,sb

Перезагрузим машину и если все сделано правильно, должны запуститься SSH и FTP, а так же заработать сеть и интернет.

# reboot

В процессе загрузки я увидел какие то странные рисунки инопланетян и это говорит о том что SSH заработал кроме того строки “Starting sshd” и “Starting ftpd” подтверждают мои догадки.

И так, «Предварительная настройка» завершена. Осталось лишь проверить сеть и узнать IP адрес компьютера в локальной сети. Заходим под root и выполняем ifconfig

# ifconfig ae0

В поле inet я могу увидеть IP адрес который DHCP присвоил моему ПК 192.168.51.61. Записываю его на листик бумаги и для полной уверенности в работе сети делаю ping.

# ping ya.ru

Яндекс ответил – значит, все получилось. Жмем CTRL+C для прерывания работы программы ping и пишем exit.

# exit

Иду курить и перемещаюсь в кабинет.

3.Установка MySQL

Теперь с другого рабочего места я могу спокойно управлять нашим веб – сервером через SSH, для этого я буду использовать PUTTY. Устанавливаю подключение с типом SSH на хост 192.168.51.61 порт 22 и захожу в систему под пользователем sb. Сразу хапаю себе права root

$ su

Далее нужно обновить порты. Там мы найдем то что нам нужно. Я делаю это в 3 шага

# portsnap fetch

Ждем.

# portsnap extract

Ждем =)

# portsnap update

Ну на последней операции ждать долго не нужно и это радует. Теперь поищем нашу MySQL в портах. Для этого пишем

# cd /usr/ports/databases # ls | grep mysql | grep -server

Ну вот, у меня mysql55-server последняя, буду ставить ее. Для этого продолжаем

# cd mysql55-server # make install clean

Мы видим окно опций для пакета mysql-server 5.5.12. Ни чего не меняя жмем OK.

Сразу скажу, что установка MySQL будет самой длинной и примерно займет 10 минут. Курим, но не долго – будут появляться еще опции, на которые придется обратить внимание, но менять мы тоже ни чего не будет, поэтому OK везде.

Установка закончена?

Теперь необходимо установить базы, это обычно делалось так:

# mysql_install_db

но почему в версии 5.5 это выдает FATAL ERROR: Could not find ./bin/my_print_defaults который исправно лежит в /usr/local/bin =). Это лечиться легко – делаем так

# cd /usr/local
# ; mysql_install_db

Далее необходимо выдать права пользователю и группе mysql на доступ к базам:

# chown mysql /var/db/mysql
# chgrp mysql /var/db/mysql

Добавим строку mysql_enable=”YES” в /etc/rc.conf для автоматического старта сервера.

# echo 'mysql_enable=”YES”' >> /etc/rc.conf

И перезагрузим машину

# reboot

После перезагрузки мы должны увидеть строку Starting mysql и никаких ошибок ниже. Если все хорошо заходим в систему и установим пароль для root

# mysqladmin -u root password 123

На этом мы пока оставим MySQL в покое и перейдем к следующему шагу.

4.Установка Apache

Снова заходим в порты и смотрим доступные версии apache.

# cd /usr/ports/www/
# ls | grep apache

У меня последняя apache22. Дальше делаем по аналогии с mysql

# cd apache22 # make install clean

В опциях пакета apache 2.2.18 я ставлю крестик напротив MYSQL и убираю крестик напротив IPV6. Жму OK. Опции других пакетов я оставлю, пожалуй, по умолчанию. По завершению установки давайте подкрутим кое чего в файле /usr/local/etc/apache22/httpd.conf но сперва сделаем копию этого файла.

# cd /usr/local/etc/apache22/
# cp httpd.conf https.sample

Теперь откроем его

# ee httpd.conf

и найдем строку

#ServerName www.example.com:80

Приведем ее к такому виду (обратите внимание на убранный символ # в начале строки – обязательно снимите комментарий)

ServerName localhost

Сохраняем файл. Добавляем Apache в «автозапуск»

# echo 'apache22_enable=”YES”' >> /etc/rc.conf

И рестарт!

# reboot

Если все успешно, мы можем с любой локальной машины в браузере набрать адрес сервера и увидеть веб-страницу с текстом “It works!”.

Если этого не произошло то попробуйте найти ошибку при запуске в ручную воспользовавшись командами:

# apachectl start
# apachectl restart
# apachectl stop

Так же попробуйте выполнить команду

# kldload accf_http

и перезапустить Apache, хотя у меня он не требовал загрузки этого фильтра.

5.Установка PHP

Вот мы и добрались до установки последнего из основных элементов нашего сервера. PHP как все остальное мы будем ставить из портов. Для этого делаем

# cd /usr/ports/lang
# ls |grep php

Последняя версия php52 и расширения для него php52-extensions

Источник: https://kp-room.ru/page/freebsd-wamp.html

#инструкция: Установка FAMP [FAMP = FreeBSD 10 + Apache 2.4 + MySQL 5.6 + PHP 5.6] // обновление 23.02.2015

Установка и настройка web-сервера в FreeBSD в данном случае выполняется от пользователя root с поключеннм интернетом.

1. Установка Apache

Смотрим какие версии Apache есть в наличии в репозитарии FreeBSD с помощью команды 'pkg rquery' в консоли:

$ pkg rquery -e '%n ~ apache*' '> nomo-versio: %n-%v
amplekso: %sh
' | less

И консоль нам любезно сообщит, что в наличии есть 2 версии Apache, то есть apache22 и apache24.

> nomo-versio: apache22-2.2.29_2
> nomo-versio: apache24-2.4.10_2

Выбираем последнюю доступную версию Apache [то есть apache24] и устанавливаем её.

Установка Apache-2.4 из портов:

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

# portsnap fetch update

Переходим в каталог порта Apache 'www/apache24'

# cd /usr/ports/www/apache24

Устанавливаем порт Apache сервера

# make install clean

Включаем загрузку демона Apache сервера при старте системы FreeBSD, но пока не стартуем! Прежде надо собрать PHP

# echo 'apache24_enable=”YES”' >> /etc/rc.conf

Делаем резервную копию конфигурационного файла Apache сервера:

# cp /usr/local/etc/apache24/httpd.conf /usr/local/etc/apache24/httpd.conf.bak

Для избежания ошибки при запуске Apache-2.4 “httpd: apr_sockaddr_info_get() failed ” необходимо установить параметр в “ServerName” в конфигурационном файле настроек Apache-2.4 “/usr/local/etc/apache24/httpd.conf”:

ServerName localhost:80

Проверка правильности установки веб-сервера Apache

Для запуска Apache в первый раз, просто запустите

# /usr/local/sbin/apachectl start

Просто перейдите по ссылке: http://localhost/

Если Apache все же не запускается проверьте следующие лог-файлы:

# tail /var/log/message
# tail /var/log/httpd-error.log

2. Установка PHP

Смотрим какие версии PHP есть в наличии в репозитарии FreeBSD с помощью команды 'pkg rquery' в консоли:

$ pkg rquery -e '%n ~ php*' '> nomo-versio: %n-%v
amplekso: %sh
' | less

И консоль нам любезно сообщит, что в наличии есть несколько доступных версий PHP:

> nomo-versio: php5-5.4.36
> nomo-versio: php53-5.3.29_3
> nomo-versio: php55-5.5.20
> nomo-versio: php56-5.6.4

Выбираем последнюю доступную версию PHP [то есть php56] и устанавливаем её.

Переходим в порт 'lang/php56'

# cd /usr/ports/lang/php56/

Устанавливаем порт PHP

# make install clean

Переходим в порт 'www/mod_php56'

# cd /usr/ports/www/mod_php56

Устанавливаем порт 'www/mod_php56' для подключения PHP как модуля к Apache

# make install clean

Переходим в порт php-модулей

# cd /usr/ports/lang/php56-extensions/

Запускаем выбор опций компиляции порта

# make config

Для нормальной работы веб-сервера, Я бы порекомендовал следующие модули:

DOM DOM support
GD GD library support
ICONV iconv support
MBSTRING multibyte string support
MCRYPT Encryption support
MYSQL MySQL database support
MYSQLI MySQLi database support
SIMPLEXML simplexml support
SESSION session support
SQLITE sqlite support
SQLITE3 sqlite3 support
XML XML support

Также желательно отключить модуль dba, поскольку он часто мешает нормальной сборке.

Устанавливаем порт в “согласованном” режиме

# make BATCH=yes install clean

Устанавливаем конфиг PHP

# cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini

3. Настройка PHP

После установки PHP уже разрешен в конфиге с Apache как модуль, но его еще невозможно использовать. Для его использования нужно связать расшире­ния файлов '.php' с правильным типом данных чтоб Apache знал для каких файлов запускать интерпретатор PHP.

Открываем конфигурационный файл Apache '/usr/local/etc/apache24/httpd.conf' и проверяем его на наличие следующих строк:

LoadModule php5_module libexec/apache24/libphp5.so

Далее дописываем в разделе 'DirectoryIndex' в конфигурационном файле Apache '/usr/local/etc/apache24/httpd.conf' следующий код:

DirectoryIndex index.php index.html
DirectoryIndex index.php index.html

AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps

Теперь поскольку мы изменили некоторые настройки Apache-сервера его необходимо перезапустить

# /usr/local/sbin/apachectl restart

4. Установка MySQL

Смотрим какие версии MySQL есть в наличии в репозитарии FreeBSD с помощью команды 'pkg rquery' в консоли:

$ pkg rquery -e '%n ~ php*' '> nomo-versio: %n-%v
amplekso: %sh
' | less

И консоль нам любезно сообщит, что в наличии есть несколько доступных версий MySQL:

> nomo-versio: mysql51-server-5.1.73_2
> nomo-versio: mysql55-server-5.5.41
> nomo-versio: mysql56-server-5.6.22

Выбираем последнюю доступную версию MySQL [то есть mysql56-server] и устанавливаем её.

Устанавливаем MySQL сервер из пакажа

# pkg install mysql56-server

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

# /usr/local/etc/rc.d/mysql-server onestart

Добавляем следующую строку в конфигурационный файл '/etc/rc.conf' для запуска демона MySQL-сервера во время загрузки FreeBSD.

mysql_enable=”YES”

Устанавливаем конфигурационный файл для MySQL

# cp /usr/local/share/mysql/my-default.cnf /etc/my.cnf

Обновляем системные пути

# rehash

Устанавливаем пароль для root-пользователя MySQL

# /usr/bin/mysql_secure_installation

Перезапускаем MySQL-сервер с новыми настройками

# /usr/local/etc/rc.d/mysql-server restart

Для управления базой данных MySQL можно дополнительно установить – '/usr/ports/databases/phpmyadmin'.

5. Настройка Apache

Делаем резервную копию конфигурационного файла Apache [обязательно!]:

# cp /usr/local/etc/apache24/httpd.conf /usr/local/etc/apache24/httpd.conf.bak

Займемся редактированием файла настроек Apache сервера '/usr/local/etc/apache24/httpd.conf'.

Не прикасаться к этой настройке!!! Это каталог с бинарными файлами сервера Apache.

ServerRoot “/usr/local”

Заменить значение ServerAdmin на свой email [необязательно]

ServerAdmin [email protected]

Каталог для хранения файлов сайта

DocumentRoot “/usr/local/www/apache24/data”

Должно быть таким же как и значение параметра DocumentRoot

После изменения настроек необходимо рестартовать сервер Apache.

# /usr/local/sbin/apachectl restart

Для запуска Apache в первый раз, просто запустите

# apachectl start

Альтернативный вариант для запуска Apache сервера

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

Вы можете остановить сервер в любой момент, набрав

# apachectl stop

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

# apachectl restart

Для грациозного перезапуска Apache без прерывания текущих соединений, выполните

# apachectl graceful

Проверяем конфиг Apache

# apachectl configtest

6. Настройка Виртуальных хостов [Virtual Hosting] в Apache

В конфигурационном файле Apache '/usr/local/etc/apache24/httpd.conf' в секции '# Virtual hosts' необходимо раскомментировать строку:

# Virtual hosts
Include etc/apache24/extra/httpd-vhosts.conf

Перейти в каталог '/usr/local/etc/apache24/extra/'

# cd /usr/local/etc/apache24/extra/

И добавить что-то вроде в файл '/usr/local/etc/apache24/extra/httpd-vhosts.conf' закомментировав всё лишнее:

ServerAdmin [свой@емайл.ком] DocumentRoot /home/[имя_пользователя]/site/site1/php/ ServerName php.site1 ErrorLog /home/[имя_пользователя]/site/site1/error.log CustomLog /home/[имя_пользователя]/site/site1/access.log common

// Примечание: Параметр 'DocumentRoot' в конфигурационном файле настроек '/usr/local/etc/apache24/extra/httpd-vhosts.conf' должен быть подкаталогом параметра 'DocumentRoot' в конфигурационном файле настроек Apache '/usr/local/etc/apache24/httpd.conf'. Иначе будет ошибка доступа к сайту “403 Forbidden”.

В файл '/etc/hosts' добавляем наш домен, указанный в параметре 'ServerName' [см. выше], т.е. в моём случае 'php.site1':

127.0.0.1 php.site1

Теперь наш будет доступен как по ссылке http://localhost/ так и по ссылке http://php.site1

7. Проверяем все настройки

Создаём файл 'index.php' в директории выделенной для сайта [см. пункт '5. Настройка Виртуальных хостов [Virtual Hosting] в Apache']:

Перезапускаем сервер Apache:

# apachectl restart

Тэги: apache, bsd, famp, freebsd, mysql, php, instrukcio, инструкция

Источник: https://fleganov.blogspot.com/2014/04/famp-famp-freebsd-apache-mysql-php.html

Установка Virtual Box с Web интерфейсом на FreeBSD 10

Дата публикации: 26 июля 2016. Категория: UNIX.

Подробная установка Virtual box на FreeBSD 10.1 через пакетный менеджер pkg

Для начала обновим репозитории и проверим текущую версию Virtual Box (на момент написания статьи версия 4.3.26):

#pkg update #pkg search virtual

virtualbox-ose-4.3.26

virtualbox-ose-additions-4.3.26
virtualbox-ose-kmod-4.3.26

Далее начинаем установку:

#pkg install virtualbox-ose-4.3.26

Вслед за собой потянется пакет virtualbox-ose-kmod, содержащий модули ядра. Добавим модуль в автозагрузку и запустим его:

# echo 'vboxdrv_load=”YES”' >> /boot/loader.conf # kldload vboxdrv

# /sbin/ldconfig -m /usr/local/lib/virtualbox

Создаём пользователя для управления виртуальными машинами, т.к. от root'a это делать запрещается:

# adduser vbadmin
Username: vbadmin
Full name:
Uid (Leave empty for default):
Login group [vbadmin]:
Login group is vbadmin. Invite vbadmin into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: csh
Home directory [/home/vbadmin]:
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 : vbadmin
Password : *****
Full Name :
Uid : 1001
Class :
Groups : vbadmin
Home : /home/vbadmin
Home Mode :
Shell : /bin/csh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (vbadmin) to the user database.
Add another user? (yes/no): no
Goodbye!

Virtualbox при установке создаёт группу для управления машинами vboxusers. Добавим нашего юзера в эту группу:

# pw groupmod vboxusers -m vbadmin

Установим frontend для Vbox:

#pkg install phpvirtualbox

Теперь необходимо отредактировать конфигурационный файл phpvirtualbox:

# vim /usr/local/www/phpvirtualbox/config.php
/* Username / Password for system user that runs VirtualBox */
var $username = ‘vbadmin’;
var $password = ‘тут пароль юзера vbadmin’;

Для работы web интерфейса необходим apache, так же php, php-extensions, mod_php:

#pkg install apache24-2.4.12#pkg install php56-extensions-1.0#pkg install mod_php56-5.6.7

#pkg install php56-5.6.7

Включаем поддержку php в apache (mod_php должен был сам прописать свой модуль в конфиг):

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phpsDirectoryIndex index.html index.shtml index.htm index.php

Пример виртуального хоста для apache:

ServerAdmin Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. DocumentRoot “/usr/local/www/phpvirtualbox/” ServerName vbox.yourdomain.ru Options Indexes FollowSymLinks AllowOverride All Require all granted

Наконец правим /etc/rc.conf:

apache24_enable=”YES” vboxguest_enable=”YES”vboxnet_enable=”YES”vboxwebsrv_enable=”YES”

vboxwebsrv_user=”vbadmin”

Перезагружаем сервер и заходим на web интерфейс (http://vbox.yourdomain.ru). По умолчанию логин/пароль admin/admin

Источник: https://tech4u.pro/articles/79-ustanovka-virtual-box-s-web-interfejsom-na-freebsd-10

Веб сервер для хостинга начального уровня на базе домашнего (рабочего) FreeBSD сервера – 1

Данный цикл статей задумывается больше как записная книжка для себя. Мне не очень часто приходится делать некоторые вещи поэтому хочу описать как я это делал на будущее. Цель: захостить сайт на офисном сервере.

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

  • Проинсталированный FreeBSD 10.1 сервер файловая система ZFS.

  • На роутере настроены виртуальные сервера или ремап портов (название зависит от роутера) 80 и 443 на наш сервер.

Выполняем su.

Коммандой “zpool status” смотрим название нашего ZFS пула, если вы его не знаете.

Примерный вывод команды:

пулов может быть несколько – зависит от конфигурации Вашей системы.

В выбранном пуле создаем точку монтирования для наших клеток:
zfs create -o mountpoint=/jails zroot/jails

убедимся что файловая система создана: “zfs list

Примечание: Вам ничто не мешает просто создать папку и в ней разместить папки с клетками, но тогда Вы лишите себя возможности пользоваться преимуществами ZFS в приложении к джайлам.

создаем файловую систему для собственно джайла – у меня пока задача захостить старую версию сайта потому назову клетку соответствующе:

zfs create zroot/jails/oldsite

установим квоту:

zfs set quota=20G zroot/jails/oldsite

zfs list:

Ставим в клетку систему:

bsdinstall jail /jails/oldsite/

идет обычная установка FreeBSD

как обычно делаем пароль руту и создаем юзера(не расписываю в силу стандартности процедуры).

Устанавливаем jail2:

pkg install jail2

добавляем запуск джайлов в /etc/rc.conf, добавив строчки:

jail2_enable=”YES”

jail2_list=”oldsite”

так как я не собираюсь давать клетке отдельный IP содаю локальный интерфейс:

ifconfig_lo0=”inet 127.0.0.1″

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

создаем конфигурационный файл клеток mcedit /etc/lail.conf:

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

Запускаем клетку:

/usr/local/etc/rc.d/jail2 start

проверяем что работает:

jls

Теперь добавим резервное копирование, для чего будем использовать механизм ZFS снапшотов.
Для управления созданием и удалением снапшотов ставим утилиту zfsnap:
pkg install zfsnap
параметры работы утилиты задаются в конфигурационном файле /etc/periodic.conf

  1. строчка, относящаяся к zfsnap, включает его выполнение
  2. строчка задает список каталогов через пробел для которых делаются снапшоты
  3. строчка задает список каталогов для рекурсивного создания снапшотов (будут созданы для всех вложенных файловых систем, избавляет от необходимости настраивать каждую индивидуально).
  4. строка задает время хранения снапшота.
  5. строка говорит, что необходимо удалять старые.

Теперь можно запустить periodic daily, но помните что выполнятся все системные скрипты, обычно выполняемые в ночное время или просто подождать до утра.
По любому на следующий день вы должы наблюдать следующий результат выполнения комманды 
zfs list -t snapshot

Теперь мы в любой момент можес осуществить откат файловой системы коммандой
zfs rollback zroot/jails/oldsite@daily-2016-04-03_09.05.20–1m 

Mожно переходить к настройке системы в джайле, но об этом в следующей заметке.

Источник: https://a-katyrev.blogspot.com/2016/04/freebsd-1.html

Ссылка на основную публикацию