Идеи для домашнего сервера. Мифы и реальность, а также с чего начать

Всем привет! Идея собрать свой домашний сервер родилась у меня достаточно давно, но в силу разных причин постоянно откладывалась. Наконец, я решил, что пора действовать.

Материала и описания всего процесса будет достаточно много, поэтому сделаю несколько статей, в каждой из которых я постараюсь подробно описать все шаги, чтобы в дальнейшем с этим смог справится даже новичок. Не пропустите!

Вообщем то, в этом деле я также являюсь новичком, поэтому буду разбираться во всем по ходу дела. Предстоит решить много вопросов, от выбора комплектующих и операционной системы, до решения мелких технических задач.

Что из себя представляет домашний сервер?

По своей сути, это обычный компьютер, выполняющий задачи, для которых использование своего основного компьютера нецелесообразно. Он должен работать и быть доступен по сети 24 часа в сутки 7 дней в неделю, при этом быть холодным, тихим и достаточно экономичным в плане энергопотребления.

Задачи домашнего сервера

  • Хранение и резервное копирование важных файлов;
  • Организация доступа к файлам по локальной сети и через интернет;
  • Организация медиа-сервера для просмотра фильмов;
  • Организация видеонаблюдения.

Как видите, задачи самые разнообразные, а возможностей для их реализации еще больше. И это далеко не полный список задач, которые можно поручить серверу. Все ограничено лишь вашей фантазией и знаниями, а ваши знания ограничены лишь вашим желанием. 😉

На свою идею я планирую потратить около 6000 рублей. Посмотрим, что из этого получится, но, согласитесь, это вполне доступная сумма для столь обширного списка возможностей. Самое главное - мы получаем отличную возможность для подробного изучения сетевых технологий и программ. Как ни крути, а компьютерщик должен всегда идти в ногу со временем…. Будем учиться вместе!

На данный момент у меня имеются: wi-fi роутер для раздачи интернета, компьютер (интернет подключен через wi-fi адаптер) и ноутбук. Теперь в эту сеть будет добавлен домашний сервер.

Схема сети должна выглядеть примерно так:

Выбираем домашний сервер

Поискав на просторах интернета подходящий готовый вариант, я понял, что в столь ограниченном бюджете можно рассчитывать только на самостоятельную сборку. Все готовые платформы либо дороже, либо слишком ограничены по производительности и функционалу.

Например, можно использовать готовые платформы для сборки ПК. Они представляют из себя плату со встроенным процессором, которые требуют лишь установки в них оперативной памяти и жесткого диска. Вполне удачный вариант, если хочется иметь супер компактный ПК в красивой упаковке. На мой взгляд, производительность таких систем при их цене, оставляет желать лучшего.

Да, кстати, одним из хороших вариантов организации домашнего сервера может служить покупка готового NAS (сетевого хранилища). NAS (Network Attached Storage) - это готовые устройства (по сути компьютер) для подключения к сети, содержащие один или несколько жестких дисков. Содержат встроенный веб-интерфейс и огромное количество настроек. В их распоряжении есть встроенные приложения для организации фотогалерей, почтовых серверов, медиа-сервера, torrent-клиенты и т.д. Все это уже готово, как говориться, «из кробки». Нужно лишь подключить питание, зайти на устройство по сети и сделать необходимые настройки. Также из достоинств - тишина и низкое энергопотребление.

NAS - отличный вариант для тех, кому достаточно встроенных возможностей.

Я решил, не использовать готовые решения, а собрать компьютер формата mini-itx. Так мы получим большую производительность, гибкость системы, +10 к навыку «компьютерщик». Естественно, минус в том, что нужно будет все настраивать своими руками. Хотя… не такой уж это и минус.

Выбор комплектующих

В качестве платформы для будущего сервера была выбрана материнская плата GIGABYTE GA-J1800N-D2H формата mini-ITX. Эта плата уже имеет встроенный двухъядерный процессор Intel Celeron J1800. Это не самый производительный процессор, но для домашнего сервера его будет вполне достаточно.

Неоспоримым преимуществом процессора является низкое энергопотребление и низкое тепловыделение, а значит он мало греется, и для его охлаждения достаточно пассивной системы охлаждения. Отсутствие вентиляторов делает этот ПК практически бесшумным.

Плата имеет встроенные разъемы для мыши и клавиатуры, видео-разъемы VGA и HDMI для подключения монитора или телевизора, 4 разъема USB +1 USB 3.0, гигабитный сетевой интерфейс и аудио входы/выходы. Кроме того, на плате имеется разъем PCI-E x1 для подключения плат расширения.

