Настройка Домашнего Сервера На Базе Debian

Привет. Хочу рассказать о том, как я реализовал серверное решение дома :) Прошу не судить строго, потому что.

Это моя первая публикация на Хабрахабре, и русский язык не мой родной.

Так что любые поправки приветствуются.

Мы поговорим о: Старый компьютер на базе VIA Ezra с 256 мегабайтами оперативной памяти, под управлением Debian Etch, выполняющий функции музыкального плеера, торрент-клиента, web+ftp+nfs-сервера.

Дополнительное оборудование: 2 ноутбука (Dell, Asus) на базе Ubuntu, Fedora и Wi-Fi роутер/DSL модем D-link DSL-2640u. Один мой друг подарил мне на Новый год вот такое творение инженеров прошлого века:

Настройка домашнего сервера на базе Debian

Было решено, что тазик не должен простаивать зря.

Debian, потому что дистрибутив стабилен и прост в настройке/использовании.

Процесс установки ОС описывать не буду — задача понятна, да и помощи в Интернете по этому поводу предостаточно.

Сразу перейду к настройке.



Настройки

Т.

к.

у меня ноуты подключены по Wi-Fi, а сервер я подключал по витой паре - все компы в локальной сети.

Первым делом я установил ssh и выключил монитор, поставив машину в укромное место, чтобы меня не беспокоили.

Необходимо пробросить порты на роутере для доступа к серверу извне.

Я зарезервировал MAC-адреса по DHCP, и мой сервер всегда будет иметь локальный адрес 192.168.1.2. Скриншот из админки роутера:

Настройка домашнего сервера на базе Debian

Вы можете видеть, что я открыл порты для Интернета, FTP, Shoutcast и SSH. Здесь важно знать, что внешние адреса для некоторых (в том числе и моей) моделей роутеров не будут работать из локальной сети.

Те.

Если я наберу my_external_ip_address:21 на своем ноутбуке, я ничего не увижу.

Сервер теперь виден из сети.

Подключимся по ssh и проведем настройку.

По умолчанию Debian использует Gnome в качестве оконного менеджера, но он съедает оперативную память, поэтому мы отключим его.

Это делается очень легко: Вариант из грибозавр

apt-get install sysv-rc-conf sysv-rc-conf

UPD: либо так, предложил Гриньяр

update-rc.d -f gdm remove

Сохраняем, перезагружаемся.

Вуаля! Гном отключен.

Таким образом мы можем отключить ненужные нам службы.

Так получилось, что мой домашний провайдер не предоставляет мне статический IP-адрес, поэтому пришлось искать решение.

я остановился на dyndns.com .

Услуга, предоставляющая домен третьего уровня бесплатно + возможность обновить IP для данного домена с помощью серверного ПО в случае его изменения.

Зарегистрируйтесь, добавьте новый аккаунт, скачайте inadyn, поставьте в автозагрузку с помощью update-rc.d

update-rc.d inadyn defaults

Теперь у нас есть домен, который всегда будет связан с нашим сервером!

Настройка экрана + rtorrent

Решение пало на эту комбинацию, потому что.

rtorrent не имеет демонической природы, но ему нужно работать в фоне.

Если вы еще не знаете, что такое экран, зайдите на сайт Проект GNU .

Давайте установим необходимые нам пакеты:

apt-get install screen rtorrent

Я создал скрипт запуска:

nano /etc/init.d/screen



#!/bin/sh screen -d -m rtorrent echo "Started."

И добавил его опять же через update-rc.d Поясню: когда сервер загружается, в фоновом режиме запускается экран, внутри которого работает rtorrent. Немного подправим конфиг:

nano /home/username/.

rtorrent.rc



directory = /data/downloads/ schedule = watch_directory,5,5,load_start=/data/torrents/*.

torrent

Теперь наш торрент-клиент сохраняет загрузки в папке /data/downloads/ и каждые 5 секунд проверяет папку /data/torrents/ на наличие новых торрент-файлов.



Настройка apache, ftp, nfs

Для работы с веб-клиентами mpd вам понадобится веб-сервер.

Я выбираю апач.

Для работы с веб-клиентами плеера нам также понадобится php. Также nfs для монтирования сетевых дисков и ftp для простого доступа к файлам.

Здесь все очень просто:

apt-get install apache2 libapache2-mod-php5 php5-cli php5-common php5-cgi proftpd nfs-kernel-server

Отлично, все пакеты установлены, демоны запускаются автоматически.

В конфиге proftpd нужно добавить одну строку, чтобы пользователи локальной системы могли входить в систему как пользователи ftp:

nano /etc/proftpd/proftpd.conf



DefaultRoot ~

При входе на ftp-сервер пользователь попадает в домашний каталог.

Для сервера nfs я расшарил одну папку /data:

nano /etc/exports



/data 192.168.1.1/24(rw,no_root_squash,async)

Это означает, что пользователи локальной сети имеют разрешения на чтение и запись в папку /data на сервере.

Перезапуск демонов:

/etc/init.d/proftpd restart /etc/init.d/nfs-kernel-server restart

Вот и все, NetFileSystem и FTP готовы к работе.



Настройка клиентских машин

Для удобной работы с nfs я сделал запись в fstab:

sudo nano /etc/fstab



192.168.1.2:/data /server/data nfs rw,hard,intr 0 0

После этого достаточно написать

sudo mkdir /server/data sudo mount /server/data

И мы увидим папку из файловой системы сервера!

Настройка mpd+laxxplayer+icecast

Mpd — отличный проигрыватель демонов, для которого существует множество графических интерфейсов.

Например, Qt, GTK+ и веб-интерфейс.

Давайте сосредоточимся на веб-интерфейсе, потому что.

Мне это показался лучшим вариантом.

Давайте установим пакеты:

apt-get install mpd icecast2

Для установки клиента для плеера необходимо скачать исходники с сайта домашний сайт и распакуйте их в /var/www У нас уже работает Apache, поэтому набрав адрес 192.168.1.2 мы увидим сам плеер.

Немного из настройки mpd:

nano /etc/mpd.conf



music_directory "/mnt"

Я сообщаю проигрывателю, что мои музыкальные файлы находятся в каталоге /mnt сервера.

Теперь самое интересное! Я решил смонтировать каталог NFS ноутбука на сервере, содержащий музыку.

Установив на ноут nfs-kernel-server и расшарив папку /home/romantik/music, я смонтировал его на сервере в директорию /mnt/music Теперь, обновив базу данных mpd

mpd --create-db

мы увидим в нем музыку с ноутбука :) Во время воспроизведения байты данных в реальном времени передаются по локальной сети.

Удобнее как быть не может, теперь я практически независим от проводов :) И немного об ледокасте.

В настройках mpd, раскомментировав блок Shoutcast, мы получаем трансляцию потока в сеть напрямую от плеера.

Он доступен по адресу 192.168.1.2:8000.

Заключение

Для меня это был серьёзный шаг в мир полнофункциональной консоли.

Скажу вам, я чувствую себя комфортно только от проведенных процедур:) Что бы вы порекомендовали реализовать на сервере? Теги: #Настройка Linux #Debian #proftpd #mpd #icecast #сервер дома #relaxxplayer

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.