Приведенное ниже руководство по мере возможности периодически обновляется и корректируется. Reyter
Я тут приведу некоторые рекомендации по установке ADOS для начинающих пользователей. Может быть не все здесь может абсолютно правильно, но тем не менее ОНО работает.
Предварительно замечание общего характера. А именно - про те грабли, на которые наступает каждый новичок. Чтобы не иметь проблем с установкой и работой дополнительных пакетов, в обязательном порядке необходимо перейти на альтернативный репозитарий пакетов и установить uclibc-opt. Ниже приведен скрипт, который поможет "одним махом" изменить конфигурацию ipkg на предмет работы с альтернативным репозитарием, установить uclibc-opt и переустановить (без этого никак не обойтись) все ранее установленные пакеты из "неправильного" репозитария (конфиги и настройки этих пакетов, если таковые были, при этом сохранятся).
Code:
echo "src unslung http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable" > /opt/etc/ipkg.conf
echo "dest root /" >> /opt/etc/ipkg.conf
ipkg update && ipkg install uclibc-opt && awk '/^Package:/{system("ipkg install -force-reinstall -force-defaults " $2)}' /opt/lib/ipkg/status
Если у Вас все уже было установлено из альтернативного репозитария, то описанный выше шаг можно смело пропустить.
Ну а теперь займемся установкой ADOS и иже с ним.
Сначала устанавливаем cron, lighttpd, sglite, php-fcgi, php-gd, cURL, wget (если не был установлен ранее) и microperl (тоже может пригодиться):
Code:
ipkg update
ipkg install cron
ipkg install lighttpd
ipkg install php-fcgi
ipkg install sqlite
ipkg install php-gd
ipkg install libcurl
ipkg install wget
ipkg install microperl
Распаковываем содержимое дистрибутива и помещаем все в папку /opt/share/www/ados
Не забываем сначала эту самую папку создать:
mkdir /opt/share/www/ados
редактируем /opt/etc/lighttpd/lighttpd.conf
# добавляем:
dir-listing.activate = "enable"
# это чтобы можно было листать директории, не содержащие index.* и т.п. Т.е. таким образом можно будет элементарно скачивать файлы с роутера по http. Необходимо для торрента transmission.
# Раскомментируем (удаляем в начале строки #) строки:
"mod_access",
"mod_fastcgi",
"mod_cgi",
"mod_accesslog" )
# Исправляем:
server.document-root = "/opt/share/www/"
# (иначе не будет доступа в папки, отличные от "/opt/share/www/lighttpd/"
# исправляем порт доступа на тот, который нам нужен (Вы можете назначить тот порт, который пожелаете).
server.port = 8080
# раскоментируем и исправляем следующее (должен быть установлен пакет php-fcgi):
Code:
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"min-procs" => 1,
"max-procs" => 1,
"max-load-per-proc" => 4,
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/opt/bin/php-fcgi"
)
)
)
# раскомментируем и исправляем следующее
Code:
cgi.assign = ( ".pl" => "/opt/bin/microperl",
".cgi" => "/opt/bin/microperl" )
# это чтобы у нас еще и *.cgi работали. Необходимо, в частности
# для того же transmission. Должен быть установлен пакет microperl
Далее редактируем (может это и лишнее, но все же...) /opt/etc/php.ini
Ищем секцию с перечислением extension (у меня это строка 539) и добавляем к ним
Code:
extension=pdo.so
extension=sqlite.so
Не забываем распаковать и скопировать Axel в /opt/bin и сделать его исполняемым:
chmod 0755 /opt/bin/axel
Редактируем /opt/etc/crontab. Он должен выглядеть следующим образом:
Code:
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
*/1 * * * * root /opt/bin/run-parts /opt/etc/cron.1min
*/5 * * * * root /opt/bin/run-parts /opt/etc/cron.5mins
01 * * * * root /opt/bin/run-parts /opt/etc/cron.hourly
02 4 * * * root /opt/bin/run-parts /opt/etc/cron.daily
22 4 * * 0 root /opt/bin/run-parts /opt/etc/cron.weekly
42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly
Внимание! Если вы заходите на роутер под логином admin (или еще каким), то замените в crontab "root" на "admin".
В папке /opt/bin создайте файл run-parts со следующим содержимым:
Code:
#!/bin/sh
#
# runparts.sh by macsat@macsat.com
# intended for use with cron
#
# based on rc.unslung by unslung guys :-)
#
if [ -z "$1" ]
then
echo "Usage : $0 "
fi
RUNDIR=$1"/*"
for i in $RUNDIR ;do
# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue
case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set start
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i start
;;
esac
done
и сделайте его исполняемым: chmod +x /opt/bin/run-parts
Создайте все перечисленные здесь директории:
Code:
mkdir /opt/etc/cron.1min
mkdir /opt/etc/cron.5mins
mkdir /opt/etc/cron.hourly
mkdir /opt/etc/cron.daily
mkdir /opt/etc/cron.weekly
mkdir /opt/etc/cron.monthly
В эти директории можно будет класть скрипты с расширением *.sh, которые будут выполняться каждую минуту, каждые 5 минут и т.д. Естественно у них должен быть атрибут исполняемого файла.
Создайте дирректорию, куда будете закачивать файло. Например:
mkdir /tmp/harddisk/downloads
Перезапускаем lighttpd:
/opt/etc/init.d/S80lighttpd restart
Чтобы у вас автоматически запускались cron и lighttpd в файле post-mount должны быть (помимо всего прочего) такие строки:
Code:
#!/bin/sh
/opt/etc/init.d/S10cron
/opt/etc/init.d/S80lighttpd start
Пробуем зайти: http://my.router:8080/ados
Если все настроено верно, то начнется процес первичной инсталляции. В принципе там все понятно.
Настройки для ADOS
Путь к axel нужно указать полный, т.е. /opt/bin/axel ; корневой каталог для сохранения закачек тот, который вы создали, например /tmp/harddisk/downloads ; путь до исполняемого файла PHP /opt/bin/php-fcgi
А теперь упрощенная процедура с использованием прилагаемых файлов:
Устанавливаем пакеты и создаем необходимые каталоги:
Code:
ipkg update
ipkg update
ipkg install cron
ipkg install lighttpd
ipkg install php-fcgi
ipkg install sqlite
ipkg install php-gd
ipkg install libcurl
ipkg install wget
ipkg install microperl
mkdir /opt/share/www/ados
mkdir /tmp/harddisk/downloads
mkdir /opt/etc/cron.5mins
mkdir /opt/etc/cron.hourly
mkdir /opt/etc/cron.daily
mkdir /opt/etc/cron.weekly
mkdir /opt/etc/cron.monthly
Распаковываем содержимое дистрибутива в папку /opt/share/www/ados
Распаковываем содержимое for_ADOS.zip в папку /opt (если вы заходите на роутер под логином root, то потом положите поверх файл crontab из архива crontab_root.zip в папку /opt/etc . Если вы заходите не под admin и не под root, то самостоятельно отредактируйте crontab - замените в нем "admin" на свой логин).
Изменяем атрибуты файлов:
Code:
chmod +x /opt/bin/run-parts
chmod +x /opt/bin/axel
chmod 600 /opt/etc/crontab
Редактируем post-mount, там должны быть (помимо всего прочего) такие строки:
Code:
#!/bin/sh
/opt/etc/init.d/S10cron
/opt/etc/init.d/S80lighttpd start
Сохраняем post-mount и перегружаемся:
Code:
flashfs save && flashfs commit && flashfs enable && reboot
После перезагрузки пробуем зайти на http://my.router:8080/ados (вместо myrouter пропишите IP-адрес своего роутера). Если все выполнили правильно, то начнется процесс первичной инсталляции. Настройки для ADOS приведены чуть выше. После окончания настройки удалите (или куда-нибудь переместите) папку /opt/share/www/ados/install