0

Домашний сервер на линукс

Чтобы создать терминальный, файловый (FTP) или почтовый сервер на Linux, надо уметь работать в этой операционной системе. Иначе разобраться будет сложно. ОС не нужен мощный компьютер. Потому что она не расходует лишние ресурсы на графическое оформление. Дистрибутивы Линукса можно развернуть даже на старом ПК. Поэтому для создания различных серверов часто используют Linux или Ubuntu Server.

Об этом написано много различной литературы. Некоторые книги о Линуксе насчитывают тысячу страниц. Работать придётся через терминал и все команды вводить вручную. Но всё же вы сможете сделать небольшой Linux-сервер своими руками, который будет включать файловое хранилище, Web-сервисы и почтовый протокол.

Установка и настройка Ubuntu Server

Ubuntu Server создана на базе операционной системы Linux. Для её работы не нужен современный процессор, хорошая видеокарта или большой объём оперативной памяти. С Линукс можно развернуть сервер даже на старом ноутбуке. И в нём будут все нужные компоненты: почта, FTP, Web.

Скачать образ диска с Linux можно с сайта Ubuntu.ru. Выбирайте любую версию с Server (не Desktop!). Загрузка будет проходить через Torrent-клиент. Этот образ надо записать на болванку или флешку (с помощью LiveUSB). Также можно воспользоваться виртуальным приводом.

У Ubuntu упрощённый интерфейс. В нём нет никаких графических излишеств. Эта ОС прекрасно подходит, чтобы сделать Linux-сервер своими руками. С ней ресурсы компьютера будут использоваться для нужд домена. Ведь ей для работы нужно совсем немного.

Её установка проходит так:

  • Выберите язык и регион, в котором проживаете.
  • Придумайте имя администратора. Оно используется для управления сервером.
  • Также задайте имя пользователя в поле «Username for your account». Под этим аккаунтом вы будете общаться с техподдержкой Ubuntu.

Указываем имя пользователя в Ubuntu

  • Введите пароль. Подтвердите его.

Вводим пароль учетной записи

  • Укажите домен, если он есть. На нём будут находиться все сервисы: файловый (FTP), почтовый, хостинг для сайтов и так далее.
  • Подождите, пока установится система.
  • После этого она предложит дополнительные компоненты.

Вот список того, что необходимо для сервера Linux и его полноценной работы:

  • Open SSh. Используется для удалённого администрирования. Пригодится, если вы решите управлять сервисом с другого компьютера. Тогда на ПК с Линуксом можно будет отключить монитор и видеоадаптер.
  • LAMP. Комплекс утилит Linux, который включает Apache (Web-сервер). MySQL (базы данных) и PHP (язык программирования для CMS). Эти компоненты нужны для создания управляющего интерфейса.

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

  • Samba file server. Позволяет настроить обмен файлами между компьютерами. Если вам нужен FTP-сервер, выберите этот пункт.
  • Virtual Machine host. Устанавливайте, если собираетесь пользоваться возможностями виртуализации.
  • Print server. Сетевые принтеры.
  • DNS server. Система доменных имён. С ней можно распознать IP-адрес по имени компьютера и наоборот.
  • Mail server. Почтовый сервер.
  • PostgreSQL database. Объектно-реляционные базы данных.

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

Изначально вам надо будет проверить наличие обновлений. Введите команду «Sudo apt-get update» или «Sudo apt-get upgrade» без кавычек. После апдейта можно заняться настройкой всех компонентов серверов: FTP, почтового, Веб.

Для Ubuntu существует псевдографический интерфейс — Midnight Commander. Это аналог оболочки Norton Commander, которая разработана для системы MS DOS. С таким интерфейсом легче работать — всё нагляднее, чем в консоли.

Запуск терминала Linux

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

  1. Откройте «Приложения».
  2. Нажмите «Стандартные».
  3. Там будет «Терминал».

Терминал в Linux

В него можно вводить команды так же, как в Ubuntu Server.

  • Чтобы установить компоненты LAMP (если их ещё нет), надо последовательно ввести команды «sudo apt-get update», «sudo apt-get install tasksel» и «sudo tasksel install lamp-server». После каждой нажимайте Enter.
  • Чтобы загрузить Open SSh, введите «sudo apt-get install openssh-server».
  • Чтобы поставить Samba file server, напишите «sudo apt-get install samba».

При установке MySQL из пакета LAMP нужно будет задать пароль администратора, для SQL.

Локальный Web-сервер