Одним из ключевых моментов выбора стала её стоимость - приблизительно 2300 руб. За эти деньги мы получаем тихую и универсальную плату со встроенным процессором.

Материнская плата имеет разъемы для оперативной памяти формата SO-DIMM с пониженным энергопотреблением, поэтому в качестве модулей ОЗУ я выбрал CRUCIAL CT25664BF1339 DDR3L - 2 Гб.

Решающим фактором стала её цена в 850 рублей.

Корпус для нового ПК также формата Mini-ITX. Выбирал из самых простых вариантов до 2000 руб. Остановился на корпусе FORMULA FW-107D.

В корпусе уже установлен блок питания на 60 Вт, что вполне достаточно для выбранной материнской платы.

В качестве жесткого диска первоначально буду использовать уже имеющийся у меня HDD 2,5″ на 320 Гб от внешнего HDD. Все для экономии бюджета. Если в дальнейшем по каким-либо причинам он меня не устроит, заменю на другой, но для настроек и первых экспериментов его вполне достаточно.

Собственно, это все комплектующие, необходимые для сборки. Можно отправляться в магазин за покупками и приступать к реализации идеи, но об этом я буду рассказывать в следующей части. Сборка домашнего сервера. Часть 2.

Напишите в комментариях, интересно ли вам будет следить за этим экспериментом? Пишите дополнения или задавайте вопросы, а я постараюсь ответить на них. Пока!

Когда возможности штатного роутера с «openwrt» на борту были окончательно истощены и загрузка процессора начала влиять на стабильность работы сети, было решено разгрузить трудягу переносом функционала на домашний сервер. В виду того, что железка будет на несколько порядков мощнее, было решено снабдить ее кучей дополнительных возможностей, которые старичку даже и не снились. Корпус также было решено делать самостоятельно.

Список задач, которые выполняет домашний сервер:

  1. Сервер виртуализации на базе virtualbox c WebGUI;
  2. Межсетевой экран;
  3. Торрент-качалка на базе transmission и файловый сервер;
  4. Сервер телефонии на базе Asterisk;
  5. TFTP сервер для загрузки по сети и настройки различного оборудования;
  6. Частное облако для хранения файлов на базе «owncloud»;
  7. HTTP прокси Ace Stream для просмотра TorrentTV;
  8. Хостинг для домашнего сайта c доступом по https;
Фото для привлечения внимания:

Глава 1. Создание корпуса, сборка

Основные функциональные возможности описаны, приступаем к выбору железа для всего этого хозяйства.

После долгих размышлений и пары тестов были куплены следующие комплектующие:

  1. Материнская плата msi j1800i формата Mini-ITX;
  2. 2 планки памяти DDR3 по 2 Гб;
  3. Блок питания на 230 Вт;
  4. 2 жестких диска 2.5’ на 320 Гб, были в наличии;
  5. Роутер tp-link 1043ND был в наличии (Было жалко выкидывать);

После оценки габаритов пришло время сделать для них новый дом, покупку корпуса не рассматривал, так как то, что хочется, у меня в городе не купить, да и интересно сделать самому.

К сожалению, фотографий процесса создания корпуса нет, но вкратце опишу процесс. После окончания создания чертежа он был перенесен на фанеру толщиной 6 мм и вырезан с помощью резака собранного на коленке из старого трансформатора и нихромовой нити. Как сделать подобный самостоятельно, можно посмотреть .

В итоге получилось следующие

Глава II. Настройка

С железной частью разобрались, теперь пора приступить к настройке функционала. В качестве ОС была выбрана 64 разрядная «Debian 7 netinstall», в процессе установки диски были объединены в программный RAID0. Предугадывая холивар, на тему отказоустойчивости все важные данные лежат в облаках, так что при отказе диска развернуть систему из резервной копии можно довольно быстро.

Система установлена, приступаем к реализации вышеуказанного плана.

2.1 Сервер виртуализации на базе virtualbox c WebGUI

Для максимального использования ресурсов железа потребуется установить сервер виртуализации, в данном случае применяется программный пакет virtualbox.

Установка virtualbox + phpvirtualbox

Устанавливаем сервер виртуализации virtualbox, на наш сервер, для начала добавим репозитарий и ключи к нему:

Deb http://download.virtualbox.org/virtualbox/debian wheezy contrib non-free wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add –

