Линукс сервер руководство по

Ubuntu Server is a version of the Ubuntu operating system designed and engineered as a backbone for the internet.

Ubuntu Server brings economic and technical scalability to your datacentre, public or private. Whether you want to deploy an OpenStack cloud, a Kubernetes cluster or a 50,000-node render farm, Ubuntu Server delivers the best value scale-out performance available.


In this documentation

Tutorials
Get started — a hands-on introduction to Ubuntu Server for new users
How-to guides
Step-by-step guides covering key operations and common tasks
Explanation
Concepts — discussion and clarification of key topics
Reference
Technical information — package specifications, APIs, architecture

Project and community

Ubuntu Server is a member of the Ubuntu family. It’s an open source project that welcomes community projects, contributions, suggestions, fixes and constructive feedback.

If you find any errors or have suggestions for improvements to pages, please use the link at the bottom of each topic titled: “Help improve this document in the forum.” This link will take you to the Server Discourse forum for the specific page you are viewing. There you can share your comments or let us know about bugs with any page.

  • Read our Code of Conduct
  • Get support
  • Join the Discourse forum
  • Download
  • Find out how to contribute to the Server Guide, or let us know your feedback and suggestions.

Thinking about using Ubuntu Server for your next project? Get in touch!

PDFs and previous releases

Below are links to the previous Ubuntu Server release server guides as well as an offline copy of the current version of this site:

Ubuntu 20.04 LTS (Focal Fossa) and later: PDF
Ubuntu 18.04 LTS (Bionic Beaver): Web and PDF

install-ubuntu-2204-lts-server-000.png

Ubuntu — один из самых популярных Linux дистрибутивов, широко применяющийся как в настольных системах, так и на серверах, а также в облаках и контейнерах. И, следует сказать, популярность эта вполне заслужена, долгое время Ubuntu шла в качестве более свежей и продвинутой версии Debian, но с некоторых пор идет своим путем, предлагая новые подходы и инструменты, но в тоже время сохраняя совместимость с родительским дистрибутивом. В данной статье мы пошагово рассмотрим установку и первоначальную настройку серверного дистрибутива Ubuntu 22.04 LTS.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Сразу отметим, никакого принципиального различия между серверной и настольной версиями Ubuntu давно уже нет, обе системы используют общую пакетную базу, но установщики у них разные. Настольная версия безальтернативно устанавливается в графическом режиме и ставит графическую оболочку, в то время как серверная имеет свой уникальный инсталлятор текстового режима Subiquity, который заменил использовавшийся ранее debian-installer.

Впервые Subiquity был представлен в выпуске 18.04 LTS, но только в качестве альтернативы, так как еще не поддерживал многие возможности, например, нельзя было создать программный RAID. К выпуску 20.04 LTS основные детские болезни были исправлены и Subiquity стал единственным инсталлятором серверного выпуска.

Начало установки

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

install-ubuntu-2204-lts-server-001.pngЕсли присутствует сеть, то установщик проверит наличие обновления программы установки и предложит ее обновить, причем произойдет это раньше, чем вам будет предложено настроить сетевой адаптер. Мы советуем согласиться с предложением и обновиться.

install-ubuntu-2204-lts-server-002.pngА вот раскладку клавиатуры по умолчанию мы советуем оставить английской, при этом русская будет добавлена автоматически и переключаться на нее вы сможете при помощи стандартного сочетания Alt + Shift.

install-ubuntu-2204-lts-server-003.pngСледующим шагом нас спросят, а что именно мы хотим установить. Доступны два варианта: Ubuntu Server и Ubuntu Server (minimized), второй вариант предусматривает использование в контейнерах и виртуальных машинах, не подразумевающих интерактивный вход и ручное управление. Это значит, что в такой системе отсутствуют утилиты ручного управления и если вы все-таки захотите администрировать ее руками, то вам придется развернуть ее до уровня Ubuntu Server. Поэтому установка minimized-версии для интерактивной настройки является бессмысленной.

install-ubuntu-2204-lts-server-004.png

Следующим шагом идет настройка сети, по умолчанию предлагается получить адрес автоматически при помощи DHCP, во многих случаях можно оставить эту настройку, зарезервировав адрес на DHCP-сервере, особенно если обращение к серверу подразумевается по FQDN.

install-ubuntu-2204-lts-server-006.pngЕсли же нам нужен статический IP-адрес, то мы можем настроить его прямо сейчас, для этого переходим к нужному сетевому интерфейсу и выбираем в настройках Edit IPv4, при этом можно обратить внимание на достаточно широкие возможности настройки сети, тут и объединение адаптеров через Bonding и VLAN-теги, но это уже выходит за рамки данной статьи.

