А новый менеджер пакетов на голову лучше и гибче старого.
UPD от 31 июля 2015. Поправил для nas4free 10.1.0.2 - Prescience (revision 1731). В основном дал ссылку на новый диалог настройки клетки в п 1 /UPD
1) Создаём джейл через TheBrig, как сделано здесь в п 3. Даём джейлу имя torrentmonitor и IP 192.168.1.54/24. fstab пока НЕ заполняем
2) Запускаем джейл, смотри его номер (пусть будет 4), через putty заходим по ssh, идём в джейл
jexec 4 tcsh
3) Устанавливаем новый пакетный менеджер, соглашаемся - ставим y
root@torrentmonitor:/ # pkg
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
4) Ставим гумманоидный редактор
pkg install nano
5) Копируем и редактируем конфиг
cp /usr/local/etc/pkg.conf.sample /usr/local/etc/pkg.conf
nano /usr/local/etc/pkg.conf
Здесь находим строку
#ASSUME_ALWAYS_YES = false;
и заменяем её на
ASSUME_ALWAYS_YES = true;
Внимание - # в начале убираем. Можно и не редактировать, но тогда при каждой установке пакета будет назойливо задавать вопросы.
6) Обновляем пакеты и заодно убеждаемся, что всё работает
pkg update -f
root@tm:/usr/ports/ports-mgmt/pkg # pkg update -f
Updating FreeBSD repository catalogue...
[tm.local] Fetching meta.txz: 100% 968 B 1.0k/s 00:01
[tm.local] Fetching digests.txz: 100% 2 MB 2.1M/s 00:01
[tm.local] Fetching packagesite.txz: 100% 5 MB 5.3M/s 00:01
Processing new repository entries: 100%
FreeBSD repository update completed. 23708 packages processed:
0 updated, 0 removed and 23708 added.
ПРИМ. Чтоб 2 раза не вставать - пара полезных на будущее команд сюда же, респект камраду RU_Taurus
pkg audit -F - проверка уязвимостей
pkg info | grep nano - просмотр версии установленного пакета
pkg search [имя_пакета] - ищет заданное примерное имя пакета в локальном репозитарии
pkg search -f [имя_пакета] - посмотреть полную информацию о пакете (точное имя мы нашли первой командой)
pkg version -Rv - посмотреть что из пакетов требует обновления
pkg upgrade [имя_пакета] - обновить пакет до новой версии, можно задать несколько имён в одной команде. /ПРИМ
7) Теперь ставим пакеты
pkg install lighttpd
pkg install php5-ctype
pkg install php5-dom
pkg install php5-fileinfo
pkg install php5-filter
pkg install php5-gd
pkg install php5-hash
pkg install php5-iconv
pkg install php5-json
pkg install php5-mbstring
pkg install php5-pdo
pkg install php5-pdo_sqlite
pkg install php5-session
pkg install php5-simplexml
pkg install php5-sqlite3
pkg install php5-xml
pkg install php5-xmlrpc
pkg install php5-gettext
pkg install php5-mcrypt
pkg install php5-zip
pkg install php5-zlib
pkg install curl
[ Этой ошибки уже нет, прячу под спойлер]8) В прошлый раз в curl вылезла ошибка, пришлось пересобирать
Проверяем, что сейчас всё ОК
curl -c '/tmp/cookies' 'http://ya.ru' > null && ls -l /tmp/cookies
если видим в конце строку типа
-rw-r--r-- 1 root wheel 196 Mar 15 16:04 /tmp/cookies
- поздравляю, получилось
Если строку
ls: /tmp/cookies: No such file or directory
- что-то не так и curl у вас без поддержки cookies. Идите по ссылке в чуть выше и собирайте с поддержкой.
Если тест выше удачный - ставим php5-curl
pkg install php5-curl
9) Редактируем конфиги
9.1) Открываем для редактирования /usr/local/etc/lighttpd/lighttpd.conf
Сделать это можно многими способами, например через nano
НЕ ИСПОЛЬЗУЙТЕ встроенный редактор nas4free - он портит конфиги
nano /usr/local/etc/lighttpd/lighttpd.conf
9.2) Редактируем lighttpd.conf (поиск по файлу - Ctrl W)
server.bind = "192.168.1.54"
server.use-ipv6 = "disable"
и та строка
$SERVER["socket"] == "192.168.1.54:8080" { }
перед которой стоит коммент
# IPv4 listening socket
она - в самом конце.
Прим. Не забываем в начале строки server.bind убрать знак комментария #
9.3) Редактируем /usr/local/etc/lighttpd/modules.conf, удаляя # из строки
#include "conf.d/fastcgi.conf"
9.4) Добавляем в конец файла /usr/local/etc/lighttpd/conf.d/fastcgi.c
fastcgi.server = ( ".php" =>
((
"socket" => "/tmp/php.socket",
"bin-path" => "/usr/local/bin/php-cgi",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"min-procs" => 1,
"max-procs" => 1,
"idle-timeout" => 20
))
)
9.5) В список файла (где угодно внутри скобок mimetype.assign = ( ) ) /usr/local/etc/lighttpd/conf.d/mime.conf добавляем
".svg" => "image/svg+xml",
".xht" => "application/xhtml+xml",
".xhtml" => "application/xhtml+xml",
".woff" => "application/x-font-woff",
".svgz" => "image/svg+xml",
10) Проверяем синтаксис lighttpd.conf
lighttpd -t -f /usr/local/etc/lighttpd/lighttpd.conf
Если всё хорошо - он напишет Syntax OK
11) Создаём наш тестовый сайт
11.1) Создаём папку и файл
mkdir -p /usr/local/www/data
echo "XXX" > /usr/local/www/data/index.php
Прим. Вместо XXX внутри кавычек надо написать то, что на картинке ниже. (Движок ЖЖ не даёт писать php код напрямую, а тегов для инкапсуляции нет :(. )
11.2) Задаём владельца
chown -R www:www /usr/local/www/
12) Проверяем
12.1) Запускаем lighttpd
/usr/local/sbin/lighttpd -f /usr/local/etc/lighttpd/lighttpd.conf
12.2) Идём в браузере по адресу нашего джейла 192.168.1.54
Если всё нормально - видим
13) останавливем наш джейл кнопкой через TheBrig
Отправной точкой послужил этот пост
← Ctrl ← Alt
Ctrl → Alt →
← Ctrl ← Alt
Ctrl → Alt →