Обновляем репозитарий и запускаем установку virtualbox:

Aptitude update aptitude install virtualbox-4.3
Устанавливаем расширение для virtualbox:

Wget http://download.virtualbox.org/virtualbox/4.3.14/Oracle_VM_VirtualBox_Extension_Pack-4.3.14.vbox-extpack VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.12.vbox-extpack
Перезагружаем сервис vboxweb-service командами:

/etc/init.d/vboxweb-service stop /etc/init.d/vboxweb-service start
Для работы Virtualbox необходимо создать пользователя, под которым будут работать виртуальные машины.

Добавляем пользователя vbox:

Adduser vbox

Установка phpvirtualbox

Для начала установим apache и php:

Apt-get install apache php
Скачиваем phpvirtualbox:

Wget -c -t0 http://optimate.dl.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.3-2.zip
Распаковываем содержимое архива phpvirtualbox-4.3-2.zip в папку веб сервера:

Unzip phpvirtualbox-4.3-2.zip
Перегружаем веб сервер:

/etc/init.d/apache2 restart
Переходим в директорию phpvirtualbox в папке веб сервера и создаем конфигурационный файл:

Mv config.php-example config.php
Вносим некоторые правки:

Nano config.php var $username = "vbox"; var $password = "Пароль при создании учетной записи vbox"; var $location = "http://IP Адрес данной машины:18083/"; var $consoleHost = ‘IP Адрес данной машины’;
Редактируем конфигурационный фаил virtualbox:

Echo "VBOXWEB_USER=vbox VBOXWEB_HOST= IP Адрес данной машины VBOXWEB_PORT=18083 " > /etc/default/virtualbox
Перезапустим virtualbox:

/etc/init.d/vboxweb-service restart
Открываем в браузере адрес нашего сервера:

Http://IP Адрес данной машины /phpvirtualbox/
логин: admin
пароль: admin
Веб интерфейс практически ничем не отличается от настольной версии Virtualbox.

2.2 Межсетевой экран

Приступаем к проектированию домашней сети, в общей концепции сеть выглядит следующим образом:

Придется немного переконфигурировать роутер. В настройках «openwrt» Заводим необходимое количество VLAN и распределяем по ним порты, так как на данной материнской плате имеется лишь один ethernet порт, то делаем его транковым и все VLAN заводим с тегами на него.

Перенастраиваем сетевые адаптеры на нашем сервере, перед этим необходимо поставить пакет для поддержки vlan: apt-get install vlan .

Настройка сети на сервере

# The loopback network interface auto lo iface lo inet loopback #NATIVE VLAN NETWORK auto eth0.1 iface eth0.1 inet static address 192.168.1.3 netmask 255.255.255.0 gateway 192.168.1.1 vlan_raw_device eth0 up ifconfig eth0.1 up #PROVIDER1 VLAN auto eth0.2 iface eth0.2 inet manual vlan_raw_device eth0 up ifconfig eth0.2 up #PROVIDER2 VLAN auto eth0.3 iface eth0.3 inet manual vlan_raw_device eth0 up ifconfig eth0.3 up #SIP VLAN auto eth0.4 iface eth0.4 inet manual vlan_raw_device eth0 up ifconfig eth0.4 up # GUEST NETWORK auto eth0.10 iface eth0.10 inet manual vlan_raw_device eth0 up ifconfig eth0.10 up


В качестве межсетевого экрана я выбрал реализацию «cisco ASA» на виртуальной машине. Не буду спорить: решение странное, невероятно костыльное, но обусловлено необходимостью соединения с рабочими сетями нескольких компаний по «IPsec site to site vpn» c аналогичными железками, но уже в нормальном исполнении.

Сразу же хотелось заметить работает стабильно уже 4 месяца, проблем нет линк стабильный, скорость соединения при данной реализации получилась ~ 20 Мбит/сек, что вполне неплохо, учитывая то, что объем передаваемых данных невелик. В моей реализации данная виртуальная машина управляет всеми входящими и исходящими соединениями во всех VLAN домашней сети, итоговая загрузка системы не превышает 12%.

Скачиваем образ виртуальной машины «Cisco ASA 8.4 for vmware», ссылки давать не буду в виду того что первая ссылка в поисковике вероятнее всего приведет Вас на него. Загружаем на наш сервер, и импортируем нашу машину в virtualbox. Попутно меняем все адаптеры на «PCnet-PCI II» и после импорта распределяем из в режиме моста по созданным VLAN. Также в настройках последовательного порта создаем pipe /tmp/tts0 по средствам которого будем проводить первоначальную настройку нашей недоcisco .