install-ubuntu-2204-lts-server-007.pngНастройка сети также немного отличается от привычной, так как в первом поле мы должны указать подсеть (Subnet) в формате 192.168.233.0/24, где префикс /24 соответствует маске сети 255.255.255.0, остальные настройки не должны вызвать особых затруднений.

install-ubuntu-2204-lts-server-008.png

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

Разметка дискового пространства

Без преувеличения, разметка диска — самый важный этап установки системы, потому как с принятыми на данном этапе решениями вам придется жить все оставшееся время и не все из них можно будет впоследствии исправить без переустановки. Сегодня основной является схема «все файлы в одном разделе» и если вы не знаете как именно разметить диск, то следуйте ей. Также Ubuntu не использует раздел подкачки, создавая для этого файл в корне файловой системы, никакой существенной разницы с разделом подкачки у такого подхода нет, но в целом это удобнее. Выбор файловой системы также сводится к одному простому правилу, если вы не знаете какая именно файловая система вам нужна и для чего — выбирайте стандартную ext4.

Автоматическая разметка

Если у вас нет каких-то особых соображений, то использование автоматической разметки будет самым оптимальным вариантом, посмотрим, что предлагает нам Ubuntu в тех или иных сценариях. А вариантов не особо много: использовать весь диск и настроить диск как группу LVM, также можно отдельно включить шифрование LVM тома. В целом набор возможностей повторяют таковые в debian-installer, но выстроены более грамотно, в порядки иерархии применения. Пока что снимем флаг Set up this disk as an LVM group и посмотрим на самый простой вариант разметки.

install-ubuntu-2204-lts-server-009.pngВ этом случае будет автоматически размечен ESP раздел размером 953 МБ (для систем с UEFI) и ext4 на весь оставшийся размер диска.

install-ubuntu-2204-lts-server-010.pngНикаких сюрпризов и неожиданностей здесь нет, все просто и ожидаемо.

Автоматическая разметка с LVM

Вариант, предлагаемый по умолчанию и, казалось бы, никаких сложностей возникнуть не должно, но давайте внимательно изучим предлагаемую разметку. Прежде всего у нас кроме ESP раздела появился отдельный /boot размером 1,77 ГБ, так как загрузочный раздел должен располагаться за пределами LVM разметки. На оставшемся месте создана группа томов ubuntu-vg, внутри которой создается логический том ubutnu-lv, только вот его размер не соответствует размеру группы томов, в которой остается свободное место.

install-ubuntu-2204-lts-server-011.pngЕсли не обратить на это внимание и оставить все как есть, то при эксплуатации вы можете столкнуться с неприятной ситуацией, когда место неожиданно закончится. Поэтом сразу исправим разметку, для этого перейдите к логическому тому и в меню выберите Edit.

install-ubuntu-2204-lts-server-012.pngПосле чего укажите желаемый размер тома, максимальное значение указано рядом с полем Size, здесь же можно изменить тип файловой системы.

install-ubuntu-2204-lts-server-013.pngМы не знаем, является ли багом данное поведение, так как оно было зафиксировано еще в выпуске 20.04 и в обсуждении бага выражалось мнение, что мол так и задумано, так как LVM якобы не имеет смысла, если мы заполним группу томов полностью одним логическим томом. С некоторыми аргументами данной позиции можно согласиться, скажем с тем, что в таком случае нам будут недоступны моментальные снимки, но в целом такое поведение будет неожиданным, особенно для начинающего или невнимательного пользователя.

Тот, кому нужны снимки вряд-ли будет размечать диск автоматически, а тот, кто выбирает автомат рассчитывает на понятное поведение установщика. Если у нас указано использовать весь диск (Use an entire disk), то и размечать нужно все пространство полностью, а LVM впоследствии поможет нам более гибко управлять дисковым пространством. А текущий сценарий кроме недоумений и вопросов ничего предложить не может.

Настройка программного RAID

Настройка программного RAID в новом установщике Ubuntu достаточно серьезно отличается от настройки в debian-installer и может вызвать затруднения даже у опытного пользователя. Начнем с того, что пометим первый диск как загрузочный, для этого в меню диска следует выбрать Use As Boot Device.

install-ubuntu-2204-lts-server-014.png

Для UEFI систем будет автоматически создан ESP-раздел, создать такой раздел руками в Subiquity невозможно, затем проделываем ту же операцию со вторым диском, выбрав в его меню Add As Another Boot Device. После чего там будет создан второй ESP-раздел. Также это обеспечит установку загрузчика сразу на оба диска.