Для создания Web у сервера должен быть свой выделенный IP. Тогда после установки LAMP по этому IP-адресу будет доступна тестовая страница Apache. Это и есть будущий Веб. В дальнейшем на него можно будет поставить FTP, базы данных, почтовый протокол. Для настройки Web-сервера:

  • Установите phpMyAdmin. Для этого в терминале или в консоли введите друг за другом введите «sudo apt-get install phpmyadmin»

Команда «sudo apt-get install phpmyadmin»

  • И потом «sudo service apache2 restart».
  • Компонент загрузится. Apache будет перезагружен. Дальнейшие действия зависят от версии операционной системы.

Если у вас Ubuntu 13.1 и выше, используйте команды:

  1. sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
  2. sudo a2enconf phpmyadmin
  3. sudo /etc/init.d/apache2 reload

Вбивайте их последовательно друг за другом, после каждой нажимайте Enter.

В Ubuntu 16.04, нужны другие указания:

  1. sudo apt-get install php-mbstring php-gettext
  2. sudo phpenmod mcrypt
  3. sudo phpenmod mbstring
  4. sudo systemctl restart apache2

После их ввода и автоматического перезапуска службы по адресу http://[iP сервера]/phpmyadmin будет доступен веб-интерфейс.

  • Конфигурация и данные о ней находятся в папке сервера Apache «etc/apache2/». Apache2.conf — конфигурационный файл для дистрибутива
  • В директориях «mods-available»/«sites-available» и «mods-enabled»/«sites-enabled» находятся моды и сайты.
  • В Ports.conf расписаны прослушиваемые порты.
  • Если вы добавите после команды «sudo /etc/init.d/apache2» слово «Stop», Apache приостановит работу. Если «Start» — снова запустится. Если «Restart» — перезагрузится.
  • Чтобы самостоятельно выбирать путь для сохранения сайтов, последовательно введите в терминал «sudo a2enmod rewrite» и «sudo a2enmod userdir».
Читайте также:  Беспроводной маршрутизатор что это такое

Каждый раз после внесения каких-либо изменений надо перезапускать службу командой «Restart».

Почтовый сервер

Чтобы создать почтовый сервер на Линукс, у вас уже должен быть зарегистрирован домен. Также нужно иметь статический IP.

  • Установите компонент Postfix. Для этого наберите в консоли «sudo apt-get postfix».
  • Когда он загрузится, напишите команду «sudo /etc/initd/postfix start». Сервис начнёт работать.
  • В Postfix уже прописаны параметры, которые нужны для полноценной работы с протоколом SMTP. Но всё же не помешает небольшая настройка.
  • Откройте файл /etc/postfix/main.cf.
  • Найдите в нём значение «mydomain =». После знака «=» напишите имя домена.
  • Потом отыщите «myhostname =». И введите имя машины.
  • Теперь почтовый сервер может отправлять письма другим компьютерам, которые находятся с ним в одной сети. Чтобы он мог посылать корреспонденцию и на другие домены в интернете, в файле «main.cf» найдите строчку «inet_interfaces =». Поставьте после неё слово «all».
  • В переменной «mynetworks =» пропишите диапазон адресов всех компьютеров вашей подсети (например, 127.0.0.0/8).

Не рекомендуется открывать доступ к серверу извне. Такие «публичные» ресурсы очень часто используются для рассылки спама. Из-за этого ваш домен может оказаться в чёрном списке у других почтовых сервисов.

Если служба настроена верно, и выполнены все условия (постоянный IP-адрес, зарегистрированный домен), то Server сможет принимать и отправлять корреспонденцию. Если запись MX вашего домена ссылается на ваш хост.

Чтобы посмотреть логи ресурса, используйте команду «tail -f /var/log/mail/info». Чтобы получить от него сообщение, введите «mailq».

Файловый сервер

FTP-сервер Linux может понадобиться для обмена документами и загрузки файлов. Существует несколько версий таких ресурсов: vsFTPd, Samba, proFTPd.

Подробнее остановимся на vsFTPd. Его можно установить и запустить одной командой — «sudo apt-get install vsftpd». Дальнейшие настройки зависят от ваших предпочтений и от того, какой сервис вы хотите сделать. Для изменения параметров могут понадобиться права администратора.