Дальнейшая настройка довольно специфична и зависит от ваших задач, приводить конфигурационный файл ASA, на мой взгляд, бессмысленно, так как настройки интерфейсов, списков доступа, NAT, VPN и прочего лучше прочитать отдельно так, так как это тема не одной и даже не десятка статей. Опишу лишь базовые вещи, которые использую я. Во-первых маршрутизация, так как все сети заведены в нее, и она же является шлюзом по умолчанию для домашней сети, и для гостевой сети. Во-вторых, на ней развернут «anyconnect» для доступа в домашнюю сеть по VPN. Базовые настройки «Cisco ASA» можно прочитать в статье хабраюзера , остальное по необходимости можно найти в сети.

Первый провайдер является основным, в конфигурации реализован механизм переключения на второго провайдера в случае не доступности первого, чтобы второй в это время не скучал, бесплатная открытая гостевая точка доступа настроена на него. Исходя из загруженности второго канала соседи очень рады такому подарку судьбы.

2.3 Торрент-качалка на базе transmission и файловый сервер

Про описание настройки данного функционала разбито не малое количество клавиатур, но все же опишу настройку тут для кучи, так сказать.

Конечно, конфигурация Samba у Вас будет своя, но приведу для примера свою.

Для начала установим Samba сервер командой:

Apt-get install samba
И отредактируем конфигурационный файл /etc/samba/smb.conf:

Workgroup = WORKGROUP netbios name = NAS server string = NAS File Server log level = 1 security = share unix charset = UTF-8 dos charset = cp1251 store dos attributes = yes max log size = 10 comment = NAS SERVER FOLDER path = /home/NAS create mask = 0777 directory mask = 0777 public = yes writable = yes printable = no guest ok = yes read only = no comment = NAS SHARE FOLDER path = /home/NAS/Share create mask = 0777 directory mask = 0777 public = yes writable = yes printable = no guest ok = yes read only = no comment = OWNCLOUD FOLDER path = /home/NAS/owncloud/ create mask = 0777 directory mask = 0777 public = yes writable = yes printable = no guest ok = yes read only = no comment = TORRENTS FOLDER path = /home/NAS/torrents create mask = 0777 directory mask = 0777 public = yes writable = yes printable = no guest ok = yes read only = no comment = VIRTUAL MACHINES FOLDER path = /home/NAS/VM create mask = 0777 directory mask = 0777 public = yes writable = yes printable = no guest ok = yes read only = no comment = MEDIA FOLDER path = /home/NAS/media create mask = 0777 directory mask = 0777 public = yes writable = yes printable = no guest ok = yes read only = no


После настройки samba можно приступить к установке рабочей лошадки по загрузке торрентов.

Настало время заняться Transmission

Устанавливаем:
apt-get install transmission-daemon
Настраиваем transmission-daemon /etc/transmission-daemon/settings.json:
{ "alt-speed-down": 50, "alt-speed-enabled": false, "alt-speed-time-begin": 540, "alt-speed-time-day": 127, "alt-speed-time-enabled": false, "alt-speed-time-end": 1020, "alt-speed-up": 50, "bind-address-ipv4": "0.0.0.0", "bind-address-ipv6": "::", "blocklist-enabled": true, "blocklist-url": "", "cache-size-mb": 2, "dht-enabled": true, "download-dir": "/home/NAS/torrents/Downloads", "download-limit": 100, "download-limit-enabled": 0, "encryption": 1, "idle-seeding-limit": 30, "idle-seeding-limit-enabled": false, "incomplete-dir": "/home/NAS/torrents/Downloading", "incomplete-dir-enabled": false, "lazy-bitfield-enabled": true, "lpd-enabled": true, "max-peers-global": 200, "message-level": 2, "open-file-limit": 32, "peer-limit-global": 200, "peer-limit-per-torrent": 60, "peer-port": 11523, "peer-port-random-high": 65535, "peer-port-random-low": 49152, "peer-port-random-on-start": false, "peer-socket-tos": 0, "pex-enabled": true, "port-forwarding-enabled": true, "preallocation": 2, "ratio-limit": 1, "ratio-limit-enabled": true, "rename-partial-files": true, "rpc-authentication-required": true, "rpc-bind-address": "0.0.0.0", "rpc-enabled": true, "rpc-password": "**********", "rpc-port": 9091, "rpc-username": "transmission", "rpc-whitelist": "127.0.0.1,192.168.0.100", "rpc-whitelist-enabled": false, "script-torrent-done-enabled": false, "script-torrent-done-filename": "", "speed-limit-down": 900, "speed-limit-down-enabled": true, "speed-limit-up": 100, "speed-limit-up-enabled": false, "start-added-torrents": true, "trash-original-torrent-files": true, "umask": 0, "upload-limit": 100, "upload-limit-enabled": 0, "upload-slots-per-torrent": 14 }