install-ubuntu-2204-lts-server-015.pngЗатем переходим к свободному пространству (free space) на дисках и создаем там раздел (или разделы) нужного размера, важное условие — в поле Format обязательно ставим Leave unformatted. Если в поле Size ничего не указывать, то будет создан раздел максимального размера. Аналогичные действия выполняем и для другого диска. Помним, что одно md-устройство — это один раздел.

install-ubuntu-2204-lts-server-016.pngПосле того как вы создали на обоих дисках одинаковые неформатированные разделы переходим в пункт Create software RAID (md), где указываем желаемый уровень RAID — в нашем случае зеркало — и выбираем используемые для него разделы.

install-ubuntu-2204-lts-server-017.pngПосле этого среди доступных дисковых устройств у нас появится md-устройство программного RAID, на свободном месте которого создаем новый раздел, где указываем файловую систему и точку монтирования (для системного раздела — /).

install-ubuntu-2204-lts-server-018.pngДля систем с UEFI данные действия только часть настройки, которую нужно продолжить после установки системы, более подробно об этом читайте в нашей статье:

Настраиваем программный RAID на UEFI-системах в Debian и Ubuntu

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

Завершение установки

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

install-ubuntu-2204-lts-server-020.pngСледующим шагом будет предложено установить SSH-сервер, не будем отказываться от этого предложения, также здесь есть возможность импортировать свой открытый ключ из GitHub или Launchpad. После импорта ключа появится возможность отключить аутентификацию по паролю через SSH иначе эта опция неактивна.

install-ubuntu-2204-lts-server-021.pngЗатем можно будет выбрать предустановленное ПО, но так как мы делаем минимальную установку, то пропускаем этот этап. Хотя, если вы поднимаете целевой сервер, то можете сразу выбрать необходимые вам роли.

install-ubuntu-2204-lts-server-022.pngЗа этим последует процесс установки, завершающей частью которого является скачивание и установка обновлений безопасности, при желании вы можете пропустить этот этап.

install-ubuntu-2204-lts-server-023.pngНа этом процесс установки завершен, вам останется только перезагрузить компьютер.

Вход в систему, повышение прав

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

В Ubuntu учетная запись суперпользователя root отключена и административные права получает пользователь, созданный на этапе установки. Отдельные команды, требующие повышения прав можно выполнять через sudo, для долговременного повышения прав используйте:

sudo -s 

Ключ -s открывает новую командную оболочку как бы при интерактивном входе суперпользователя в систему, при этом изменится домашний каталог и переменные окружения, которые будут соответствовать пользователю root.

Если же вам по какой-либо причине требуется включить учетную запись суперпользователя, то это можно сделать, установив для нее пароль:

sudo passwd root

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

Настройка часового пояса

Инсталлятор Subiquity не предусматривает настройку часового пояса и после установки ваш сервер будет жить по времени Гринвичского меридиана, чтобы убедиться в этом выполните команду:

timedatectl

Поэтому правильная настройка времени входит в число первоочередных задач, это можно сделать разными способами, но наиболее удобной будет команда:

dpkg-reconfigure tzdata

Затем в интерактивном режиме выберите свой часовой пояс.

install-ubuntu-2204-lts-server-024.pngВсе изменения будут применены сразу.

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

В Ubuntu для настройки сети используется утилита высокого уровня абстракции netplan. Работа с ней сперва может показаться непривычной, но netplan содержит многие приятные возможности, которые выводят работу с сетью на новый уровень. Более подробно о работе с netplan вы можете прочитать в нашей статье:

Настройка сети в Linux при помощи Netplan

Все сетевые настройки хранятся в файле /etc/netplan/00-installer-config.yaml, если вы выбрали динамическую настройку сети, то там будет примерно следующее содержимое:

network: 
version: 2
ethernets:
ens33:
dhcp4: true

Обратите внимание, что для файла настроек применяется формат YAML который использует для форматирования отступы в 2 или 4 пробела.

install-ubuntu-2204-lts-server-025.pngДля установки статического IP-адреса внесите в файл приведенные ниже настройки:

network:
version: 2
ethernets:
ens33:
dhcp4: false
addresses: [192.168.233.148/24]
gateway4: 192.168.233.2
nameservers:
addresses: [192.168.233.2,192.168.233.3]

Особых комментариев здесь не требуется, для записи IP-адреса используется запись вида адрес/префикс, что позволяет отдельно не указывать маску, а DNS сервера (nameservers) можно перечислить через запятую.