Команда «sudo apt-get install vsftpd»

  1. Сразу после загрузки программы система создаёт нового пользователя и добавляет в домашнюю директорию папку, которая предназначена для работы с серверным хранилищем. Также в каталоге «etc» появляется файл «ftpusers». Туда можно добавлять пользователей, которым запрещён доступ к файлам.
  2. После установки лучше сменить директорию, в которой должны находиться файлы, в папку «var». Для этого от имени администратора напишите команду «usermod -d /var/ftp ftp && rmdir /home/ftp».
  3. Создайте новую группу пользователей. Например, «userftp». Напечатайте в консоли «addgroup userftp».
  4. Добавьте в неё новый аккаунт (для простоты назовём пользователя и группу одинаково). Используйте команду «useradd -a /var/ftp -g userftp userftp». Она заодно создаёт пользователя. Чтобы включить в группу уже существующий никнейм, вместо «useradd» напишите «usermod».
  5. Надо придумать пароль новому пользователю. Введите в терминале «passwd userftp».
  6. Напечатайте «chmod 555 /var/ftp && chown root:userftp /var/ftp», чтобы предоставить аккаунту доступ к корневой папке файлового сервера.
  7. Теперь создайте публичную директорию. Последовательно введите «mkdir /var/ftp/pub» и «chown userftp:userftp /var/ftp/pub».

Изначально FTP запускается в автономном режиме. У неё есть скрипт, который играет роль демона. При такой функциональности доступно несколько команд. Они вводятся после строки «sudo service vsftpd».

Команда «sudo service vsftpd»

  • Stop и Start. Отключение и включение.
  • Restart и Reload. Перезапуск. Нужен для применения новых настроек. Разница между командами в том, что во второй перезагрузка происходит без полного отключения.
  • Status. Информация о состоянии.

Дальнейшая настройка сервера заключается в переписывании файла конфигурации, который находится в etc/vsftpd.conf. У него простая и понятная структура. Разобраться в нём достаточно просто. Хотя для этого нужны определённые знания. Перед изменением этого файла имеет смысл сделать его резервную копию. Чтобы в случае выявления ошибок можно было всё восстановить. Введите команду «cp /etc/vsftpd.conf /etc/vsftpd_old.conf» и информация будет сохранена.

После этого можно приступать к редактированию.

  • В параметре «listen=» напишите «YES». Тогда сервер будет работать в независимом режиме.
  • «Local_enable» разрешает вход локальным пользователям.
  • «Write_enable» даёт им доступ в домашние каталоги.
  • «Anonymous_enable». Можно ограничить права анонимных пользователей, если поставить «NO». Также есть опция «no_anon_password» — анонимные входят без пароля. Её тоже можно запретить.

Если вы хотите делать публичный сервер, то после строки «listen» надо добавить несколько дополнительных параметров.

  • «Max_clients». Количество одновременных соединений.
  • «Idle_session_timeout» и «data_connection_timeout». Таймауты сессии.
  • «Ftpd_banner». Приветственное сообщение для посетителей. Можно написать, к примеру, «Hello!».

Терминальный сервер

Терминальный сервер на Linux предназначен для предприятий и офисов, все компьютеры в которых объединены в одну сеть. Очень удобно, когда с любого ПК (если у него есть доступ) организации можно зайти на терминал. Это открывает большие возможности для удалённого администрирования.

Для такой задачи подходит LTSP — Linux Terminal Server Project. Программа есть в стандартном пакете Ubuntu. Чтобы её установить:

  1. Введите команду «ltsp-server-standalone».
  2. Потом напишите «apt-get update && apt-get install ltsp-server-standalone».
  3. Подождите, пока всё загрузится и обновится.
  4. Теперь надо поставить клиентскую систему. Напечатайте «ltsp-build-client».
  5. Затем «ltsp-build-client -dist trusty -arch i386 -fat-client-desktop lubuntu-desktop».
  6. Используйте команду «debootstrap», и дистрибутив автоматически развернётся в директорию «opt/ltsp/i386».

Linux Server может работать даже на слабых ПК. Поэтому его очень часто используют для создания серверов и удалённого администрирования. На этой операционной системе делают почтовые сервисы, FTP-хранилища, терминалы.

Читайте также:  Зарегистрироваться в оне драйв

Уважаемые читатели, сегодняшняя статья любезно предоставлена нам специалистом и энтузиастом операционных систем с открытым исходным кодом (таких как Linux и Unix), Вадимом Яровым. Это – его первая статья на нашем сайте, но почему-то мне кажется, что – далеко не последняя 🙂

Итак, слово – автору!

Почему для нашего домашнего сервера была выбрана именно эта ОС – Ubuntu? Начнем с того, что это – один из самых распространенных дистрибутивов Linux. Он имеет хорошо развитое русскоязычное сообщество и форум, где можно задать вопрос, а также найти уже готовые ответы. Ubuntu ориентирована на удобство и простоту использования. Она включает широко распространённое использование утилиты sudo, которая позволяет пользователям выполнять администраторские задачи, не запуская потенциально опасную сессию суперпользователя.