2.4 Сервер телефонии на базе Asterisk + FreePBX

Звонки - дело не дешевое, особенно когда по работе часто и в разные страны, при том что имеется vpn-туннели до работы - не развернуть сервер телефонии, было бы мягко сказать, странно. Исходя из выше указанной схемы поднимаем новую виртуальную машину и заводим ее сетевые интерфейсы в нужные нам VLAN. Саму установку asterisk + freepbx описывать не буду так как, до меня с этой задачей прекрасно справился и описал все в публикации .

После установки заводим необходимые транки в интерфейсе FreePBX, настраиваем dial plan, создаем пользователя и радуемся жизни. По чудесному истечению обстоятельств мой основной провайдер предоставляет городской номер по sip, что собственно и стало основной причиной развертывания данного сервера.

Мобильный телефон, когда я дома, всегда подключен к Wi-Fi, по этому он и стал моим основным sip телефоном. При недоступности сервер делает переадресацию на мой мобильный телефон через городскую линию. После подключения Wi-Fi антенны расположенной на крыше дома я без проблем могу сходить за хлебом, не пропустив важный звонок и не заплатив при том ни за интернет, ни за минуты при переадресации.

В ближайших планах прикупить несколько USB модемов, поддерживающих функцию передачи голоса и настроить выход в мобильные сети. Экономить так по полной.

2.5 TFTP сервер для загрузки по сети и настройки различного оборудования;

Если честно давно забыл про эту очень удобную функцию, раньше для меня это было избыточным, а потом просто вылетело из головы. Как-то после очередного просмотра моего любимого Хабра наткнулся на публикацию , написанную , с описанием всего этого. Лучше, чем он, я описать, наверно, не смогу, так что оставлю эту часть за ним. На базе данной статьи были собраны необходимые мне дистрибьютивы и я забыл, что такое загрузочная флешка.

2.6 Частное облако для хранения файлов на базе «owncloud»

После того, как на телефоне появилось несколько клиентов для облачных сервисов, начинают невольно появляется мысли, как бы все это хозяйство объединить. В итоге было решено построить свое облако, завести в него директории для синхронизации с другими облаками и радоваться жизни.

В качестве платформы был выбран «owncloud», а в качестве внешних облачных провайдеров я использую box.com, dropbox, google drive, yandex disk, onedrive. Список обширный, но идея проста. Для начала ставим клиенты на машину и натравливаем их на синхронизацию в предварительно созданную под каждое облако директорию, затем поверх всего этого хозяйства ставим «owncloud».

Руководство по установке клиентов переписывать смысла нет, их можно найти на профильных сайтах. А все что касается установки «owncloud» описано в публикации . Нам же остается продумать что и куда синхронизировать, чтобы спать спокойно, имея у себя сервер с RAID 0.

2.7 HTTP прокси Ace Stream для просмотра TorrentTV

После очередного отключения кабельного телевидения за задержку платежа были начаты поиски альтернатив, которые очень быстро нашлись - TorrentTV. Единственный минус заключается в том, что для просмотра необходим клиент acestrem.

Держать включенным 750 ваттного монстра для раздачи телевидения на непосредственно телевизор довольно расточительно. После недолгих поисков было найдено решение - прокси, преобразующий torrent поток в http. Проблема решилась довольно быстро, теперь за 60 рублей в месяц можно смотреть гору каналов.

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

Установка

Для начала установим vlc:

Apt-get install vlc
Скачаем aceproxy и acestream и поместим их в одну директорию:

Wget https://github.com/ValdikSS/aceproxy/archive/master.zip wget http://dl.acestream.org/debian/7/acestream_3.0.5.1_debian_7.4_x86_64.tar.gz
Создадим рядом несколько директорий:

Mkdir logs mkdir scripts
В директории./scripts создадим несколько скриптов:

