Это перевод статьи fun_plug. Пошаговое руководство для начинающих
Это пошаговое руководство позволит расширить возможности вашего DNS-323 с fun_plug.
Это руководство предполагает, что вы используете Unix / Linux Desktop (пользователи Windows должны использовать сторонний SSH-клиент, например Putty ) с IP-адресом 10.10.10.150 .
Предполагается, что ваше NAS устройство подключается к домашней сети 10.10.10.0/24 , имеет работающий DHCP сервер (прим. Или ваш NAS может выступать в роли DHCP-сервера).
Предполагается, что ваше NAS устройство получило 10.10.10.1 IP-адрес от DHCP-сервера (в дальнейшем этот адрес будет изменен на 10.10.10.123 , или любой другой по вашему выбору).
Не забудьте изменить все IP-адреса и пароли, указанные ниже.
Шаг 0. (Необязательный) Очистка от предыдущих версий fun_plug.
Удалите из корня общей папки файлы ffp.log , fun_plug и папку ffp .
Или если у вас есть доступ по протоколам Telnet или SSH, можете выполнить следующие команды:
# cd /mnt/HD_a2
# rm -r ffp
# rm ffp.log
# rm fun_plug
# reboot
Шаг 1. Cброс в заводские настройки
- Включите устройство и подождите, пока лампочки перестанут моргать. Затем возьмите тонкий предмет (игла, разогнутая скрепка) и нажмите в отверстие сброса и удерживайте более 10 с.
- Подождите пока лампочки снова перестанут моргать.
- Проверьте, что DNS-323 получил адрес от вашего DHCP.
- Наберите в браузере присвоенный DHCP IP-адрес (предполагается http://10.10.10.1 )
Шаг 2. Первичная инициализация
Выполняется через web-интерфейс
- Войти (пользователь: ‘Admin’, пароль:»)
- Menu Setup/Wizard/, [Run Wizard]
- [Next]
- Вводим пароль администратора: ‘adminpwd’, [Next]
- Выбираем часовой пояс +3, [Next]
- Переключаем «Static IP» и заполняем IP адрес: ‘10.10.10.123’, [Next]
- Вводим имя ‘joesnas’, [Next]
- [Completed]
Подождите 1-2 минут, пока браузер перезагрузит страницу управления с новым IP-адресом.
Шаг 3. Подготовка FTP-сервера для FunPlug
- Войти в браузере на страницу управления:
http://10.10.10.123 имя пользователя: «Администратор», пароль: «adminpwd» - Меню Advanced/UserGroups:
User Name: ‘joe’
password: ‘joepwd’
[Add] - Меню Advanced/FTP Server:
User: ‘joe’
Folder: ‘Root’
Выбираем разрешения: ‘R/W Read/Write’
[Add], - Client language: (выберите язык вашей страны; если сомневаетесь используйте Unicode),
- [Apply]
- [Start FTP Server]
Шаг 4. Устанавливаем FunPlug с включенным Telnet-ом
Подробнее см. на http://wiki.dns323.info/howto:fun_plug (раздел передача с использованием FTP )
- В вашей Linux Desktop, сделать папку fp и перейти в нее:
$ mkdir fp; cd fp
- Скачать http://www.inreto.de/dns323/fun-plug/0.5/fun_plug , http://www.inreto.de/dns323/fun-plug/0.5/fun_plug.tgz
$ Wget http://www.inreto.de/dns323/fun-plug/0.5/fun_plug; CHMOD 777 fun_plug $ Wget http://www.inreto.de/dns323/fun-plug/0.5/fun_plug.tgz; CHMOD 777 fun_plug.tgz
- Теперь с помощью FTP поместить скачанные файлы в корневую папку NAS-а:
$ ftp 10.10.10.123 Name (10.10.10.123): joe 331 User joe OK. Password required Password: joepwd ftp> cd Volume_1 ftp> bin ftp> mput fun* mput fun_plug? y mput fun_plug.tgz? y ftp> chmod 777 fun_plug ftp> bye
- Войти в браузере страницу управления:
http://10.10.10.123 пользователя: «Администратор», пароль: «adminpwd» - Меню Tools / System, кнопка [ Reboot ]
- Подождите около 1-2 минут пока устройство перезагрузится (лампочки перестанут моргать)
Шаг 5. Включить SSH, Telnet выключить
Подробнее см. на http://nas-tweaks.net/CH3SNAS:Tutorials/fun_plug
- telnet 10.10.10.123
- Подготавливаем root-логин
/ # pwconv / # passwd (enter 'adminpwd' as mentioned before) / # usermod -s /ffp/bin/sh root / # store-passwd.sh
- Активация SSH
/ # chmod a+x /ffp/start/sshd.sh / # sh /ffp/start/sshd.sh start
- Используйте SSH, чтобы связаться с вашего компьютера (для Windows используйте Putty)
$ ssh -l root 10.10.10.123 root@10.10.10.123's password: 'adminpwd' root@joes_nas:~#
- Отключение Telnet
root@joes_nas:~# /ffp/start/telnetd.sh stop root@joes_nas:~# chmod -x /ffp/start/telnetd.sh
Шаг 6. Установить хранилище пакетов для локального использования
Смотрите на http://nas-tweaks.net/CH3SNAS:Tutorials/ffp-packages
Также http://ffp.wolf-u.li/additional/
$ ssh -l root 10.10.10.123
cd /ffp/
mkdir pkg ; cd pkg ; rsync -av --delete inreto.de::dns323/fun-plug/0.5/packages .
rsync -av --delete wolf-u.li::ffp/additional .
rsync -av --delete inreto.de::dns323/fun-plug/0.5/extra-packages .
Шаг 7. Установить MidnightCommander
# funpkg -i /mnt/HD_a2/ffp/pkg/additional/app-misc/mc-*.tgz
Шаг 8. Установить NTP синхронизации времени
См. полный учебник на http://nas-tweaks.net/CH3SNAS:Tutorials/ntp
Также http://wiki.dns323.info/howto:ffp (глава NTP Network Time Protocol)
# cd /ffp/etc
# cp examples/ntp.conf .
# chmod a+x /ffp/start/ntpd.sh
# sh /ffp/start/ntpd.sh start
# ntpq -p
Рекомендуется изменить путь к drift-файлу в файле /ffp/start/ntpd.sh на /tmp/ntp.drift. В противном случае диск не перейдет в режим ожидания. @ Yozik04
Шаг 9. Установить веб-сервер Lighttpd
См. полный учебник на http://nas-tweaks.net/CH3SNAS:Tutorials/lighttpd
Также http://wiki.dns323.info/howto:lighttpd_php (глава Простые способы)
И еще http://wiki.dns323.info/howto:ffp (глава Lighttpd веб-сервера)
- Подготовка WWW хранилища
# cd /mnt/HD_a2
# mkdir -p www/logs www/pages
# echo " " > /mnt/HD_a2/www/pages/index.html
# echo " Lighttpd is OK and running " >> /mnt/HD_a2/www/pages/index.html
- Подготовка сервера
# cd /ffp/etc # cp examples/lighttpd.conf /ffp/etc/lighttpd.conf # chmod a+x /ffp/start/lighttpd.sh
- Изменение пользователей и групп от имени которых работает демон (не обязательно, но для безопасности полезнее)
# groupadd www-data # useradd -g www-data www-data # sed -i s/#server.username.*/'server.username = "www-data"'/ /ffp/etc/lighttpd.conf # sed -i s/#server.groupname.*/'server.groupname = "www-data"'/ /ffp/etc/lighttpd.conf # chown root:www-data /mnt/HD_a2/www/logs/ # chmod 774 /mnt/HD_a2/www/logs/
- Старт веб-сервера
# sh /ffp/start/lighttpd.sh start
- Тест веб-сервера
Перейдите в браузере http://10.10.10.123:8080, должны увидеть надпись «Lighttpd is OK and running»
Шаг 10. Добавление PHP-пакетов в Lighttpd
См. полный учебник на http://nas-tweaks.net/CH3SNAS:Tutorials/php
Также http://forum.dsmg600.info/viewtopic.php?id=3466
- Установите PHP
# funpkg -i /ffp/pkg/additional/dev-lang/php-*.tgz # funpkg -i /ffp/pkg/additional/net-misc/curl-*.tgz
- Настройка веб-сервера для использования PHP
# cp /ffp/etc/examples/lighttpd.conf-with-php /ffp/etc/lighttpd.conf # sed -i s/#server.username.*/'server.username = "www-data"'/ /ffp/etc/lighttpd.conf # sed -i s/#server.groupname.*/'server.groupname = "www-data"'/ /ffp/etc/lighttpd.conf # cp /ffp/etc/examples/php.ini-dist /ffp/etc/php.ini # echo "" > /mnt/HD_a2/www/pages/a.php # sh /ffp/start/lighttpd.sh restart
- Тест PHP
Перейдите в браузере http://10.10.10.123:8080/a.php
Шаг 11. Добавление MySQL пакетов в Lighttpd
См. полный учебник на http://nas-tweaks.net/CH3SNAS:Tutorials/Mysql
Также http://forum.dsmg600.info/viewtopic.php?id=3466
- Установка MySQL
# cd /mnt/HD_a2/ffp/pkg # wget http://81.216.140.39/dns-323/mysql_and_php/mysql-5.1.28-rc-1.tgz # funpkg -i mysql-5.1.28-rc-1.tgz
- Подготовка PHP для использования MySQL
# echo extension=mysql.so >> /ffp/etc/php.ini # echo extension=pdo.so >> /ffp/etc/php.ini # echo extension=pdo_mysql.so >> /ffp/etc/php.ini # vi /ffp/etc/php.ini
закоментируйте строку:
;extension_dir = "./"
и добавте ниже
extension_dir = "/ffp/lib/php/extensions/no-debug-non-zts-20060613/"
- Подготовка MySQL. Будьте осторожны, установка пароля возможно только один раз
# cp /ffp/etc/examples/my.cnf /ffp/etc/. # sh /ffp/start/mysqld.sh start # mysql_secure_installation # mysql_install_db
- Тест локального соединения с MySQL
# /ffp/bin/mysql -uroot -ptoor mysql> show databases; mysql> use mysql; mysql> show tables; mysql> select host, user, password from user;
- Тест Lighttpd сервера
# sh /ffp/start/lighttpd.sh restart
Перейдите в браузере http://10.10.10.123:8080/a.php и MySQL см. раздел на странице
Шаг 12. Разрешить удаленное подключение к MySql
Подробнее. http://nas-tweaks.net/96/installation-and-configuration-of-mysql-on-fonz-fun_plug/#Allowing_external_access
Также http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
Еще http://forums.mysql.com/read.php?108, 62926,199511
- Разрешить пользователю root подключаться удаленно, например, для администрирования MySQL помощью GUI (SQLyog mysqladmin)
# /ffp/bin/mysql -uroot -ptoor mysql> GRANT ALL ON *.* TO root@'10.10.10.150'IDENTIFIED BY 'toor' ; mysql> FLUSH PRIVILEGES;
- Добавить нового пользователя определенными правами
# /ffp/bin/mysql -uroot -ptoor mysql> INSERT INTO mysql.user ( HOST, USER, PASSWORD, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv, reload_priv, shutdown_priv, process_priv, file_priv, grant_priv, references_priv, index_priv, alter_priv, show_db_priv, super_priv, create_tmp_table_priv, lock_tables_priv, execute_priv, repl_slave_priv, repl_client_priv, create_view_priv, show_view_priv, create_routine_priv, alter_routine_priv, create_user_priv, event_priv, trigger_priv ) VALUES ( '%', 'john', PASSWORD('johnpwd'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y' ); mysql> FLUSH PRIVILEGES;
Команда позволяет пользователю john войти с любого IP (‘%’).
Эта команда просто пример, не использовать его на рабочем сервере! Давать пользователю права на «все» и разрешать заходить с любого IP — плохая идея! Устанавливайте «Y» только там, какие права вы действительно хотите разрешить.
Или лучше, забыть о ней, и использовать DB SQLyog или другое GUI-приложение.