Читал много статей по организации домашнего сервера, решил добавить немного пользы.
Недавно разработал для себя универсальный алгоритм по созданию сидбокса с самбой и фтп для домашней сети и решил поделиться с окружающими. Организация такого сервера занимает максимум час, и в принципе подходит под любое железо.
Единственным условием для успешной реализации этого решения: проводной интернет до сервера.
Итак, начнём с того, что мне в руки попал Mac mini PowerPC G4, с гигабайтом памяти и сотней гигабайт на жёстком диске. Хорошая машинка для такого дела — работает бесшумно, электричества жрёт мало, места практически не занимает, имеет встроенный привод для DVD-дисков.
Хотя такая реализация подойдёт практически для любого другого железа.
Для начала нужно скачать с официального репозитория Debian net installer для вашей платформы и записать его на диск. В моём случае это powerpc.
После это выполняем стандартную установку операционки с некоторыми уточнениями: нужно установить только базовую систему и SSH-сервер. Остальное будем ставить из консоли. Ещё одно уточнение по разметке диска: обычно я всегда выбираю «Использовать весь диск» и не заморачиваюсь на тему LVM и ручного разбиения, потому что все закачки торрентов будут храниться на самом большом разделе home, а остальное умещается в разделы по умолчанию.
Итак, система установлена, сеть, как правило, цепляется по DHCP (делаю на роутере резервацию айпи для мак-адреса сетевухи машины).
Ну и собственно сама настройка:
Для управления сервером через web-интерфейс устанавливаю Webmin.
Добавим нужные библиотеки, если их нету в системе:
apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions
Добавляем репозиторий Webmin в apt нашего сервера:
nano /etc/apt/sources.list
deb sarge contrib deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
Для установки Webmin с помощью apt нужно добавить SSL-ключ для доступа в репозиторий Webmin:
cd /root wget http://www.webmin.com/jcameron-key.asc apt-key add jcameron-key.asc
Устанавливаем Webmin, который будет доступен по ссылке https:// айпи_вашего_сервера:10000 (ругнётся на сертификат, игнорируем ошибку)
apt-get update apt-get install webmin
Установка торрент-клиента
Далее необходимо настроить наш торрент-клиент. Самым простым и оптимальным решением является Transmission, т.к. настраивается очень просто и быстро и имеет клиент для Windows. Его и установим:
apt-get update apt-get install transmission-daemon transmission
Для настройки Transmission использует файл конфигурации settings.jsonn, расположенный в /var/lib/transmission-daemon/info. Перед его редактированием нужно остановить Transmission, иначе изменения, внесённые в файл при работающей программе будут заменены на дефаултные.
/etc/init.d/transmission-daemon stop
Обычно я меняю только следующие параметры:
download-dir: /home/ваша_папка_для_скаченных_торрентов rpc-password: ваш_пароль_пользователя rpc-username: ваше_имя_пользователя rpc-whitelist-enabled: устанавливаю false
После этого нужно сохранить файл и запустить Transmission:
/etc/init.d/transmission-daemon start
Не забудьте создать в директории /home/ ту папку, которую вы указали в файле настроек Transmission и дать ей соответствующие права:
mkdir /home/ваша_папка_для_скаченных_торрентов chmod 777 /home/ваша_папка_для_скаченных_торрентов
Теперь можно проверить, как работает Transmission и уже ставить что нибудь на закачку. Для этого достаточно ввести в браузере адрес:
http:// адрес_вашего_сервера:9091
Для Windows существует Transmisson-remote-gui, его можно легко найти в гугле. После его установки нужно ввести адрес вашего сервера, имя пользователя и пароль, который вы указали в settings.json и выставить ассоциации торрент-файлов с новым клиентом. Все закачки будут автоматически добавляться в сидбокс.
Установка Samba
Для доступа к этим файлам из сети Windows потребуется установить и сконфигурировать Samba. Я не заморачиваюсь с настройками, так как сервер в домашней сети и публикации его во внешний мир нет. Поэтому алгоритм установки будет таким:
Устанавливаем Samba сервер с возможностью иметь доступ к файлам на других компьютерах:
aptitude install samba smbclient smbfs
Создаю резервную копию файла настроек Samba, как говорится, на всякий пожарный:
cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
Теперь редактируем файл настроек и добавляем в него следующие параметры:
nano /etc/samba/smb.conf
[global] workgroup = ИМЯ_ВАШЕЙ_РАБОЧЕЙ_ГРУППЫ_ИЛИ_ДОМЕНА netbios name = ИМЯ_СЕРВЕРА server string = ЛЮБОЕ_ОПИСАНИЕ_СЕРВЕРА security = share browseable = yes [share] path = /home/ваша_папка_для_скаченных_торрентов comment = mediafiles readonly = No guest ok = Yes
Сохраняем файл и перезапускаем Samba:
/etc/init.d/samba restart
Теперь в эту папку можно зайти, указав в адресной строке проводника Windwos \\айпи_вашего_сервера
Настройка ФТП
Если есть желание настроить внешний доступ по ФТП, то делается это так же просто, как и всё предыдущее.
Заходим на Webmin: https:// айпи_вашего_сервера:10000 (ругнётся на сертификат, игнорируем ошибку).
Переходим в раздел Webmin -> Webmin settings, устанавливаем русский язык (в формате UTF-8). Обновляем страницу.
Переходим в раздел Система -> Менеджер ПО, ставим галочку в «Пакеты из APT», указываем в строке поиска proftpd, жмём Искать в APT. После этого Webmin установит нам фтп-сервер ProFTPD. Обновляем страницу и идём в Службы -> Сервер ProFTP -> Файлы и каталоги, и указываем Ограничить пользователя в каталогах -> Домашний каталог. Сохраняем изменения.
Идём в Система -> Пользователи и группы. Выбираем того пользователя, которого вы указали как нового, при установке Debian Linux на ваш сервер, указываем ему домашний каталог как /home/ваша_папка_для_скаченных_торрентов. Сохраняем настройки.
Для верности перезагружаем наш свежеиспечённый сервер:
reboot
Не путать с halt — это команда выключения сервера!
Собственно на этом настройка домашнего сервера завершена.
Приятного пользования!
Список литературы:
Установка Webmin на Debian
Как установить Transmission в Debian/Ubuntu
Установка и настройка Samba в Debian GNU/Linux и Ubuntu Linux