Cd ./scripts nano aceproxy.sh #!/bin/sh python ./aceproxy/acehttp.py > ./logs/acehttp.log 2>&1 & nano acestream.sh #!/bin/sh ./acestream/acestreamengine --lib-path ./acestream --client-console > ./logs/acestream.log 2>&1 & nano vlc.sh #!/bin/sh vlc -I telnet --clock-jitter -1 --network-caching -1 --sout-mux-caching 2000 --telnet-password admin > ./logs/acevlc.log 2>&1 &

Перейдем в директорию выше и создадим скрипты для запуска и остановки трансляции:
cd ../ nano start.sh #!/bin/bash /bin/kill -9 `/bin/ps ax |/bin/grep acestream |/usr/bin/awk {"print $1"}` ./scripts/acestream.sh echo "Start acestream" sleep 1 /bin/kill -9 `/bin/ps ax |/bin/grep vlc |/usr/bin/awk {"print $1"}` ./scripts/vlc.sh echo "Start VLC" sleep 1 /bin/kill -9 `/bin/ps ax |/bin/grep acehttp |/usr/bin/awk {"print $1"}` ./scripts/aceproxy.sh echo "Start aceproxy" nano stop.sh #!/bin/bash /bin/kill -9 `/bin/ps ax |/bin/grep acestream |/usr/bin/awk {"print $1"}` echo "Stop acestream" sleep 1 /bin/kill -9 `/bin/ps ax |/bin/grep vlc |/usr/bin/awk {"print $1"}` echo "Stop VLC" sleep 1 /bin/kill -9 `/bin/ps ax |/bin/grep acehttp |/usr/bin/awk {"print $1"}` echo "Stop aceproxy"

Отредактируем конфигурацию aceproxy согласно wiki

Практически в любой локальной компьютерной сети оказывается востребован файл-сервер . Хранилище данных необходимо и в "самопальной" сети - масштаба дома, деревни, школы, дачного посёлка. Это просто удобно, когда есть отдельное хранилище для "тяжелого" контента - HD-видеофильмов, музыки, ПО и т.д. Но фирменный файл-сервер - удовольствие не из дешевых. Изрядно сэкономить можно, превратив старый ПК в домашний файл-сервер. Для этого потребуется лишь установить специальный софт и настроить его.

Фактически, мы сделаем своими руками NAS (Network Attached Storage) - сетевую систему хранения данных, сетевое хранилище . То есть, компьютер с некоторым дисковым массивом, подключенный к локальной сети и поддерживающий работу по принятым в ней протоколам.

В нашем примере для организации NAS мы используем дистрибутив FreeNAS . FreeNAS - это свободная операционная система для сетевого хранилища . FreeNAS основан на FreeBSD с использованием Samba и PHP, поддерживает software RAID. К нему можно получить доступ по протоколам CIFS (SMB), Apple Mac AFP, FTP, SSH, iSCSI и NFS. Для работы FreeNAS необходим компьютер с процессором i386 или x86-64, с минимум 128 Mб оперативной памяти и 500 Mб дискового пространства. Также требуется возможность загрузки с привода оптических дисков.

Мы рассмотрим установку и настройку 7-й ветки FreeNAS. Поскольку FreeNAS базируется на FreeBSD, список поддерживаемого оборудования для них совпадает. Как показывает практика, для нормальной работы системы требуется хотя бы 512 Мб RAM. Для домашнего NAS 1-2 Гб памяти будет более чем достаточно.

Главный компонент домашнего NAS - жёсткие диски . Понятно, что при возможности стоит выбирать ёмкие HDD с большим буфером и частотой вращения 5400-5900 RPM - они не будут сильно шуметь и нагреваться при работе. Но преимущество описываемой системы как раз в том, что её можно собрать из кучи разнообразных старых винчестеров, объединив их в дисковый массив . При этом для SATA-дисков стоит выставить в BIOS режим совместимости с IDE.

FreeNAS не требует мощной системы - хватит и старого Pentium или Athlon. Если NAS-система собирается "с нуля", достаточно будет платы с чипом Intel Atom и пассивным охлаждением - такая платформа будет тихой, негреющейся и энергоэкономичной. Видеопамять также имеет смысл снизить до минимума. На время установки нам также понадобится CD-привод - потом его можно будет отключить.

Собрав систему, устанавливаем FreeNAS. Качаем ISO-образ системы, пишем его на CD, указываем в BIOS загрузку с оптического привода и перегружаемся. Загрузчик предлагает несколько вариантов запуска системы. Загружаясь в режиме по умолчанию, FreeNAS выводит основное меню.