А вот дальше становится интереснее, чтобы проверить конфигурацию выполните:

netplan try

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

Если же все нормально, то просто примените настройки командой:

netplan apply

Одной только этой возможности уже достаточно, чтобы начать любить netplan, если вы не сделали этого ранее.

Настройка брандмауэра iptables

В отличие от Debian 11 в Ubuntu 22.04 LTS по-прежнему присутствует iptables, точнее nftables в режиме совместимости. И это во многом оправдано, новый межсетевой экран неплох, но на его внедрение нужно время, тогда как для iptables существует множество готовых инструкций и решений. Ниже мы набросаем минимальную конфигурацию брандмауэра и настроим ее автоматическое восстановление.

В консоли последовательно выполните команды:

iptables -A INPUT -i ens33 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ens33 -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -i ens33 -p icmp -j ACCEPT
iptables -A INPUT -i ens33 -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -i ens33 -j DROP

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

apt install iptables-persistent

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

install-ubuntu-2204-lts-server-026.pngВ последствии правила удобнее править в файле /etc/iptables/rules.v4. При этом следует обязательно придерживаться следующих правил: первыми в цепочке идут два правила, выделенные желтым, последним обязательно должно быть правило, выделенное красным. Все остальные следует располагать между ними.

install-ubuntu-2204-lts-server-027.pngСохраняем файл и перечитываем правила:

iptables-restore < /etc/iptables/rules.v4

Мы советуем не пренебрегать настройкой брандмауэра даже если сервер полностью находится во внутреннем периметре.

Подключаем Ubuntu Advantage

Ubuntu Advantage (UA) — это сервисный пакет от компании Canonical для пользователей Ubuntu, включает коммерческую поддержку и ряд расширенных сервисов направленных на повышение управляемости и безопасности ваших систем. Для личного и некоммерческого использования предоставляется бесплатный пакет на 5 ПК.

Наиболее интересными сервисами в пакете являются:

  • Extended Security Maintenance (ESM) — предоставляет обновления безопасности для всех бинарных пакетов находящихся в основном репозитории Ubuntu в течении дополнительных 5 лет, таким образом продлевая общий срок поддержки систем до 10 лет.
  • Livepatch — в буквальном переводе «живой патч» — еще один крайне полезный сервис, дает возможность устанавливать обновления безопасности ядра Linux без перезагрузки системы.

И если ESM не факт, что нам понадобится, то вот Livepatch будет весьма ко двору. Мы не будем рассматривать все подробности подключения и использования данной программы, об этом можно прочитать в нашей статье:

Включаем расширенную поддержку ESM и Livepatch для Ubuntu

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

ua attach <subscription token>

где <subscription token> — полученный в рамках программы токен подписки.

В результате выполнения команды вы увидите подробный отчет с указанием подключенных сервисов, среди которых будут ESM и Livepatch.

install-ubuntu-2204-lts-server-028.pngТеперь вам не понадобится перезагружать свой сервер после каждого обновления ядра.

Заключение

В данной статье мы постарались коротко, но емко изложить все основные действия, которые помогут вам освоить новый инсталлятор Subiquity и установить с его помощью серверный вариант Ubuntu 22.04 LTS, а также выполнить его первоначальную настройку. Также в статье присутствуют ссылки на иные наши материалы, позволяющие существенно расширить отдельные темы, рекомендуем обязательно ознакомиться с ними.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Время на прочтение
9 мин

Количество просмотров 53K

На просторах интернета не нашел единого рецепта по установке и настройке такого, довольно нестандартного сервера. Решил написать свой рецепт.

Принцип работы следующий:


Статические данные (файлы) отдает Nginx, а динамикой занимается Apache.
Начнем.

Нам нужно:

VirtualBox
Ubuntu Server 16.04.3 LTS (LTS — Long Time Support)
PuTTY

Установим VirtualBox

  1. Запустим установщик VirtualBox.

    Установка VirtualBox. Шаг 1

  2. Настройки оставим по умолчанию.

    Установка VirtualBox. Шаг 2

    Установка VirtualBox. Шаг 3

  3. Установщик временно отключит нас от сети. Жмем «Yes».

    Установка VirtualBox. Шаг 4

  4. Начинаем установку.
    Установка VirtualBox. Шаг 5
  5. Финиш.

    Установка VirtualBox. Шаг 6

