Устанавливаем Verlihub — DC сервер

Установить и настроить Verlihub довольно просто. Для сборки программы необходимы дополнительные исходники. Установим их:

warehouse:~# apt-get install libmysqlclient15-dev libpcre3-dev libgeoip-dev

Теперь скачиваем исходники Verlihub:

warehouse:~# wget http://downloads.sourceforge.net/verlihub/verlihub-0.9.8d-RC2.tar.gz

распаковываем их:

warehouse:~# tar zxf verlihub-0.9.8d-RC2.tar.gz
warehouse:~# cd verlihub
warehouse:~/verlihub#

Теперь сконфигурируем:

warehouse:~/verlihub# ./configure

соберём и установим verlihub:

warehouse:~/verlihub# make && make install

Теперь остаётся его немного сконфигурировать и можно запускать в работу.

Настройка bluetooth на HP nx6310

Про то, что bluetooth работает — это я погорячился. Да, dmesg выдаёт нам информацию, что якобы всё работает как надо, но в реальности же это не так. Погуглив, я нашёл решение, которое к сожалению, у меня не заработало. Опубликую на всякий случай, вдруг у кого-то получится.

Для начала нужно скачать с сайта HP набор драйверов и программ “HP Integrated Module with Bluetooth Wireless Technology Software“. Запустив его в wine, получим распакованный архив. В папке Win32/drivers есть файл btwusb.inf, который нам и нужен.

Также необходимо поставить ndiswrapper:

hp:~# apt-get install ndiswrapper-common ndiswrapper-utils-1.9 ndiswrapper-source

Затем нужно собрать и установить модуль ndiswrapper:

hp:~# module-assistant build ndiswrapper

Extracting the package tarball, /usr/src/ndiswrapper.tar.bz2, please wait…

Завершено с /usr/src/ndiswrapper-modules-2.6.26-1-686_1.53-2+2.6.26-13lenny2_i386.deb .

hp:~# module-assistant install ndiswrapper

Выбор ранее не выбранного пакета ndiswrapper-modules-2.6.26-1-686.

(Чтение базы данных… на данный момент установлено 107995 файлов и каталогов.)

Распаковывается пакет ndiswrapper-modules-2.6.26-1-686 (из файла …/ndiswrapper-modules-2.6.26-1-686_1.53-2+2.6.26-13lenny2_i386.deb)…

Настраивается пакет ndiswrapper-modules-2.6.26-1-686 (1.53-2+2.6.26-13lenny2) …

hp:~# modprobe ndiswrapper

Проверяем, что всё получилось:

hp:~# dmesg | tail | grep ndis

[14510.663905] ndiswrapper version 1.53 loaded (smp=yes, preempt=no)

Теперь нужно установить драйвер:

hp:~# ndiswrapper -i btwusb.inf

installing btwusb …

hp:~#

Проверим, установился драйвер или нет:

hp:~# ndiswrapper -l

btwusb : driver installed

Как мы видим, драйвер установлен но заветной надписи:

hp:~# ndiswrapper -l

btwusb : driver installed, hardware present

увы, нет.

Попробую пересобрать ядро посвежее. Если это поможет — отпишу немедленно. А пока, если у кого-то есть рабочее решение проблемы — добро пожаловать в комментарии.

Консольный клиент DC — microdc2

Помимо стандартных средств файлообмена, мы пользуемся P2P сетью Direct Connect. На “Warehouse” был установлен хаб Verlihub, с которым соединяются все пользователи. Как его поставить и настроить я напишу чуть позже. В файлообмене активно участвуют и наши сервера, а в качестве клиентской программы я использую microdc2 — консольный клиент для DC сетей.

Сборка и установка

Сборка и установка microdc2 не занимает много времени. Скачаем архив с исходниками, распакуем его и перейдём в папку с исходниками:

warehouse:~# wget http://corsair626.no-ip.org/microdc/microdc2-0.15.6.tar.gz
warehouse:~# tar zxf microdc2-0.15.6.tar.gz
warehouse:~# cd microdc2-0.15.6

Прежде чем начать собирать программу, поставим необходимые пакеты:

warehouse:~# apt-get install libreadline5-dev libxml2-dev

После установки пакета можно запустить конфигурирование программы:

warehouse:~/microdc2-0.15.6# ./configure

Если всё прошло без ошибок, как это было в моём случае, можно скомпилировать и установить программу:

warehouse:~/microdc2-0.15.6# make && make install

Теперь программа установлена и можно переходить к её настройке.

Настройка

Запускать microdc2 я буду не от рута, а от обычного пользователя, поэтому зайдём в его каталог и создадим папку с файлом конфигурации:

alexey@warehouse:~$ mkdir .microdc2
alexey@warehouse:~$ mcedit .microdc2/config

Мой конфигурационный файл:

set filesystem_charset urf-8
set hub_charset cp1251
set log_charset utf-8
set auto_reconnect on
set filelist_refresh_interval 600
set display searchresults
set log searchresults
share /var/www/
set downloaddir /tmp/
set listingdir /tmp/
set nick Warehouse
set password MyPass
set description «Warehouse server bot»
set email alexey@local
set logfile /home/alexey/.microdc2/microdc.log
set slots 100
set speed LAN(T3)
set active on
connect dc.local

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

Автозапуск microdc2 при загрузке

Сначала установим screen:

warehouse:~# apt-get install screen

Создадим скрипт запуска microdc2:

mcedit /etc/init.d/microdc2.sh

Добавим в него следующие строки:

#!/bin/sh

/usr/bin/screen -d -m su -l alexey -c «/usr/local/bin/microdc2 -c /home/alexey/.microdc2/config»

В моём случае microdc2 будет запускаться под пользователем alexey.

update-rc.d microdc2.sh defaults 90

Добавим скрипт в автозапуск. Оформлен он не по правилам, на что будет выдано предупреждение. Впрочем, взять за основу /etc/init.d/skeleton и оформить скрипт в соответствии с правилами мне не мешает ничто, кроме лени. 😉

Настраиваем web сервер — lighttpd + php5

Так как “Warehouse” не очень мощный сервер, использовать ресурсы нужно очень бережно. 🙂

Я хочу организовать доступ к файлам на сервере по HTTP протоколу и lighttpd поможет мне в этом. Также я хочу иметь возможность запуска php скриптов через CGI.

warehouse:~# apt-get install lighttpd php5-cgi

После загрузки и установки пакетов, разрешим lighttpd использовать модуль mod_cgi и сделаем в папке /etc/lighttpd/conf-enabled/ символическую ссылку на 10-cgi.conf:

warehouse:~# lighty-enable-mod mod_cgi
warehouse:~# ln -s /etc/lighttpd/conf-available/10-cgi.conf /etc/lighttpd/conf-enabled/10-cgi.conf

Редактируем файл /etc/lighttpd/conf-available/10-cgi.conf. Найдём блок:

#cgi.assign = (
# ".pl" => "/usr/bin/perl",
# ".php" => "/usr/bin/php-cgi",
# ".py" => "/usr/bin/python",
#)

раскомментируем строчку с .php и поправим путь к интерпретатору PHP:

cgi.assign = (
# ".pl" => "/usr/bin/perl",
".php" => "/usr/bin/php5-cgi",
# ".py" => "/usr/bin/python",
)

После рестарта lighttpd он должен выполнять php скрипты. Ну и пользователи моей сети теперь смогут видеть и скачивать файлы с сервера по HTTP. 🙂