Отличие между Desktop (настольной) и Server дистрибутивами в том, что в Server версии по умолчанию нет графического интерфейса (GUI) и он оптимизирован для работы на серверах. В Desktop версии устанавливается, в зависимости от редакции, графическая среда «Gnome», «KDE», «XFCE», «LXDE» или другая.

Поскольку она ориентирована на обычные рабочие компьютеры, в ней оптимизировано выполнение пользовательских программ, что для сервера практически бесполезно. Также, за счет установки графики (пусть даже XFCE или LXDE – достаточно "легкие" оболочки) заметно повышаются требования к компонентам компьютера (ОЗУ, видеокарте, процессору), что в нашем случае будет явным расточительством.

Наша цель:
Построение домашней сети или сети малого офиса с использованием шлюза на основе Ubuntu Server 10.04 LTS с минимальными затратами на оборудование и прокладку.

Примечание: LTS в названии означает «Long Term Support» – «поддержка в течение длительного периода времени» (на данный момент – 5 лет).

Нам потребуется:
Компьютер на роль сервера:

2 GHz

  • Оперативная память (ОЗУ): 256 MB чем больше, тем лучше
  • Сетевая карта: 2 шт по 100 Mbps.
  • Жесткий диск (HDD): Чем больше объемем, тем лучше.Потребуется не менее 10 Gb для ОС и сколько угодно – для файлового хранилища.
  • Видеокарта: для Ubuntu Server подойдет встроенная. Ubuntu Desktop – 32 Mb если отключить спецэффекты.
  • Привод для чтения CD/DVD дисков для установки ОС.
  • Свитч: количество клиентских компьютеров, + наш сервер, + лучше небольшой запас (если офис), для дома и небольшого офиса вполне хватит 5-8-ми портового коммутатора.

    Инструменты и материалы: Кабель UTP категории 5 (5e), обжимка, отвертка-индикатор или любая другая с тонким жалом, маленькие кусачки, канцелярский нож, коннекторы RJ-45, кабельные стяжки, по желанию – сетевые розетки.

    Дополнительно: Доступ к Интернету на приемлемой скорости через ADSL модем или роутер, например dir-300. Чтобы наш шлюз не подключался к провайдеру напрямую через PPtP, PPPoE и другие типы "тоннелей", так как могут появиться непредвиденные проблемы в виде разрывов подключения, хотя их и можно обойти, но для устновки всех необходимых пакетов нужен прямой доступ к Интернету. Если нужно будет подключаться к серверу из Интернета также потребуется реальный IP, очень желательно – статический.

    ПО: Установочный диск (CD/DVD) Ubuntu Server 10.04 LTS (ссылки на скачивание в статье про установку).

    Подготовка:
    Все необходимые настройки сервера мы будем проводить с помощью терминала (командной строки) через SSH (удаленный доступ через терминал, что не столь важно) и что важно – от имени root-a (администратора), иначе перед большинством команд придется писать sudo и постоянно вводить свой пароль, чего нам делать совершенно не хочется.

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

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

    • Router: D-Link DIR-320 hw:A1 Прошивка последней версии с русификацией.
    • Server: Ubuntu Server 10.04 LTS
    • Computer: MS Windows 7 Ultimate 64bit SP1
    • Notebook: MS Windows XP Professional SP3
    • Switch: D-Link DES-1008D 8-ми портовый, 100Mbps

    Мы будем использовать две сети класса «C», одна для связи между роутером и сервером (192.168.1.0/30), вторая – между сервером и клиентскими компьютерами (192.168.0.0/24). Что значат эти «страшные» цифры, мы с Вами узнаем чуть позже 🙂

    Прокладка сети и немного теории из СКС

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

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

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

    По правилам монтажа СКС нужно устанавливать со стороны клиента сетевые розетки, они бывают двух типов, «накладные» (клеятся двусторонним скотчем) или «врезные» (вставляются в стену, так что это вариант только при монтаже когда идет ремонт). Вот так выглядит «накладная» розетка в разборе.

    Читайте также:  Если быстро садится аккумулятор на телефоне

    Приклеиваем ее на стену (не на обои, так как она может отклеиться) или на другую подходящую поверхность рядом с расположением компьютера, снимаем крышку слегка сдавив ее корпус по бокам (обычно они открываются так). Снимаем общую изоляцию с кабеля на расстояние примерно 10 сантиметров, зачищаем каждую жилу на 5-7 мм. Стяжкой через два отверстия закрепляем кабель чтобы он не выпадал, также при случайном задевании он не вырвется из розетки. Аккуратно вставляем жилы кабеля в пазы розетки согласно цветовой маркировке, и продавливаем отверткой их до конца. В некоторых розетках используется вместо такой «вилочки» маленькие саморезы, соответственно нужно зажать жилы этими саморезами.

    Также (вместо отвертки) можно использовать специальный забивной инструмент:

    После подключения всех жил желательно обрезать их излишки, чтобы они не закоротили между собой. Страшного ничего не произойдет, но связи по кабелю не будет или будет мигающий СКНП (Сетевой Кабель Не Подключен) или ШНП (Шлюз Не Пингуется, т.е. – нет связи, хотя кабель подключен). Если вы решили использовать розетки, то нам понадобится патчкорд. Это – небольшой кабель (1-3 метра), одинаково обжатый с обеих сторон. Как его сделать, описано чуть ниже.

    По стандарту есть два способа обжатия EIA/TIA 568 A/B, следовательно мы получим или патчкорд или кроссовер. Патчкорд используется для подключения компьютер – свитч, кроссовер для подключения компьютер – компьютер. Мы будем использовать патчкорд (хотя это не так важно, как раньше, так как современный свитч умеет сам определять тип соединения, главное правильно все соединить и обжать).

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

    Со стороны серверной мы просто обожмем кабеля и подключим в свитч. Вот так выглядит обжатие T568 B (обычно используют именно его):

    Фото ниже – кликабельны:

    Схема обжатия потчкорда:

    Схема для кроссовера:

    Для обжатия нужно снять 5-7 сантиметров общей изоляции, раскрутить и выровнять жилы, расположить их в нужном порядке и обрезать на длину примерно 1-1,5 см. затем – надеть коннектор RJ-45, он должен быть расположен фиксатором вниз. Вставляем коннектор в обжимку до упора и хорошо сжимаем рукоятки обжимки, если инструмент старый, то лучше пару раз сжать рукоятки чтобы резцы хорошо врезались в жилы и был хороший электрический контакт.

    Проверяем, все ли правильно сделано и если да, то подключаем кабель в свитч в любой порт. Для красоты предлагаю патчкорд, идущий к серверу, подключить в первый порт, а клиентские компьютеры – в остальные.

    Здесь есть полезная «фишка»: если использовать в настройках статические IP адреса, то можно подключить кабель компьютера с IP 192.168.0.2 во второй порт, 192.168.0.3 в третий и т.д. В случае проблем, мы легко найдем нужный кабель в свитче.

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

    Вот мы и проложили свою маленькую, но гордую сеть во благо родных или коллег! Но на этом наши «страдания» не окончены, впереди еще настройка «зоопарка» компьютеров и «поднятие» сервера 🙂

    Заметка "в тему" на нашем форуме.

    Для перехода ко второй части статьи нажмите ссылку "следующая" чуть ниже .

    Связаться с автором статьи можно вот по этому адресу:

    Добрый день! Пытался настроить домашний сервер на Linux для выполнения нескольких задач, надеялся, что всё действительно стало проще и доступнее новичку. К сожалению – не тут-то было((

    Требуется:
    – Торрент-сервер (подошёл qBittorrent)
    – NAS (Samba)
    – Syncthing (Syncthing-GTK)
    – DLNA (Plex/Kodi/. ?)
    – Удалённый доступ

    Сначала выбор остановился на MX Linux (там интерфейс x4fce), установил, настроил, всё даже более-менее работает, но. x11vnc выбранный для удаленного доступа работает со страшным багом: при нажатии на правый клик в клиенте, падает не только сам x11vnc на сервере, но, похоже, вешает и интерфейс системы сервера, что там окна приложений становятся недоступными. Сначала я думал, что сделать сервис для x11vnc решит проблему (правда, я этого не смог), но с "убиванием" окон даже этот вариант не подходит.

    Тогда я решил попробовать openSUSE Leap 15.1, установил с KDE. И опять проблемы: Syncthing-GTK (из официального репозитория) не запускается ВООБЩЕ (даже без сообщений!), а решение по удаленному управлению "из-коробки" настроено, но не работает (клиент сообщает, что подключиться не удалось). Я подумал, что проблема из-за выбора KDE, до-установил GNOME, перелогинился. и результат тоже – syncthing не запускается, удаленного доступа нет.

    В общем, убито 3 дня, а добиться результатов не удалось. На винде всё это заняло бы несколько часов, но не хотелось бы. Какой дистрибутив выбрать под задачи? Какую конфигурацию? Не хочется дальше терять время впустую, помогите!

    admin

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *