Привет. Хочу рассказать о том, как я реализовал серверное решение дома :) Прошу не судить строго, потому что.
Это моя первая публикация на Хабрахабре, и русский язык не мой родной.
Так что любые поправки приветствуются.
Мы поговорим о: Старый компьютер на базе VIA Ezra с 256 мегабайтами оперативной памяти, под управлением Debian Etch, выполняющий функции музыкального плеера, торрент-клиента, web+ftp+nfs-сервера.
Дополнительное оборудование: 2 ноутбука (Dell, Asus) на базе Ubuntu, Fedora и Wi-Fi роутер/DSL модем D-link DSL-2640u.
Один мой друг подарил мне на Новый год вот такое творение инженеров прошлого века:
Было решено, что тазик не должен простаивать зря.
Debian, потому что дистрибутив стабилен и прост в настройке/использовании.
Процесс установки ОС описывать не буду — задача понятна, да и помощи в Интернете по этому поводу предостаточно.
Сразу перейду к настройке.
Настройки
Т.к.
у меня ноуты подключены по Wi-Fi, а сервер я подключал по витой паре - все компы в локальной сети.
Первым делом я установил ssh и выключил монитор, поставив машину в укромное место, чтобы меня не беспокоили.
Необходимо пробросить порты на роутере для доступа к серверу извне.
Я зарезервировал MAC-адреса по DHCP, и мой сервер всегда будет иметь локальный адрес 192.168.1.2.
Скриншот из админки роутера:
Вы можете видеть, что я открыл порты для Интернета, 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
-
Качество И Простота Стали Еще Лучше
19 Oct, 24 -
Расширенные Возможности Playstation 2
19 Oct, 24 -
Заработок В Интернете: Простой Способ
19 Oct, 24 -
Мышиная Фабрика В Шэньчжэне
19 Oct, 24 -
Как Создать Хороший Квест – Полезные Советы
19 Oct, 24