Подготовим VirtualBox к установке Ubuntu Server 16.04.3 LTS

  1. Загрузим образ ubuntu-16.04.3-server-amd64.iso
  2. Создадим виртуальную машину.

    VirtualBox

  3. Имя: default_server
    Тип: Linux
    Версия: Ubuntu (64-bit)
    Объем оперативной памяти: 2048 МБ

    Важно: У меня 8 ГБ оперативной памяти, и в моем случае, двух гигабайт будет достаточно. У вас может быть иначе…

    VirtualBox
    Размер жесткого диска: 15 ГБ
    Другие параметры оставим по умолчанию.

    VirtualBox
    Жмем «Создать».

  4. Сразу настроим сеть.

    VirtualBox
    Сменим тип подключения с NAT на Сетевой мост.

    VirtualBox
    В дальнейшем, мы не будем заниматься пробрасыванием портов.

  5. Запускаем нашу машину.

    VirtualBox

Установка Ubuntu Server 16.04.3 LTS

  1. Выберем загрузочный диск с образом Ubuntu Server 16.04.3 LTS.

    VirtualBox

  2. Выбираем удобный язык, у меня это русский.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 1)
    Жмем «Enter».

  3. Выбираем «Установить Ubuntu Server».

    Установка Ubuntu Server 16.04.3 LTS (Шаг 2)

  4. Выбираем страну.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 3)

    Важно: Читайте подсказку внизу экрана.

  5. Я не буду определять раскладку клавиатуры, мне это не нужно.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 4)

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

    Установка Ubuntu Server 16.04.3 LTS (Шаг 5)

  7. Выбираем регион раскладки.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 6)

  8. Выбираем комбинацию клавиш, для переключения языка. Мне удобно через CTRL+
    SHIFT.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 7)

  9. Введем имя компьютера, под которым он будут известен в сети.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 8)

  10. Вводим имя админа.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 9)

  11. Вводим имя учетной записи админа (Будет использоваться как логин для входа в систему).

    Установка Ubuntu Server 16.04.3 LTS (Шаг 10)

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

    Установка Ubuntu Server 16.04.3 LTS (Шаг 11)

  13. Повторяем пароль.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 12)

  14. Почему бы и нет..?

    Установка Ubuntu Server 16.04.3 LTS (Шаг 13)

  15. Выбираем часовой пояс.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 14)

  16. Пусть система автоматически использует весь диск.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 15)

  17. Диск для разметки, выбираем по умолчанию.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 16)

  18. Записываем изменения на диск.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 17)

  19. У нас нету прокси, оставляем поле пустым и продолжаем.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 18)

  20. Пусть система сама устанавливает обновления безопасности.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 19)

  21. Выбираем набор программ, которые будут установлены вместе с системой.
    Нам будет достаточно стандартного набора и OpenSSH Server.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 20)

  22. Установим GRUB главным.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 21)

  23. Отлично, почти готово.

    Установка Ubuntu Server 16.04.3 LTS (Шаг 22)
    Нам нужно изъять диск из привода.
    Устройства -> Оптические диски -> Изъять диск из привода

    VirtualBox
    Теперь жмем продолжить.

  24. Прекрасно, Ubuntu Server установлена.

    Ubuntu Server 16.04.3 LTS
    Вводим логин, следом пароль, попадаем в систему, все окей.
    Выключим нашу машину:
    poweroff

  25. Конкретно эту машину мы оставим в покое, и будем использовать только для клонирования.
    Клонируем нашу машину:
    Вводим имя.

    VirtualBox
    Продолжаем.
    Выбираем полное клонирование.

    VirtualBox
    Жмем клонировать. У меня клонирование длилось две минуты.

Установим PuTTY, для доступа через SSH

  1. Запустим установочный файл.

    Установка PuTTY (Шаг 1)

  2. Настройки оставим по умолчанию.

    Установка PuTTY (Шаг 2)

    Установка PuTTY (Шаг 3)
    Жмем «Install».

  3. Финиш.

    Установка PuTTY (Шаг 4)

Подключение через SSH к серверу

  1. Запустим клон нашей машины, что бы узнать ее ip адрес.
    Напишем команду:
    ifconfig


    На скриншоте я отметил место, где будет написан ваш ip адрес. У меня это: 192.168.0.103 (может смениться, пока писал статью, у меня сменился на 192.168.0.101).
    Теперь можно выйти из учетной записи, написав:
    exit

  2. Переходим в PuTTY, вводим ip адрес, и имя для сохраняемой сессии.

    PuTTY
    Жмем «Save».

  3. Теперь, при двойном клике по имени сохраненной сессии.

    PuTTY
    Мы должны наблюдать следующее:

    PuTTY
    Вводим логин, после пароль.
    SSH соединение успешно настроено, теперь можно приступать к настройке (Nginx + Apache) + PostgreSQL + PHP.

