В последнее время все больше и больше входят в моду домашние сервера, используемые для хранения контента, закачки торрентов, да и просто для раздачи интернета. Не так давно, воодушевившись обзорами домашних серверов, из подручных средств был собран домашний сервер:
Жесткий диск: 500Gb
Материнская плата на 478 сокете
Процессор: Pentium 4 — 2.6Ghz HT
Все это в стареньком корпусе…

Итак, что мы имеем:
•Домашний сервер
•Городскую локальную сеть, выдающую интернет посредством VPN соединения
Использовать сервер как средство хранения контента
Возможность скачки торрентов
Раздача интернета всей семье посредством VPN
Первое, с чем я столкнулся после сборки сервера, был выбор операционной системы. После долгих выборов глаз пал на Ubuntu Server.
После успешной установки системы, первым делом был установлен SSH сервер.
Далее, все остальные действия проводились посредством Putty
Итак, для начала, подымем VPN соединение с интернетом на сервере.
Для начала нам нужно установить пакет pptp-linux, который к моему удивлению, не был найден на установочном диске.
Скачиваем его вручную, и инсталлируем его на сервере.
Далее, правим файл /etc/ppp/chap-secrets и задаем в нем логин (LOGIN), пароль(PASSWORD), и название подключения(PROVIDER_NAME)
Далее, создаем файл /etc/ppp/peers/PROVIDER_NAME и вписываем в него, следующие строки:
Где PROVIDER_VPN_ADRESS — адрес VPN сервера провайдера, LOGIN — ваш логин
Итак, давайте теперь протестируем наше VPN соединение,
Если все прошло удачно, вы увидите полученные IP адреса, а так же можете проверить доступность интернета пингом, например, Яндекса :)
Если все прошло удачно, добавляем следующую строчку в файл /etc/rc.local.
Теперь, интернет, будет у нас подключаться, когда мы будем включать/перезагружать сервер.
После успешного подключения интернета нужно установить VPN сервер, и обеспечить подключение к нему членам семьи :)
В качестве VPN сервера был выбран PPTP-сервер.
Итак, начнем. Для начала установим PPTP сервер.
Далее приступаем к настройке. Первым делом открываем файл /etc/pptpd.conf и дописываем в конец следующие строки:
Следующим шагом дописываем в файл /etc/ppp/pptpd-options следующие строчки:
И теперь, самое главное, редактируем файл /etc/ppp/chap-secrets и дописываем строки вида:
Примечание: Если пользователь должен динамически получать IP-адрес из диапазона remoteip в pptpd.conf, строчка должна выглядеть так:
Далее, добавляем несколько команд в /etc/rc.local:
После этого, перезагружаем сервер:
Настройка клиентских машин проста. Создаем VPN соединения, где указываем IP сервера и логин/пароль, прописанный в /etc/ppp/chap-secrets.
Установка rTorrent и wTorrent
Первым делом, установим необходимые нам пакеты:
Далее исправим конфиг апача,
Перед строкой добавляем 2 строчки:
Перезапускаем apache:
Далее создадим нового пользователя «torrent». Это пользователь, от имени которого будет автоматически запускаться демон RTorrent.
Далее, правим конфиг rTorrent
Пример моего конфига:
Более подробную справку по параметрам rTorrent, смотрите тут
Далее, скачиваем скрипт запуска
Теперь немного поправим конфиг
В файле ищем строку user=«user» и меняем user на torrent в моём случае (здесь это имя пользователя, от которого будет запускаться RTorrent, то что было в команде useradd)
Последний штрих конфигурирования rTorrent — добавление скрипта в автозапуск:
Теперь стартуем наш торрент:
Далее осталось дело за малым — установить WTorrent:
Теперь в браузере заходим ip-компьютера/wtorrent/install.php и устанавливаем скрипт.
Пробуем запустить скрипт в браузере. Первое с чем я столкнулся, это ошибка добавления торрента, через форму добавления.
Происходила ошибка — не правильный торрент файл. Решение проблемы, расписано тут
В качестве ftp сервера был выбран vsftpd.
Редактируем конфигурацию:
Теперь перезапускаем vsftpd:
/etc/init.d/vsftpd
Теперь последний штрих в нашей работе, перезагружаем компьютер.
Я надеюсь, что данная статья пригодится читателям хабра, собравшимся собрать свой сервер в домашних условиях :)
Спасибо за внимание. Удачи!
Статья была опубликована по просьбе Tanto, спасибо за инвайт хабраюзеру AusTiN!у которого пока, к сожалению, нет аккаунта на хабре :(
Жесткий диск: 500Gb
Материнская плата на 478 сокете
Процессор: Pentium 4 — 2.6Ghz HT
Все это в стареньком корпусе…

Итак, что мы имеем:
•Домашний сервер
•Городскую локальную сеть, выдающую интернет посредством VPN соединения
Задачи:
Использовать сервер как средство хранения контента
Возможность скачки торрентов
Раздача интернета всей семье посредством VPN
Настройка VPN подключения.
Первое, с чем я столкнулся после сборки сервера, был выбор операционной системы. После долгих выборов глаз пал на Ubuntu Server.
После успешной установки системы, первым делом был установлен SSH сервер.
Далее, все остальные действия проводились посредством Putty
Итак, для начала, подымем VPN соединение с интернетом на сервере.
Для начала нам нужно установить пакет pptp-linux, который к моему удивлению, не был найден на установочном диске.
Скачиваем его вручную, и инсталлируем его на сервере.
$ sudo dpkg -i pptp-linux_1.7.2-1_i386.deb
Далее, правим файл /etc/ppp/chap-secrets и задаем в нем логин (LOGIN), пароль(PASSWORD), и название подключения(PROVIDER_NAME)
LOGIN PROVIDER_NAME PASSWORD *
Далее, создаем файл /etc/ppp/peers/PROVIDER_NAME и вписываем в него, следующие строки:
remotename PROVIDER_NAME
pty "pptp --loglevel 1 PROVIDER_VPN_ADRESS --nolaunchpppd"
name LOGIN
noauth
nodetach
lock
defaultroute
replacedefaultroute
noccp
Где PROVIDER_VPN_ADRESS — адрес VPN сервера провайдера, LOGIN — ваш логин
Итак, давайте теперь протестируем наше VPN соединение,
$sudo pon PROVIDER_NAME
Если все прошло удачно, вы увидите полученные IP адреса, а так же можете проверить доступность интернета пингом, например, Яндекса :)
Если все прошло удачно, добавляем следующую строчку в файл /etc/rc.local.
pon PROVIDER_NAME
Теперь, интернет, будет у нас подключаться, когда мы будем включать/перезагружать сервер.
Установка VPN сервера для раздачи интернета.
После успешного подключения интернета нужно установить VPN сервер, и обеспечить подключение к нему членам семьи :)
В качестве VPN сервера был выбран PPTP-сервер.
Итак, начнем. Для начала установим PPTP сервер.
$sudo apt-get install ppp pptpd
Далее приступаем к настройке. Первым делом открываем файл /etc/pptpd.conf и дописываем в конец следующие строки:
# IP-адрес сервера в локальной сети
localip 10.10.3.231
# Диапазон адресов для клиентов PPTP-сервера
remoteip 172.22.1.1-5
Следующим шагом дописываем в файл /etc/ppp/pptpd-options следующие строчки:
# требуем авторизацию у клиентов
auth
# Используем шифрование
require-mppe
И теперь, самое главное, редактируем файл /etc/ppp/chap-secrets и дописываем строки вида:
LOGIN pptpd PASSWORD "172.22.1.1"
LOGIN2 pptpd PASSWORD2 "172.22.1.2"
Примечание: Если пользователь должен динамически получать IP-адрес из диапазона remoteip в pptpd.conf, строчка должна выглядеть так:
LOGIN pptpd PASSWORD "*"
Далее, добавляем несколько команд в /etc/rc.local:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
После этого, перезагружаем сервер:
$sudo reboot
Настройка клиентских машин проста. Создаем VPN соединения, где указываем IP сервера и логин/пароль, прописанный в /etc/ppp/chap-secrets.
Установка rTorrent и wTorrent
Первым делом, установим необходимые нам пакеты:
$sudo apt-get install apache2 php5 php5-xmlrpc rtorrent php5-sqlite sqlite libxmlrpc-c3 libapache2-mod-scgi screen subversion
Далее исправим конфиг апача,
$sudo nano /etc/apache2/sites-available/default
Перед строкой добавляем 2 строчки:
LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000
Перезапускаем apache:
$sudo /etc/init.d/apache2 restart
Далее создадим нового пользователя «torrent». Это пользователь, от имени которого будет автоматически запускаться демон RTorrent.
sudo useradd torrent -p password -d /home/torrent
Далее, правим конфиг rTorrent
$sudo nano /home/torrent/.rtorrent.rc
Пример моего конфига:
port_range = 6925-6925
directory = /home/torrent/torrents/download/
session = /home/torrent/torrents/session/
schedule = watch_directory,5,5,load_start=/home/torrent/torrents/watch/*.torrent
scgi_port = 127.0.0.1:5000
hash_read_ahead = 32
hash_max_tries = 1
hash_interval = 1
Более подробную справку по параметрам rTorrent, смотрите тут
Далее, скачиваем скрипт запуска
$sudo wget libtorrent.rakshasa.no/attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh?format=raw -O /etc/init.d/rtorrent
Теперь немного поправим конфиг
$sudo nano /etc/init.d/rtorrent
В файле ищем строку user=«user» и меняем user на torrent в моём случае (здесь это имя пользователя, от которого будет запускаться RTorrent, то что было в команде useradd)
Последний штрих конфигурирования rTorrent — добавление скрипта в автозапуск:
$sudo chmod +x /etc/init.d/rtorrent
$sudo update-rc.d rtorrent defaults
Теперь стартуем наш торрент:
$sudo /etc/init.d/rtorrent start
Далее осталось дело за малым — установить WTorrent:
$ cd /var/www
$ sudo svn co svn://wtorrent-project.org/repos/trunk/wtorrent
Теперь в браузере заходим ip-компьютера/wtorrent/install.php и устанавливаем скрипт.
Пробуем запустить скрипт в браузере. Первое с чем я столкнулся, это ошибка добавления торрента, через форму добавления.
Происходила ошибка — не правильный торрент файл. Решение проблемы, расписано тут
Установка FTP сервера
В качестве ftp сервера был выбран vsftpd.
$sudo apt-get install vsftpd
Редактируем конфигурацию:
$sudo nano /etc/vsftpd.conf
...
write_enable=YES
anonymous_enable=NO
local_enable=YES
...
Теперь перезапускаем vsftpd:
/etc/init.d/vsftpd
Теперь последний штрих в нашей работе, перезагружаем компьютер.
$sudo reboot
Заключение
Я надеюсь, что данная статья пригодится читателям хабра, собравшимся собрать свой сервер в домашних условиях :)
Спасибо за внимание. Удачи!
Статья была опубликована по просьбе Tanto, спасибо за инвайт хабраюзеру AusTiN!