Выбираем полный (Full) вариант установки и указываем диск, на который будем инсталлировать ОС. Для раздела с ОС желательно выделить примерно 500 Мб дискового пространства. Установка занимает всего пару минут, после чего нужно перезагрузиться . Оптический привод уже можно отключить.

Первым делом следует изменить настройки сетевого интерфейса. Выбираем в меню пункт номер два - в случае, если локальная сеть имеет адресацию, отличную от 192.168.1.0/24. Лучше всего для файл-сервера задать статический IP-адрес - не забудьте только указать адрес основного шлюза и DNS-сервера.

После того, как эти настройки будут применены, монитор и клавиатуру также можно отключить. Далее вся настройка пойдёт только через веб-интерфейс по адресу http://ip-адрес-NAS/ (его мы задали ранее). По умолчанию логин - admin, пароль - freenas.

Войдя под ними, отправляемся в раздел System > General Setup. Там меняем язык интерфейса , выставляем часы, и при необходимости - включаем синхронизацию с NTP-сервером. Сохраняемся и обновляем управляющую страницу. Не забываем поменять пароль для входа в веб-интерфейс, снова сохраняемся, выходим и логинимся заново.

Теперь нужно подключить swap-раздел. Отправляемся в секцию "Диагностика" > "Информация" > "Разделы" и смотрим там информацию о разбивке диска. Наш диск разбит на три раздела разного объёма - для ОС, данных и подкачки. Определяем путь до раздела подкачки. Имя диска в нашем примере - /dev/ad0 (оно видно сверху), по размеру (256 Мб) понятно, что для swap используется третий раздел. Путь к нему будет выглядеть как /dev/ad0s3. Во время установки нам этот путь был показан сразу после форматирования диска . Переходим по пути "Система" > "Дополнительно" > "Файл подкачки ", выбираем тип устройства и указываем путь. Сохраняемся.

Теперь следует добавить в систему диски. Проходим путем "Диски" > "Управление" и кликаем на список. Выбираем в списке требуемый диск. Включаем поддержку SMART. Если используется только один диск (на который и установлена ОС), выбираем UFS with Soft Updates. При добавлении другого, уже отформатированного диска с данными, следует указать соответствующий тип файловой системы . Нажимаем "Добавить".

Если система собрана с использованием ещё не отформатированных дисков, то переходим в раздел "Диски" > "Форматирование", выбираем нужный диск и форматируем его. Специалисты рекомендуют использовать UFS, хотя это и не обязательно.

Далее монтируем все использованные нами HDD. Для этого проходим путем "Диски" > "Точка монтирования", нажимаем плюсик, выбираем в качестве типа "диск", потом собственно накопитель, указываем номер раздела и тип файловой системы, а также вводим имя точки монтирования. Замечу, что для каждого диска они должно быть уникальным. Нажимаем кнопки "Добавить" и "Применить изменения". Базовая установка FreeNAS завершена.

Теперь откроем доступ к NAS по сети. Для этого потребуется включить службу CIFS/SMB (NetBIOS). В настройках меняем имя рабочей группы, имя NAS в сети, выставляем кодировки, включаем сервер времени и разрешаем AIO. Прочие параметры оставляем по умолчанию, после чего жмем "Сохранить и перезапустить". Далее следует добавить как минимум один сетевой ресурс: указываем имя и комментарий, а также путь до него.

Изначально все точки монтирования находятся в каталоге /mnt. Соответственно, путь до корня накопителя выглядит так: /mnt/точка_монтирования/ (в нашем случае - /mnt/data/). При настройке рекомендуется создать в корне диска несколько папок и уже их добавлять в сетевые ресурсы. Если NAS содержит несколько дисков, всех их следует "расшарить" аналогичным образом.

Теперь в сетевом окружении Windows виден созданный файл-сервер с полным доступом. Чтобы управлять файлами и папками прямиком из веб-интерфейса, применяем файл-менеджер из раздела "Дополнительно". Логин и пароль для него аналогичны таковым у пользователей FreeNAS.

SMB-ресурсы используются в локальной сети; для внешнего доступа следует включить FTP-сервер . Соответственно, на роутере нужно открыть 21-й TCP-порт, а также включить DDNS-службу (присутствует в составе FreeNAS). В параметрах службы FTP разрешаем вход только авторизованных пользователей. Сохраняем настройки.