Установка и настройка (Nginx + Apache) + PostgreSQL + PHP

Перейдем в режим суперпользователя
sudo su
Перейдем в корневой каталог
cd /
Добавим репозиторий PostgreSQL
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -

sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
Добавим репозиторий PHP
add-apt-repository ppa:ondrej/php
Сделаем update
apt-get update
Сделаем upgrade
apt-get upgrade
У меня upgrade длился пять минут.
У становим python, он нам позже понадобится
apt-get install python
Приступим к установке Apache, PHP и PostgreSQL
apt-get install apache2 php7.2 php7.2-cli php7.2-curl php7.2-fpm php7.2-pgsql postgresql postgresql-contrib postgresql-server-dev-10 libapache2-mod-rpaf build-essential apache2-dev
По умолчанию, в PostgreSQL нету однобайтовых и беззнаковых чисел, поэтому мы их установим.
Есть расширение для PostgreSQL, pguint — github.com/petere/pguint
git clone https://github.com/petere/pguint.git /pguint
Перейдем в созданный каталог
cd /pguint
Теперь нам нужно скомпилировать это расширение (тут понадобится python, который мы установили ранее).
make

make install
Теперь, на сервер PostgreSQL, в нужную базу данных, где хотим использовать беззнаковые и однобайтовые числа, отправим:

CREATE EXTENSION uint;

Вернемся в корневой каталог
cd /
Установим Nginx, но перед этим остановим Apache, дабы он не занимал порт 80, иначе Nginx не установится.
service apache2 stop
Установка Nginx
apt-get install nginx
Отлично, теперь остановим и Nginx
service nginx stop
Настройка Apache
a2dismod mpm_event

a2enmod mpm_worker

a2enmod proxy_fcgi

a2enconf php7.2-fpm


Сменим порт Apache
nano /etc/apache2/ports.conf
Заменить

Listen 80

на

Listen 127.0.0.1:8080

127.0.0.1 — означает то, что к Apache можно обратиться только по локальному адресу.
8080 — можете поставить любой свободный порт.
Перейдем в папку с доступными сайтами
cd /etc/apache2/sites-available
Создадим конфигурационный файл нашего сайда
nano domain-name.local.conf
И привести его к такому виду:

<VirtualHost 127.0.0.1:8080>
	ServerName domain-name.local
	ServerAlias www.domain-name.local

	ServerAdmin admin@domain-name.local
	DocumentRoot /var/www/domain-name.local

	ErrorLog ${APACHE_LOG_DIR}/domain-name.local_error.log
	CustomLog ${APACHE_LOG_DIR}/domain-name.local_access.log vhost_combined
</VirtualHost>

Посмотрим, что у нас лежит в /var/www
cd /var/www/

ls -F


Папка html, нам более не нужна, удалим ее вместе с содержимым
rm -R html
Создадим свою папку, со своим сайтом
mkdir domain-name.local/
Перейдем в папку с нашим сайтом
cd domain-name.local/
Создадим документ index.pnp
nano index.php
В него запишем:

<?php
	phpinfo();
?>

С этим пока закончили.
Вернемся в корневой каталог
cd /
В apache стоит rpaf 0.6 и он не передаёт/принимает порт от nginx и не работает правильно, как надо. Поэтому его надо обязательно обновить.
wget -O rpaf_v0.8.4.tar.gz https://github.com/gnif/mod_rpaf/archive/v0.8.4.tar.gz

gunzip rpaf_v0.8.4.tar.gz

tar xvf rpaf_v0.8.4.tar

cd mod_rpaf-0.8.4/


Теперь скомпилируем
make

make install


Выходим в корневой каталог
cd /
Хорошо, продолжим настройку Apache.
nano /etc/apache2/apache2.conf
Заменить

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined

на

LogFormat "%v:%p %{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined

Приведем в порядок rpaf.conf
nano /etc/apache2/mods-available/rpaf.conf
Приведем его к такому виду:

<IfModule rpaf_module>
	RPAF_Enable			On
	RPAF_ProxyIPs			127.0.0.1 ::1
	RPAF_SetHostName		On
	RPAF_SetHTTPS			On
	RPAF_SetPort			On
	RPAF_ForbidIfNotProxy	Off
	RPAF_Header			X-Forwarded-For
</IfModule>

Включим наш сайт в Apache.
a2ensite domain-name.local.conf
И запустим наш Apache.
service apache2 start
C Apache закончили.
Настроим Nginx
nano /etc/nginx/sites-available/domain-name.local
Привести к такому виду:

