Домашний сервер Mac Mini на Debian за тридцать минут для чайников

Читал много статей по организации домашнего сервера, решил добавить немного пользы.
Недавно разработал для себя универсальный алгоритм по созданию сидбокса с самбой и фтп для домашней сети и решил поделиться с окружающими. Организация такого сервера занимает максимум час, и в принципе подходит под любое железо.
Единственным условием для успешной реализации этого решения: проводной интернет до сервера.
Итак, начнём с того, что мне в руки попал Mac mini PowerPC G4, с гигабайтом памяти и сотней гигабайт на жёстком диске. Хорошая машинка для такого дела — работает бесшумно, электричества жрёт мало, места практически не занимает, имеет встроенный привод для DVD-дисков.
Хотя такая реализация подойдёт практически для любого другого железа.
Домашний сервер Mac Mini на Debian за тридцать минут для чайников
Для начала нужно скачать с официального репозитория 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

Домашний сервер Mac Mini на Debian за тридцать минут для чайников

Для Windows существует Transmisson-remote-gui, его можно легко найти в гугле. После его установки нужно ввести адрес вашего сервера, имя пользователя и пароль, который вы указали в settings.json и выставить ассоциации торрент-файлов с новым клиентом. Все закачки будут автоматически добавляться в сидбокс.

Домашний сервер Mac Mini на Debian за тридцать минут для чайников

Установка 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