Управление пользователями - через раздел "Доступ" > "Пользователи". Для доступа пользователя к FTP-серверу указываем в качестве основной группы ftp.

В случае с NAS для домовой сети (как в нашем случае) также стоит включить встроенный во FreeNAS Bittorrent-клиент Transmission. В его настройках указываем папку, куда будут складываться закачиваемые файлы. Затем выбираем каталог для отслеживания torrent-файлов - как только в него будет закинут torrent, Transmission автоматически добавит закачку. Ссылка на веб-интерфейс Bittorrent-клиента по умолчанию выглядит как http://ip-адрес-NAS:9091/.

Ну и в последнюю очередь настраиваем UPnP-медиасервер. Тут достаточно указать папки с медиафайлами и выбрать каталог, в котором поместится база данных этого сервиса. Также указываем подходящий профиль для совместимости с сетевыми медиаплеерами. Если нужны дополнительные настройки - кликайте по ссылке внизу страницы с параметрами.

Когда всё настроено, Windows легко определяет NAS как сетевое медиаустройство и позволяет напрямую слушать с него музыку, просматривать видео и картинки .

Вся эта процедура не единожды была описана в разных источниках в Рунете. На практике мы её применили, когда делали коллективный файл-сервер для своей домовой сети - в моём доме она объединяет более полусотни ПК. NAS мы собрали, "нашпиговав" старый десктоп винчестерами - по большей части также не новыми. Однако всё работает вполне нормально. Собранный файл-сервер мы установили в одной из квартир - там же, где стоит ADSL-модем , обслуживающий домовую сеть.

Виктор ДЕМИДОВ

Здравствуйте, мои дорогие читатели! Мы с вами много говорили о . Думаю, пришла пора поговорить о том, как создать свой сервер для сайта.

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

Забегая немного наперед, должен предупредить вас, что эта задача не одна из легких.

Что представляет собой домашний сервер?

Локальный сервер – это специализированное программное обеспечение, позволяющее управлять (создавать и размещать) персональными сайтами на домашнем оборудовании (локальном компьютере).

Локальный сервер на дому позволяет получить функционал, аналогичный стандартному онлайн , только абсолютно бесплатно.

Что делать?

Отвечу на вопрос достаточно лаконично: скачать и установить необходимый программный набор компонентов. Но прежде чем это сделать, нужно оценить свои возможности, а точнее возможности вашего ПК. Для этого вам необходимо проверить его характеристики: объем оперативной памяти, показатели процессора и т.д.

Кроме того, вам нужен:

  • Активный статистический IP-адрес (чаще всего эта услуга у провайдеров платная, но, к сожалению, без него никак)
  • Бесперебойная высокая скорость приема данных и их передачи. У вас должен быть проверенный и надежный провайдер с минимально допустимой скоростью в 10 Мбит\сек. Идеальный показатель скорости – 100 Мбит\сек.

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

Для тех, кто не ищет легких путей, и чья домашняя аппаратура отвечает высоким требованиям, в руководстве ниже я опишу пошагово, как правильно создать свой сервер.

Инструкция

Устанавливаем многопользовательскую операционную систему Unix. К примеру, Apple Mac OS X или Линукс (кстати говоря, в этом вопросе и Виндовс не так уж плох, но я бы настоятельно рекомендовал установить все-таки Unix-систему).

Скачиваем архив с программным обеспечением Apache и через командную строку выполняем установку. Пошагово описывать данный процесс, думаю, не имеет смысла, так как в сети достаточно много качественных материалов на данную тематику, как говориться гугл вам в помощь.

Заходим в настройки программы (конфигурация Apache) и прописываем в разделе listen 80: ваш айпи-адресс.

Открываем порт №80 и вуаля — пользуемся сервером дома.

Теперь, прописав в адресной строке ваш IP-адрес, компьютер должен открыть конфигуратор Апаче. Поменять корневую директорию интернет-сайта можно через httpd.conf. Ну а если в планах открыть доступ к серверу не только через IP, но и через , тогда вам потребуется поднять DNS.

Внимание ! Не забудьте о том, что теперь ваш ПК (сервер) нельзя выключать. Если это сделать, ваши сайты в Глобальной сети станут недоступными для пользователей.

Я думаю, данного материала вполне достаточно, чтобы решить для себя: хотите ли вы по-прежнему сделать из своего ПК сервер или нет.

C уважением! Абдуллин Руслан



Просмотров