server {
	listen 80;
	listen [::]:80;

	root /var/www/domain-name.local;

	index index.php index.html index.htm;

	server_name domain-name.local www.domain-name.local;

	location / {
		proxy_pass http://127.0.0.1:8080;
		proxy_redirect        off;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_pass_header Set-Cookie;
	}

	location ~ /\.ht {
		deny all;
	}

	location ~* \.(ico|docx|doc|xls|xlsx|rar|zip|jpg|jpeg|txt|xml|pdf|gif|png|css|js|html)$ {
		root   /var/www/domain-name.local;
	}

	add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
	add_header Content-Security-Policy "block-all-mixed-content";
	add_header X-Frame-Options "SAMEORIGIN";
	add_header X-XSS-Protection "1; mode=block";
	add_header X-Content-Type-Options "nosniff";

	resolver 8.8.8.8;
}

Теперь создадим символьную ссылку на этот файл
ln -s /etc/nginx/sites-available/domain-name.local /etc/nginx/sites-enabled/domain-name.local
Отредактируем /etc/nginx/sites-available/default
nano /etc/nginx/sites-available/default
Уберем default_server.
И вставим перенаправление с www. и ip

server {
	listen 80;
	listen [::]:80;

	server_name www.domain-name.local;
	return 301 http://domain-name.local$request_uri;
}

server {
	listen 80;
	listen [::]:80;

	server_name 192.168.0.101;
	return 301 http://domain-name.local$request_uri;
}

Запускаем Nginx.
service nginx start
Отлично, можем проверить как оно работает.
Но перед этим отредактируем файл хоста C:\Windows\System32\drivers\etc
Открыть файл hosts через текстовый редактор, и в самый низ вставить:
192.168.0.101 domain-name.local
192.168.0.101 www.domain-name.local

Заменив ip и домен на свои.
В браузере перейдем по domain-name.local, и если вы делали все по этому рецепту, мы должны увидеть страницу с phpinfo.
Отлично, дело осталось за малым.
Настроим PostgreSQL.
Создадим нового пользователя PostgreSQL
sudo -u postgres createuser --superuser test-user
Войдем в СУБД
sudo -u postgres psql
И сменим новому пользователю пароль
\password test-user
Теперь новому пользователю нужно сменить тип подключения, для этого нам нужно найти pg_hba.conf файл.
Пишем

SHOW hba_file;


Покидаем СУБД
\q
И начинаем редактировать /etc/postgresql/10/main/pg_hba.conf
nano /etc/postgresql/10/main/pg_hba.conf
Ищем
# Database administrative login by Unix domain socket
Находим следующее:
# Database administrative login by Unix domain socket
local all postgres peer

Приводим к таком виду:
# Database administrative login by Unix domain socket
local all postgres peer
local all test-user md5

Перезагрузим PostgreSQL
service postgresql restart
Теперь войдем в СУБД через нового пользователя
psql test-user -h 127.0.0.1 -d postgres
Вводим пароль, и попадаем в СУБД.
Создадим тестовую базу данных

CREATE DATABASE test_db;

И сразу перейдем в нее
\c test_db
Подключим расширение pguint

CREATE EXTENSION uint;

И создадим тестовую таблицу

CREATE TABLE test_tb(
	id uint4 PRIMARY KEY,
	title TEXT
);

Заполним таблицу тестовыми данными

INSERT INTO test_tb(id, title) VALUES (1, 'Бла бла бла 1'), (2, 'Бла бла бла 2'), (3, 'Бла бла бла 3'), (4, 'Бла бла бла 4'), (5, 'Бла бла бла 5'), (6, 'Бла бла бла 6'), (7, 'Бла бла бла 7'), (8, 'Бла бла бла 8'), (9, 'Бла бла бла 9'), (10, 'Бла бла бла 10'), (2147483642, 'Бла бла бла 2147483642'), (2147483643, 'Бла бла бла 2147483643'), (2147483644, 'Бла бла бла 2147483644'), (2147483645, 'Бла бла бла 2147483645'), (2147483646, 'Бла бла бла 2147483646'), (2147483647, 'Бла бла бла 2147483647'), (2147483648, 'Бла бла бла 2147483648'), (2147483649, 'Бла бла бла 2147483649'), (2147483650, 'Бла бла бла 2147483650'), (2147483651, 'Бла бла бла 2147483651'), (2147483652, 'Бла бла бла 2147483652'), (4294967286, 'Бла бла бла 4294967286'), (4294967287, 'Бла бла бла 4294967287'), (4294967288, 'Бла бла бла 4294967288'), (4294967289, 'Бла бла бла 4294967289'), (4294967290, 'Бла бла бла 4294967290'), (4294967291, 'Бла бла бла 4294967291'), (4294967292, 'Бла бла бла 4294967292'), (4294967293, 'Бла бла бла 4294967293'), (4294967294, 'Бла бла бла 4294967294'), (4294967295, 'Бла бла бла 4294967295') RETURNING id, title;

