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.
Весь процесс установки мы разделим на следующие основные шаги:
- Обновление портов
- Установка Apache
- Установка PHP
- Установка MySQL
- Дополнения
Приступаем к установке и настройке, первым делом обновляем порты. Коллекция портов — это набор файлов (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
- +1
- 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 этапа.
- Установка FreeBSD.
- Первоначальная настройка. Настройка SSH, FTP.
- Установка и настройка Apache, PHP, MySQL, phpMyAdmin.
- Окончательная настройка и работа с сервером.
Задача: Необходимо собрать веб сервер в локальной сети для создания сайта с последующим переносом его на сторонний хостинг.
Бюджет: 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
- строчка, относящаяся к zfsnap, включает его выполнение
- строчка задает список каталогов через пробел для которых делаются снапшоты
- строчка задает список каталогов для рекурсивного создания снапшотов (будут созданы для всех вложенных файловых систем, избавляет от необходимости настраивать каждую индивидуально).
- строка задает время хранения снапшота.
- строка говорит, что необходимо удалять старые.
Теперь можно запустить 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