Посмотрим содержимое таблицы test_tb

SELECT * FROM test_tb;

Теперь попробуем вывести эти данные из php.
Закрываем соединение с СУБД
\q
Откроем /var/www/domain-name.local/index.php
nano /var/www/domain-name.local/index.php
И приведем к следующему виду:

<?php
	$dbh = new PDO('pgsql:host=localhost port=5432 user=test-user dbname=test_db password=password');
	$test = $dbh->prepare('SELECT * FROM test_tb;');
	$test->execute();
	echo "<pre>";
	print_r($test->fetchAll(PDO::FETCH_ASSOC));
	echo "</pre>";
?>

Теперь проверим, и убедимся, что это работает


Отлично, мы настроили (Nginx + Apache) + PostgreSQL + PHP и он исправно работает.

Настроим FTP доступ к сайту

Установим FTP сервер
apt-get install vsftpd
Остановим vsftpd перед настройкой
service vsftpd stop
Откроем etc/vsftpd.conf
nano etc/vsftpd.conf
Установить/заменить/переключить следующие параметры:

  1. listen=YES
  2. listen_ipv6=NO
  3. local_enable=YES
  4. write_enable=YES
  5. chroot_local_user=YES
  6. pam_service_name=ftp

Создадим нового пользователя для доступа через FTP
useradd -d /home/domain-name -s /sbin/nologin domain-name
Установим для него пароль
passwd domain-name
Создадим домашнюю директорию пользователя
mkdir -p /home/domain-name
Установим для нее права
chmod a-w /home/domain-name
Создадим группу для пользователя
groupadd ftps
Добавим пользователя в группу
usermod -G ftps domain-name
Поменяем владельца каталога
chown -R domain-name:ftps /home/domain-name
Создадим папку нашего сайта
mkdir /home/domain-name/domain-name.local
Сменим у нее владельца
chown -R domain-name:ftps /home/domain-name/domain-name.local
Смонтируем наши каталоги, откроем файл /etc/fstab
nano /etc/fstab
В самый низ вставим
/var/www/domain-name.local /home/domain-name/domain-name.local none bind 0 0
Добавим владельца /var/www/domain-name.local
chown www-data:domain-name /var/www/domain-name.local/ -R
Назначим права
find /var/www/domain-name.local -type d -exec chmod 775 {} \;
find /var/www/domain-name.local -type f -exec chmod 664 {} \;

И запустим vsftpd
service vsftpd start
Проверим, я буду использовать FileZilla.


Все хорошо, попробуем создать каталог.


Работает.
Настроим защищенное FTP соединение.
Остановим vsftpd
service vsftpd stop
Сгенерируем сертификат
openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.pem
Тут вводим все, что вшей душе угодно

Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

Откроем etc/vsftpd.conf
nano etc/vsftpd.conf
Установим/добавим следующие параметры:

  1. ssl_enable=YES
  2. ssl_tlsv1=YES
  3. ssl_sslv2=NO
  4. ssl_sslv3=NO
  5. rsa_cert_file=/etc/ssl/private/vsftpd.pem
  6. rsa_private_key_file=/etc/ssl/private/vsftpd.key
  7. allow_anon_ssl=NO
  8. force_local_data_ssl=YES
  9. force_local_logins_ssl=YES
  10. ssl_ciphers=HIGH

Сохраним и запустим vsftpd
service vsftpd start
Давайте испытаем

Ура, все работает, можно приступать к разработке веб приложения.

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

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

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

Указываем имя пользователя в 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.

Консоль Ubuntu

Консоль Ubuntu

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

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

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

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

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

Терминал в Linux

Терминал в 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 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»

Команда «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»

Команда «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-хранилища, терминалы.

Понравилась статья? Поделить с друзьями:
  • Азу 108 инструкция по эксплуатации на русском языке
  • Газпромнефть оплата через приложение инструкция по применению
  • Indesit kn 5041 wu e инструкция
  • Blackhead cleaner wellskins инструкция на русском
  • Зарядное устройство boush 50 инструкция по применению на русском