Руководство по настройке debian

Содержание

  • Настройка Debian
    • Шаг 1: Обновление системы
    • Шаг 2: Установка SUDO
    • Шаг: 3: Настройка репозиториев
    • Шаг 4: Добавление Backports
    • Шаг 5: Установка шрифтов
    • Шаг 6: Настройка сглаживания шрифтов
    • Шаг 7: Отключение звука системного динамика
    • Шаг 8: Установка кодеков
    • Шаг 9: Установка Flash Player
    • Шаг 10: Установка Java
    • Шаг 11: Установка приложений
    • Шаг 12: Установка драйверов на видеокарту
    • Шаг 13: Настройка автоматического включения NumLock
  • Заключение
  • Вопросы и ответы

настройка debian после установки

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

Читайте также: Популярные дистрибутивы Linux

Из-за множества вариантов установки Debian (сетевая, базовая, с DVD-носителей) универсальное руководство составить не получится, поэтому некоторые этапы инструкции будут относиться к определенным версиям операционной системы.

Шаг 1: Обновление системы

Первое, что необходимо сделать после установки системы, это обновить ее. Но это более актуально для пользователей, которые устанавливали Debian с DVD-носителей. Если вы использовали сетевой метод, то все свежие обновления уже будут установлены в ОС.

  1. Откройте «Терминал», прописав его название в меню системы и нажав по соответствующему значку.
  2. запуск терминала в debian

  3. Получите права суперпользователя, выполнив команду:

    su

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

    получение прав суперпользователя в терминале debian

    Примечание: при вводе пароля он никак не отображается.

  4. Поочередно выполните две команды:

    apt-get update
    apt-get upgrade

  5. Перезагрузите компьютер, чтобы закончить обновление системы. Для этого можно в «Терминале» выполнить следующую команду:

    reboot

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

Читайте также: Обновляем Debian 8 до 9 версии

Шаг 2: Установка SUDO

sudo — утилита, созданная с целью наделения отдельных пользователей правами администратора. Как можно было заметить, при обновлении системы необходимо было входить в профиль root, что требует лишних временных затрат. Если использовать sudo, это действие можно пропустить.

Для того чтобы инсталлировать в систему утилиту sudo, необходимо, находясь в профиле root, выполнить команду:

apt-get install sudo

установка утилиты sudo в debian

Утилита sudo установлена, но для ее использования нужно получить права. Проще это сделать, выполнив следующее:

adduser UserName sudo

Где вместо «UserName» надо ввести имя пользователя, которому присваиваются права.

присвоение прав пользователю в терминале debian

В завершение перезагрузите систему, чтобы изменения вступили в силу.

Читайте также: Часто используемые команды в «Терминале» Linux

Шаг: 3: Настройка репозиториев

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

Настроить репозитории для получения проприетарного ПО можно двумя способами: используя программу с графическим интерфейсом и выполняя команды в «Терминале».

Software & Updates

Чтобы провести настройку репозиториев с помощью программы с графическим интерфейсом, сделайте следующее:

  1. Запустите Software & Updates из меню системы.
  2. запуск software & updates в debian

  3. На вкладке «Debian Software» поставьте галочки рядом с теми пунктами, где в скобках указано «main», «contrib» и «non-free».
  4. вкладка debian software в программе software & updates в debian

  5. Из выпадающего списка «Загрузить с» выберите сервер, который расположен ближе всего.
  6. выьор сервера для обновления системы в debian

  7. Нажмите кнопку «Закрыть».

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

Терминал

Если по какой-то причине вы не смогли осуществить настройку с помощью программы Software & Updates, то эту же задачу можно выполнить в «Терминале». Вот что нужно делать:

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

    sudo gedit /etc/apt/sources.list

  2. В открывшемся редакторе добавьте ко всем строкам переменные «main», «contrib» и «non-free».
  3. Нажмите кнопку «Сохранить».
  4. Закройте редактор.

Читайте также: Популярные текстовые редакторы для Linux

По итогу ваш файл должен выглядеть примерно так:

настройка переменных в sources list в debian

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

sudo apt-get update

Шаг 4: Добавление Backports

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

Сделать это можно как с помощью Software & Updates, так и «Терминала». Рассмотрим оба способа подробнее.

Software & Updates

Для добавления репозитория Backports с помощью Software & Updates вам необходимо:

  1. Запустить программу.
  2. Перейти во вкладку «Other Software».
  3. Нажать кнопку «Add…».
  4. вкладка other software в software & update в debian

  5. В строку APT ввести:

    deb http://mirror.yandex.ru/debian stretch-backports main contrib non-free (для Debian 9)

    или

    deb http://mirror.yandex.ru/debian jessie-backports main contrib non-free (для Debian 8)

  6. Нажать кнопку «Добавить источник».
  7. добавление репозитория в программе software & update в debian

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

Терминал

В «Терминале» для добавления репозитория Backports необходимо внести данные в файл «sources.list». Для этого:

  1. Откройте нужный файл:

    sudo gedit /etc/apt/sources.list

  2. В нем установите курсор в конце последней строки и, нажав дважды клавишу Enter, сделайте отступ, после чего впишите следующие строки:

    deb http://mirror.yandex.ru/debian stretch-backports main contrib non-free
    deb-src http://mirror.yandex.ru/debian stretch-backports main contrib non-free
    (для Debian 9)

    или

    deb http://mirror.yandex.ru/debian jessie-backports main contrib non-free
    deb-src http://mirror.yandex.ru/debian jessie-backports main contrib non-free
    (для Debian 8)

  3. Нажмите кнопку «Сохранить».
  4. Закройте текстовый редактор.

Чтобы применить все внесенные параметры, обновите список пакетов:

sudo apt-get update

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

sudo apt-get install -t stretch-backports [package name] (для Debian 9)

или

sudo apt-get install -t jessie-backports [package name] (для Debian 8)

Где вместо «[package name]» впишите наименование пакета, который хотите установить.

Шаг 5: Установка шрифтов

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

Для установки шрифтов, использующихся в Windows, вам нужно выполнить следующую команду:

sudo apt-get install ttf-freefont ttf-mscorefonts-installer

Добавить можно также шрифты из набора noto:

sudo apt-get install fonts-noto

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

Шаг 6: Настройка сглаживания шрифтов

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

  1. В «Терминале» перейдите в директорию «/etc/fonts/». Для этого выполните:

    cd /etc/fonts/

  2. переход в другую директории с помощью команды cd в терминале debian

  3. Создайте новый файл с именем «local.conf»:

    sudo gedit local.conf

  4. В открывшийся редактор введите следующий текст:

    <?xml version='1.0'?>
    <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
    <fontconfig>
    <match target="font">
    <edit mode="assign" name="rgba">
    <const>rgb</const>
    </edit>
    </match>
    <match target="font">
    <edit mode="assign" name="hinting">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <edit mode="assign" name="hintstyle">
    <const>hintslight</const>
    </edit>
    </match>
    <match target="font">
    <edit mode="assign" name="lcdfilter">
    <const>lcddefault</const>
    </edit>
    </match>
    <match target="font">
    <edit mode="assign" name="autohint">
    <bool>false</bool>
    </edit>
    </match>
    <dir>~/.fonts</dir>
    </fontconfig>

  5. Нажмите кнопку «Сохранить» и закройте редактор.
  6. сохранение документа local conf в debian

После этого во всей системе шрифты будут иметь нормальное сглаживание.

Шаг 7: Отключение звука системного динамика

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

  1. Открыть конфигурационный файл «fbdev-blacklist.conf»:

    sudo gedit /etc/modprobe.d/fbdev-blacklist.conf

  2. В самом конце прописать следующую строку:

    blacklist pcspkr

  3. Сохранить изменения и закрыть редактор.

Только что мы занесли модуль «pcspkr», который отвечает за звук системного динамика, в черный список, соответственно, проблема устранена.

Шаг 8: Установка кодеков

В только установленной системе Debian отсутствуют мультимедийные кодеки, это связано с их проприетарностью. Из-за этого пользователь не сможет взаимодействовать со многими форматами аудио и видео. Чтобы исправить ситуацию, необходимо их установить. Для этого:

  1. Выполните команду:

    sudo apt-get install libavcodec-extra57 ffmpeg

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

  2. установка кодеков в debian

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

    su
    echo "# Debian Multimedia
    deb ftp://ftp.deb-multimedia.org stretch main non-free" > '/etc/apt/sources.list.d/deb-multimedia.list'
    (для Debian 9)

    или

    su
    echo "# Debian Multimedia
    deb ftp://ftp.deb-multimedia.org jessie main non-free" > '/etc/apt/sources.list.d/deb-multimedia.list'
    (для Debian 8)

  4. установка мультимедийных кодеков в debian

  5. Обновите репозитории:

    apt update

    В выдаче можно заметить, что произошла ошибка — система не может получит доступ к GPG-ключу репозитория.

    ошибка при проверке репозиториев в debian

    Чтобы это исправить, выполните эту команду:

    apt-key adv --recv-key --keyserver pgpkeys.mit.edu 5C808C2B65558117

    регистрация gpg ключа репозитория в debian

    Примечание: в некоторых сборках Debian утилита «dirmngr» отсутствует, из-за этого команда не выполняется. Ее необходимо установить, выполнив команду «sudo apt-get install dirmngr».

  6. Проверьте, была ли устранена ошибка:

    apt update

    команда update в дебиан

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

  7. Установите необходимые кодеки, выполнив команду:

    apt install libfaad2 libmp4v2-2 libfaac0 alsamixergui twolame libmp3lame0 libdvdnav4 libdvdread4 libdvdcss2 w64codecs (для 64-разрядной системы)

    или

    apt install libfaad2 libmp4v2-2 libfaac0 alsamixergui twolame libmp3lame0 libdvdnav4 libdvdread4 libdvdcss2 (для 32-разрядной системы)

После выполнения всех пунктов вы установите все необходимые кодеки себе в систему. Но это еще не конец настройки Debian.

Шаг 9: Установка Flash Player

Те, кто знакомы с Linux, знают, что разработчики Flash Player уже давно не обновляют свой продукт на этой платформе. Поэтому, а также потому, что это приложение проприетарное, его нет во многих дистрибутивах. Но есть простой способ установить его в Debian.

Для установки Adobe Flash Player нужно выполнить:

sudo apt-get install flashplugin-nonfree

После этого он будет установлен. Но если вы собираетесь пользоваться браузером Chromium, то выполните еще одну команду:

sudo apt-get install pepperflashplugin-nonfree

Для Mozilla Firefox команда другая:

sudo apt-get install flashplayer-mozilla

Теперь все элементы сайтов, которые разработаны с использованием Flash, будут вам доступны.

Шаг 10: Установка Java

Если вы хотите, чтобы ваша система корректно отображала элементы, сделанные на языке программирования Java, необходимо инсталлировать этот пакет себе в ОС. Для этого нужно выполнить всего одну команду:

sudo apt-get install default-jre

После выполнения вы получите версию Java Runtime Environment. Но к сожалению, она не подходит для создания программ на Java. Если эта опция вам нужна, то выполните установку Java Development Kit:

sudo apt-get install default-jdk

Шаг 11: Установка приложений

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

Приложение Описание
evince Работает с файлами PDF
vlc Популярный видеоплеер
file-roller Архиватор
bleachbit Чистит систему
gimp Графический редактор (аналог Photoshop)
clementine Музыкальный проигрыватель
qalculate Калькулятор
shotwell Программа для просмотра фото
gparted Редактор дисковых разделов
diodon Менеджер буфера обмена
libreoffice-writer Текстовый процессор
libreoffice-calc Табличный процессор

Некоторые программы из этого списка уже могут быть установлены в вашей операционной системы, все зависит от сборки.

Чтобы выполнить установку какого-то одного приложения из списка, используйте команду:

sudo apt-get install ProgramName

Где вместо «ProgramName» подставьте название программы.

Чтобы установить сразу все приложения, просто перечислите их названия через пробел:

sudo apt-get install file-roller evince diodon qalculate clementine vlc gimp shotwell gparted libreoffice-writer libreoffice-calc

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

Шаг 12: Установка драйверов на видеокарту

Установка проприетарного драйвера видеокарты в Debian – это процесс, успешность которого, зависит от множества факторов, особенно если у вас AMD. К счастью, вместо подробного разбора всех тонкостей и выполнения множества команд в «Терминале», можно использовать специальный скрипт, который самостоятельно все скачивает и устанавливает. Именно о нем сейчас и пойдет речь.

Важно: при установке драйверов скрипт закрывает все процессы оконных менеджеров, поэтому перед выполнением инструкции сохраните все необходимые компоненты.

  1. Откройте «Терминал» и перейдите в директорию «bin», что находится в корневом разделе:

    cd /usr/local/bin

  2. Загрузите с официального сайта скрипт sgfxi:

    sudo wget -Nc smxi.org/sgfxi

  3. Дайте ему права на выполнение:

    sudo chmod +x sgfxi

  4. Теперь нужно перейти в виртуальную консоль. Для этого нажмите сочетание клавиш Ctrl+Alt+F3.
  5. Введите свой логин и пароль.
  6. вход в профиль в виртуальной консоли debian

  7. Получите права суперпользователя:

    su

  8. Запустите скрипт, выполнив команду:

    sgfxi

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

    sgfxi -o [версия драйвера]

    Примечание: все доступные версии для установки вы можете узнать с помощью команды «sgfxi -h».

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

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

sgfxi -n

Возможные проблемы

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

  1. Не удалось удалить модуль Nouveau. Решить проблему довольно легко — вам необходимо перезагрузить компьютер и снова начать работу скрипта.
  2. Виртуальные консоли переключатся автоматически. Если в процессе установки на экране вы увидите новую виртуальную консоль, то для возобновления процесса просто вернитесь на прежнюю, нажатием клавиш Ctrl+Alt+F3.
  3. Скрип в самом начале работы выдает ошибку. В большинстве случаев это происходит из-за отсутствующего в системе пакета «build-essential». Скрипт при установке скачивает его автоматически, но бывают и оплошности. Для решения проблемы установите пакет самостоятельно, введя команду:

    apt-get install build-essential

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

Шаг 13: Настройка автоматического включения NumLock

Все основные компоненты системы уже настроены, но напоследок стоит рассказать, как настроить автоматическое включение цифровой панели NumLock. Дело в том, что в дистрибутиве Debian по умолчанию этот параметр не настроен, и панель нужно включать каждый раз самостоятельно при запуске системы.

Итак, чтобы произвести настройку, вам необходимо:

  1. Загрузить пакет «numlockx». Для этого введите в «Терминал» эту команду:

    sudo apt-get install numlockx

  2. Открыть конфигурационный файл «Default». Этот файл отвечает за автоматическое выполнение команд при запуске компьютера.

    sudo gedit /etc/gdm3/Init/Default

  3. Вставить нижеуказанный текст в строку перед параметром «exit 0»:

    if [ -x /usr/bin/numlockx ]; then
    /usr/bin/numlockx on
    fi

  4. конфигурационный файл default в debian

  5. Сохранить изменения и закрыть текстовый редактор.

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

Заключение

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

install-debian-11-minimal-server-000.png

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

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

Для установки мы будем использовать образ Netinstall, который сейчас предлагается к скачиванию по умолчанию и предполагает наличие доступа к интернет во время установки. Однако, вопреки распространенному мнению, вы можете выполнить с его помощью минимальную установку системы, даже не имея доступа к сети. Все образа Debian являются гибридными, они могут быть записаны как на оптический носитель, так и на USB-флеш накопители.

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

После того, как вы загрузились с установочного носителя, вас встречает меню, в котором вы можете выбрать варианты установщика: текстовый или графический. Мы будем использовать текстовый режим, поэтому выбираем второй пункт — Install.

install-debian-11-minimal-server-001.pngЗатем следует выполнить ряд настроек будущей системы, которыми не следует пренебрегать. Начнем с выбора языка установки, в соответствие с которым будут сделаны языковые и региональные настройки системы.

install-debian-11-minimal-server-002.pngУкажите сочетание клавиш для переключения раскладки, по умолчанию предлагается стандартный Alt + Shift.

install-debian-11-minimal-server-003.pngВ дальнейшем установщик попытается настроить сеть и если в вашей сети есть работающий DHCP-сервер, то сетевые настройки будут получены автоматически, иначе вы можете ввести их руками или продолжить установку без сети, в этом случае будет доступна только минимальная установка.

install-debian-11-minimal-server-004.pngСледующий важный шаг — настройка пользователей. Debian предлагает несколько вариантов: с активным пользователем root или через sudo, когда учетная запись суперпользователя отключена и административные права получает созданный при установке пользователь (как в Ubuntu). Если исходить из соображение безопасности, то второй вариант лучше, но вы можете настроить систему по собственному усмотрению.

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

При отсутствии сети доступен только первый вариант (с активной учетной записью root).

install-debian-11-minimal-server-005.pngПосле настройки учетной записи суперпользователя вам будет предложено создать обычную учетную запись, никаких проблем с этим возникнуть не должно, достаточно указать желаемое имя и пароль.

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

install-debian-11-minimal-server-006.pngНа этом начальный этап установки завершен.

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

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

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

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

install-debian-11-minimal-server-007.pngДля всех представленных вариантов предлагается три схемы разметки: все файлы в одном разделе, выделение /home и выделение /home, /var и /tmp. Для сервера подходит только первый вариант, тогда как второй предпочтителен для рабочих станций. Третий, кроме как недоразумением назвать нельзя. Автоматически бить диск на несколько разделов, не имея четкого понимания причин такого разделения — глупо. А имея понимание и представление проще настроить сразу как надо вручную. Поэтому безальтернативно выбираем Все файлы в одном разделе.

install-debian-11-minimal-server-008.pngВ этом случае система выполнит классическую разбивку: корневой раздел в начале диска и раздел подкачки в его конце.

install-debian-11-minimal-server-009.pngДля UEFI-систем добавится ESP-раздел c EFI-загрузчиком в самом начале диска, затем корневой и подкачка.

install-debian-11-minimal-server-010.pngНа этом этапе вы можете либо поправить схему разметки, либо оставить все как есть и перейти к следующему этапу нажав Сохранить разметку и записать изменения на диск.

Ручная разметка

Автоматическая разметка — это хорошо, вы получите заведомо рабочий результат без лишних действий, но это будет не самый оптимальный вариант. Поэтому можно разметить диск вручную и сразу так, как нужно. Если вы используете SSD, то мы советуем отказаться от стандартной схемы разметки и перенести раздел подкачки в начало диска. Почему?

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

Если при классической схеме мы скопируем разметку на более емкий диск или увеличим диск виртуальной машины, то получим схему: корневой раздел — подкачка — свободное место. Конечно, если вы используете LVM, то такая схема не доставит затруднений, а вот в остальных случаях вам придется потратить дополнительное время на перемещение раздела подкачки в конец диска и расширения корневого раздела на свободное место.

Если же поместить подкачку вначале диска, то вы получите: подкачка — корневой раздел — свободное место, после чего расширить основной раздел не составит труда.

При использовании EFI не забывайте, что первым должен идти ESP-раздел.

Перейдем к практике, на первом экране разметки дисков выбираем метод Вручную, затем выберите из списка нужный диск и нажмите Enter:

install-debian-11-minimal-server-011.pngБудет предложено создать новую таблицу разделов, соглашаемся с этим. Мы рекомендуем создавать новую таблицу разделов каждый раз при новой установке.

install-debian-11-minimal-server-012.pngТеперь на нашем диске появится пункт Свободное пространство, переходим на него и снова нажимаем Enter, будет предложено создать новый раздел.

install-debian-11-minimal-server-013.png

Если у вас UEFI-система, то сначала создаем раздел размером не менее 500 МБ:

install-debian-11-minimal-server-014.pngУказываем его местоположение в начале диска:

install-debian-11-minimal-server-015.pngИ выбираем тип Системный раздел EFI, метка «загрузочный» будет включена автоматически.

install-debian-11-minimal-server-016.pngЗатем точно также создаете раздел подкачки нужного размера:

install-debian-11-minimal-server-017.pngИ корневой, на все оставшееся место. По умолчанию предлагается файловая система ext4, советуем ее оставить, если нет действительных оснований использования другой файловой системы и понимания всех плюсов и минусов ее использования.

install-debian-11-minimal-server-018.pngВ итоге вы должны получить следующий вариант разметки:

install-debian-11-minimal-server-019.pngВ MBR-системах у вас будет просто раздел подкачки и корневой раздел.

Настройка LVM

Ручная настройка LVM — достаточно сложный процесс, требующий определенных знаний и выходящий за рамки данной статьи, поэтому мы будем рассматривать автоматическую настройку и сопутствующие этому особенности, для ручной настройки LVM следует обратиться к нашей статье:

LVM для начинающих. Часть 2. Основы управления томами

Важной особенностью LVM-разметки является то, что загрузчик (раздел /boot) должен находиться за ее пределами, в UEFI-системах также за пределами LVM следует располагать и ESP-раздел. Таким образом выбрав автоматическую разметку LVM и схему Все файлы в одном разделе мы получим следующую схему:

install-debian-11-minimal-server-020.pngКак мы говорили выше, система автоматически создала ESP и /boot разделы размером по 500 МБ каждый, при этом ESP раздел должен располагаться первым. Запомните эту особенность на случай ручной настройки LVM в последующем. Также обращаем ваше внимание, что для современных ядер минимальный размер /boot раздела должен быть не менее 500 МБ, встречающиеся рекомендации в 256 МБ следует считать устаревшими.

Что касается самой LVM-разметки, то создана единственная группа томов (VG) — debian-vg, внутри которой расположены два логических тома (LV): root и swap_1. Расположение логических томов на диске роли не играет, так как LVM позволяет гибко управлять пространством томов, не оглядываясь на физическую конфигурацию дисковой подсистемы.

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

Программный RAID широко используется для обеспечения отказоустойчивости дисковой подсистемы и поэтому его настройку нельзя обойти стороной. Как и с LVM, при настройке программного RAID имеются некоторые особенности. В UEFI-системах ESP-разделы также следует располагать за пределами RIAD-массивов, однако на этом особенности настройки программного RAID не заканчиваются, и мы советуем обратиться к нашей статье:

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

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

Что касается схемы разметки, то мы точно также советуем размещать раздел подкачки перед корневым, в UEFI-системах самым первым должен быть ESP-раздел.

Основной залог успешного создания программного RAID-массива — это одинаковая разметка для входящих в его состав томов. Поэтому план действий будет следующий. Создаем на обоих дисках новую таблицу разделов.

install-debian-11-minimal-server-021.png

Затем размечаем согласно принятой схемы, основное внимание уделяем одинаковым размерам разделов. В итоге мы должны получить на каждом диске два одинаковых раздела подкачки и два раздела для RAID, система предложит по умолчанию отформатировать в ext4 и смонтировать как корень и /home, на самом деле это не имеет никакого значения, главное — полная идентичность разметки. В UEFI-системах к ним еще добавится два ESP-раздела, которые должны располагаться самыми первыми.

install-debian-11-minimal-server-022.pngТеперь переходим в раздел Настройка программного RAID и выбираем пункт Создать MD-устройство.

install-debian-11-minimal-server-023.pngЗатем выбираем тип RAID, в современных условиях практический смысл имеют RAID 1 и RAID 10, в нашем случае мы можем собрать из двух дисков только RAID 1 (зеркало).

install-debian-11-minimal-server-024.pngПосле чего указываем устройства, из которых мы будем собирать RAID-массив. Обратите внимание, что программный RAID строится по схеме один массив — один раздел. Поэтому если вы применяете разметку отличную от все файлы в одном разделе, то заранее создайте нужное количество разделов на каждом диске.

install-debian-11-minimal-server-025.pngТеперь созданные нами ранее разделы на каждом из дисков будут представлены как Linux RAID, а в списке дисков появится новое RAID-устройство. Создаем на нем раздел с нужной файловой системой и точкой монтирования в корень.

install-debian-11-minimal-server-026.pngА общая схема разметки будет выглядеть следующим образом:

install-debian-11-minimal-server-027.pngНа этом завершим тему разметки дисков и двинемся дальше.

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

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

install-debian-11-minimal-server-028.pngПосле выбора зеркала система скачает и обновит списки пакетов, а также ряд ключевых элементов системы, после чего вам будет предложено выбрать компоненты для установки. Оставляем только SSH-сервер и Стандартные системные утилиты.

install-debian-11-minimal-server-029.pngТеперь нажимаем на кнопку продолжить и ждем окончания процесса установки, так как пакеты скачиваются из сети общее время сильно зависит от скорости интернет-соединения.

install-debian-11-minimal-server-030.pngВ завершение будет предложено установить загрузчик GRUB, соглашаемся с этим предложением.

install-debian-11-minimal-server-031.pngПри этом можно заметить, что программа установки позволяет выбрать только один диск и если вы используете программный RAID, то на втором диске у вас загрузчика не будет. Это не то, чтобы плохо, установить загрузчик можно и позднее, но также просто об этом и забыть. Поэтому сначала установим загрузчик на первый диск.

install-debian-11-minimal-server-032.pngА в следующем окне вместо предложения перезагрузить систему нажмем кнопку Вернуться.

install-debian-11-minimal-server-033.pngПеред вами появится следующее меню, в котором выбираем пункт Установка системного загрузчика GRUB:

install-debian-11-minimal-server-034.pngПосле чего установите загрузчик на второй диск.

install-debian-11-minimal-server-035.pngНа этом установка завершена, можете перезагружать систему.

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

Так как мы уже установили пакет OpenSSH-сервера, то можем войти в систему как локально, так и удаленно. Второй способ безусловно удобнее, даже если сервер стоит у вас под боком, потому как SSH-консоль можно держать открытой на рабочем месте вместе с другими приложениями, скажем, браузером и копировать в нее нужные команды.

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

Теперь нужно повысить права. Если суперпользователь включен, то используйте команду:

su -

После чего укажите пароль суперпользователя. Ключ (-l, —login) вызывает оболочку регистрации входа пользователя, что эквивалентно непосредственному входу пользователя в систему. При этом будет изменен домашний каталог и применены все настройки рабочей среды суперпользователя (маска, переменные окружения и т.д.).

Если root выключен, то выполните команду:

sudo -s 

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

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

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

ip a

install-debian-11-minimal-server-036.pngКак видим, у нас есть интерфейс локальной петли и сетевой адаптер ens33, который получил динамический адрес 192.168.233.130, допустим мы хотим присвоить ему статический адрес 192.168.233.81. Для этого откроем на редактирование файл /etc/network/interfaces:

nano  /etc/network/interfaces

install-debian-11-minimal-server-037.pngИ приведем блок, относящийся к адаптеру ens33 к следующему виду:

allow-hotplug ens33
iface ens33 inet static
address 192.168.233.81
netmask 255.255.255.0
gateway 192.168.233.2
dns-nameservers 192.168.233.2

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

Сохраняем файл нажатием Ctrl + x.

Перезагружаем компьютер:

reboot

Теперь можем присоединиться к нему по новому адресу.

Настройка репозиториев

По умолчанию в Debian подключен только репозиторий main, содержащий только свободное ПО, соответствующее критериям FSF (Free Software Foundation, Фонд свободного ПО), но существуют еще два репозитория: non-free — бесплатно распространяемое ПО, не соответствующее критериям свободного ПО, contrib — программное обеспечение содержащее несвободные компоненты или требующие проприетарного ПО, например, Oracle Java.

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

sed -i "s/main/main contrib non-free/g" /etc/apt/sources.list

install-debian-11-minimal-server-038.png

После чего не забудьте выполнить обновление списка пакетов:

apt update

После чего можно выполнить обновление системы:

apt full-upgrade 

Или установить дополнительное ПО, обычно мы устанавливаем двухпанельный менеджер Midnight Commander и диспетчер задач Htop:

apt install mc htop

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

В Debian 11 в качестве брандмауэра установлен пакет nftables, это более мощное и продвинутое ПО, но требующее отдельного изучения. Если вы не готовы с ним работать, то можно вернуть привычный iptables и продолжать его использование. При этом на самом деле будет продолжать работать nftables, но в режиме совместимости с iptables.

Установим необходимые пакеты:

apt install iptables iptables-persistent

Теперь в порядке перечисленном ниже выполним следующие команды:

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 (ping, PMTUD) и SSH-соединения (порт TCP 22). Затем полностью блокируем все остальные входящие соединения.

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

iptables-save > /etc/iptables/rules.v4

Благодаря пакету iptables-persistent сохранённые правила теперь будут автоматически восстанавливаться при загрузке системы. Для их изменения удобнее всего вносить правки в файл /etc/iptables/rules.v4.

install-debian-11-minimal-server-039.pngРедактируя файл следует придерживаться следующих правил: первыми всегда должны идти два правила, выделенные нами желтым, а последним — запрещающее. выделенное красным. Все остальные правила должны размещаться между ними, при этом учитывайте, что правила проверяются в порядке их перечисления в файле и после срабатывания правила прохождение пакета через брандмауэр прекращается. Поэтому размещайте более частные правила выше более общих, в противном случае они никогда не сработают.

После сохранения изменений загрузите правила командой:

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

Посмотреть действующие правила и их счетчики можно командой:

iptables -L -vn

install-debian-11-minimal-server-040.pngНе пренебрегайте настройкой брандмауэра даже если ваш сервер находится внутри периметра и не имеет непосредственного выхода во внешнюю сеть. Безопасности много не бывает!

Установка sudo и отключение учетной записи root

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

apt install sudo

Затем добавим нужного пользователя в группу sudo:

usermod -a -G sudo andrey

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

passwd -l root

Еще раз повторим, данная схема используется по умолчанию в Ubuntu и представляется нам более безопасной, нежели наличие активной учетной записи root.

Установка нового ядра

В Debian 11 используется достаточно актуальное ядро с длительным сроком поддержки 5.10 LTS, выпущенное 13.12.2020 года. Однако бывают ситуации, когда для поддержки оборудования или каких-то дополнительных возможностей требуется более свежее ядро. В этом случае потребуется установка более свежей версии. Ничего страшного в этом нет, но мы не рекомендуем устанавливать новые версии ядер без насущной на то необходимости. Хотя это Linux и здесь каждый сам кузнец собственного счастья.

Есть много способов обновить ядро, но мы рассмотрим самый безопасный — с использованием репозитория Backports. Он предоставляет пакеты из testing (в основном) и unstable (в некоторых случаях, например, для обновления безопасности) версий Debian, адаптированных для работы в стабильном (stable) выпуске.

Прежде всего подключим репозиторий:

echo "deb http://deb.debian.org/debian bullseye-backports main contrib non-free" > /etc/apt/sources.list.d/bullseye-backports.list

И обновим список пакетов:

apt update

Затем перейдем к собственно обновлению. В системе существует метапакет linux-image-amd64, указывающий на последнюю версию ядра. Выполним:

apt policy linux-image-amd64

install-debian-11-minimal-server-041.pngКак можем увидеть, доступны ядра 5.10 и 5.18, но так как репозиторий Backports имеет более низкий приоритет (100 против 500), то автоматического обновления ядра не произойдет и для его установки нужно будет выполнить команду:

apt install linux-image-amd64 -t bullseye-backports

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

apt-cache search linux-image

В выводе команды мы без труда найдем пакеты последней LTS-версии 5.15.

install-debian-11-minimal-server-042.png

Выбираем нужный нам пакет и устанавливаем его командой:

apt install linux-image-5.15.0-0.bpo.3-amd64 -t bullseye-backports

Перезагружаемся и убеждаемся, что система работает с новой версией ядра.

install-debian-11-minimal-server-043.png

Заключение

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

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

Когда-то давно, в 2011 году, я пришёл на хабр со статьёй «Debian Server для новичка», которая представляла из себя систематизацию различной информации и представление её в актуальном и работоспособном виде. Данная статья так же позиционируется как справочный материал для новичка или обычного пользователя Linux, этакий мой небольшой вклад в популяризацию Linux. По сути, всё о чём я буду писать – это некая развёрнутая инструкция по установке и настройке домашнего облачного сервиса Nextcloud с нуля.

Созданная виртуальная машина с Nextcloud отработала с марта 2017 года практически без сбоев и осенью 2017 года я задумался о статье. У меня осталось много записей и комментариев в части решения различных проблем и нюансов, я долго вынашивал идею всё же привести всё это в порядок и опубликовать и новогодние праздники 2018 года мне в этом помогли. Надо сказать, что статья запоздала как минимум на полгода, но, думаю, что установить и настроить актуальные версии Debian и Nextcloud по аналогии с нижеприведённой информацией не составит большого труда, хотя, как известно, дьявол кроется как раз в деталях.
Ниже читатель познакомится с предпосылками создания своего облака и получит работающие инструкции по стартовой настройке Debian, лёгкому тюнингу среды Gnome3, компиляции, сборке и установке пакетов для Debian, установке и настройке сервисов Apache, SQL и PHP и начала работы с ними, генерации и подключения самоподписного сертификата SSL для виртуального хоста Apache, установка и настройка Nextcloud. Я не стал оформлять эту статью как технический мануал или туториал с длинной вереницей команд, а решил попробовать написать статью как рассказ, но без ущерба технической составляющей. Опытный пользователи Linux вряд ли тут найдут что-то новое, но, возможно, смогут прочитать его как тематическую историю в минутку своего свободного времени.


Оглавление

Часть 1. Настройка среды Debian для повседневного использования
Часть 2. Создание сервера — настройка LAMP в Debian
Часть 3. Создание персонального облака — установка и настройка Nextcloud
Часть 4. Актуализация 2018 – Debian 9 и Nextcloud 13
Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17


Быстрая навигация по главе

Предисловие
Постановка задачи
Создание и базовая настройка виртуальной машины
Настройка в панели управления
Настройка BASH
Настройка репозиториев
Обновление операционной системы
Установка программного обеспечения
Настройка программного обеспечения
Настройка gnome
Настройка сети
Настройка файрвола
Установка vmware-tools 10.0.10 в среде Debian 8.7.1
Сборка, установка и настройка notepadqq
Сборка и установка Double Commander


Предисловие

Наша история начинается в конце 2015 года, когда мной был приобретён новый смартфон. Motorola Droid Turbo оказался производительным аппаратом, с большой памятью, QHD дисплеем с приемлемой (относительно небольшой) диагональю, ёмким аккумулятором и практически чистым Android’ом на борту, что в моих глазах всегда являлось несомненным плюсом. Отделка задней панели баллистическим нейлоном придаёт ему своеобразный стиль, выделяясь на фоне аппаратов эпохи «обмылки». Давно привычные жесты включения фонарика потряхиванием или камеры быстрым помахиванием телефона уже вроде бы никого и не удивляют, но Motorola останется навсегда в истории как первопроходец с безупречной реализацией подобного функционала – к жестам я привык настолько, что даже не знаю где находится значок камеры. В общем, вы уже поняли, что телефон мне нравится всё хорошо и я от него в восторге до сих пор, кроме одного досадного момента – вся память телефона распаяна внутри него. И чтобы потерять наши драгоценные 64 гигабайта (пользовательских данных на самом деле меньше) нужно просто споткнуться так, чтобы телефон выпал из рук и «удачно» упал. Хотя в какой-то день он может просто не включиться. Или когда-то его могут банально украсть.

Все пользователи компьютерной техники делятся на две группы – те, кто делают бекапы и те, кто ещё их не делают. Я из второй группы перешёл в первую лет пятнадцать назад. По крайней мере на первом телефоне резервирование было продумано следующим образом. Все приложения с их настройками ежедневно автоматически бекапились через Titanium Backup на SD карту. На телефон устанавливалась SambaDroid, которая настраивалась таким образом, чтобы расшаривать SD карту телефона только при подключении его к сети с определённым SSID. Как нетрудно догадаться это происходило только при подключении телефона к Wi-Fi маршрутизатору у меня дома. На компьютере периодически запускался BitTorrent Sync, который на всякий случай запирался через файрвол в локальной сети (разрешалась активность только по локальным адресам), и при обнаружении расшаренной карты синхронизировал её содержимое с папкой на компьютере. В случае поломки телефона можно было просто вытащить SD карту с данными. В любом другом случае – всегда есть бэкап карты памяти на компьютере. Если в этот же день сломается компьютер — есть холодный бекап диска с данными, который находится в другом доме. Сон спокойный, здоровый, крепкий, поэтому руки от напряжения не трясутся и, как следствие, телефон никогда и не падает.

А что делать с этим новым телефоном? Приложения так же бекапятся через Titanium Backup. Но SD карта не вытаскивается, а SambaDroid, отлично работавшая на Android 2.х на линейке 4/5/6 ведёт себя нестабильно, да и от BitTorrent Sync я через некоторое время отказался. Наверняка можно было бы найти аналогичное решение, но я загорелся универсальным облачным решением. Казалось бы, вывод напрашивается сам собой и очевиден – есть Google Drive и куча приложений, которые синхронизируют указанные данные с облаком, обеспечивая (в теории) End-to-End шифрование. Но… с таким подходом эта статья бы никогда не была написана! Тем более автор в 2018 году даже не собирается подключать гуглоаккаунт к телефону и уж тем более не думает о синхронизации фотографий своих котиков с какими-то другими сервисами. Да, у меня паранойя, недоверие к корпорациям, желание держать личные данные под своим контролем, желание независимости от работы другого сервиса (который может и закрыться) и я не хочу платить за куцые гигабайты в облаке.

Пока я думал о том, что нужно что-то делать в плане исправления этой ситуации пролетел весь 2016 год и я понял, что вот, прямо сейчас надо уже реально озаботиться этой проблемой. Хотелось всё сделать красиво, с прицелом на будущее, на универсальность, надежность и, разумеется, автоматизм. Так как я активно не приемлю слишком уж большое и навязчивое участие корпораций в личной жизни решено было попробовать сделать своё персональное облако в локальной сети, используя ownCloud.
Цитата из википедии:

ownCloud — это Свободное и открытое веб-приложение для синхронизации данных, общего доступа к файлам и удалённого хранения документов в «облаке». ownCloud написан на языках программирования PHP и JavaScript. ownCloud работает с базами данных SQLite, MariaDB, MySQL, Oracle Database и PostgreSQL, и работает на серверах под управлением Linux, в том числе на Raspberry Pi. Разработку ownCloud начал один из разработчиков KDE, Франк Карлитшек, в январе 2010 г. Он стремился создать бесплатную альтернативу коммерческим облачным сервисам хранения данных. В отличие от них, ownCloud можно установить на собственный сервер без дополнительных затрат.

Возможности:
— Хранение файлов с использованием обычных структур каталогов, или с использованием WebDAV
— Криптография
— Синхронизация между клиентами под управлением Windows (Windows XP, Vista, 7 и 8), Mac OS X (10.6 и новее) или Linux
— Календарь (также как CalDAV)
— Планировщик задач
— Адресная книга (также как CardDAV)
— Потоковое мультимедиа (используется Ampache)
— Администрирование пользователей и групп (с использованием OpenID или LDAP)
— Расшаривание контента между группами или используя публичные URL
— Онлайн текстовый редактор с подсветкой синтаксиса и сворачиванием. Анонсирована поддержка онлайн-версий редакторов LibreOffice.
— Закладки
— Механизм сокращения URL
— Фотогалерея
— Просмотрщик PDF (используется PDF.js)
— Просмотрщик ODF файлов (.odt, .odp, .ods)
— Модуль логирования

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

У меня уже были сохранены некоторые ссылки на материал по установке и настройки ownCloud, но когда я начал разбираться с ним, то обнаружил, что в 2016 году главный разработчик ownCloud (Франк Карличек) покинул компанию и объявил о создании форка — Nextcloud. В отличии от ownCloud, который платен при некоторых условиях, Nextcloud бесплатен полностью. Учитывая то, что работу над новым форком возглавил имеющий большой опыт подобной разработки Франк Карличек, я решил выбрать Nextcloud. В начале 2017 года актуальной версией Nextcloud была версия 11.0.2 и именно её установка и настройка будет описана ниже. На январь 2018 года актуальной версией является 12.0.4, но, я думаю, никаких принципиальных отличий в установке и настройке не должно быть.


Постановка задачи

Поначалу всё казалось простым и я даже предположить не мог, что посидеть «пару выходных» растянется аж на два, два с половиной интересных месяца. Нередко красноглазил по ночам и задавал умные и не очень вопросы на тематических форумах. Мой совет новичкам – если что-то хотите сделать, не пугайтесь объёму работы и делайте. Главное, чтобы получилось хоть что-то в первый раз. Путь даже оно работает криво. Можно делать не понимая, как обезьяна, копировать длинную череду команд нередко доходя до места где что-то сбоит и просто ничего не получается. Может быть была допущена ошибка ранее, может опечатка в команде, может автор в своём мануале пропустил строку кода/команды, может быть в примере релиз ОС другой и на вашем работать не будет, может быть библиотеки не те – да мало ли что ещё может быть! Но когда что-то получится ты удивлённо скажешь: «Черт подери – заработало!» Это стоит того и будет началом появления азарта, стимулом разбираться дальше и уверенность в том, что получится: ведь если получилось один раз, то значит получится и в следующий, надо просто разбираться.

Итак, нужно определиться что именно нужно делать. Имеется пара телефонов, которые нужно подключить к облаку. Кроме этого хотелось бы еще подключить к нему и компьютер – объём дискового пространства в облаке теперь зависит только от моего желания и мне не нужно постоянно доплачивать за 10/20/30 гигабайт – я могу просто купить жесткий диск на пару терабайт. Центральным звеном в домашней сети является Wi-Fi маршрутизатор – именно к нему подключены телефоны через Wi-Fi, компьютер и ещё один компьютер, который выполняет роль нечаянного «сервера»: изначально компьютер собирался под задачи несостоявшегося HTPC, а сейчас на нём просто работает софт виртуализации от VMWare. VMWare Workstation имеет свой собственный виртуальный маршрутизатор, к которому пока подключена только одна виртуальная машина с FTP сервером. Решение напрашивается само собой – создать и подключить ещё одну виртуальную машину, через сетевые настройки VMWare пробросив на неё порты 80 (HTTP) или 443 (HTTPS). Решение модульное и элегантное в том плане, что абсолютно аппаратно-независимое и единожды настроенную виртуальную машину можно будет легко развернуть где угодно, на любом обычном компьютере.


Создание и базовая настройка виртуальной машины

Nextcloud – совсем грубо говоря, это сайт, который крутится на веб-сервере. В качестве веб-сервера я выбрал LAMP = Linux + Apache + MySQL + PHP. Это значит, что всё это нужно установить и настроить. А чтобы оно правильно работало надо понимать что устанавливать и как настраивать.

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

В качестве операционной системы был выбран Debian 8.7.1. В VMWare Workstation создаётся виртуальная машина, которой отводится один двухпотоковый процессор, два гигабайта оперативной памяти и жёсткий диск объёмом 120 гигабайт. Режим работы сетевой карты – NAT. Скачиваем ISO образ операционной системы для архитектуры amd64. После скачивания подключаем образ к виртуальному приводу и запускаем виртуальную машину. Установка операционной системы довольно банальна и её можно выполнить даже без мурзилок, которых предостаточно в интернете. В качестве графического окружения был выбран Gnome3, а также установлены «Standard system utilities» и «Print Server». Жесткий диск в процессе установки разбит на два раздела — общий раздел (/, /home, /usr и т.д.) и swap. Нового созданного пользователя обозвали нейтрально «user».

Сразу после установки пользователю показывается пустой рабочий стол. Файловый менеджер наутилус — типа проводника Windows, никогда не понимал почему им пользуются. Меню приложений не блещет своим структурированием. NumLock после загрузки всегда отключен. От текстовых редакторов nano или vi начинающий линуксоид вообще впадает в уныние. Надо всё это как-то исправлять. Нижеприведённое описание системы «под себя». О вкусах не спорят: кому-то понравится, кому-то – нет. Замечу, что без преодоления трудностей профессионального роста не будет и чем больше копаешься в чём-то — тем больше понимаешь как это работает.


Настройка в панели управления

Я привык переключать раскладку клавиатуры кнопками CTRL и SHIFT. Возможно в этом виноват драйвер клавиатуры со времён MS DOS 6.22, но что ж теперь поделать – привычка вторая натура. Кроме того, я не хочу, чтобы виртуальная машина засыпала или гасила экран и не хочу после каждого запуска вводить пароль.

Элементарная начальная настройка среды производится в панели управления:

— Язык и регион → Добавить русский язык в источники ввода.
— Клавиатура → Комбинации клавиш → Ввод → Клавиша модификатор переключает источники ввода → Назначить кнопку переключения языков Ctrl+Shift (если невозможно установить такое сочетание — пропустить этот шаг, настроим в разделе «Настройка gnome», который приведён ниже).
— Клавиатура → Комбинации клавиш → Дополнительные комбинации → Добавить новый пункт с названием «Terminal» и командой «x-terminal-emulator». После добавления щёлкаем по надписи «Выключен» и вводим комбинацию двух клавиш: Super (Win) + t.
— Мониторы → Установить разрешение экрана под текущий дисплей, так как по умолчанию установлено некомфортное 800х600.
— Электропитание → ОТКЛ выключение дисплея.
— Подробности → Съёмный носитель → ОТКЛ автозапуск при подключении носителей.
— Пользователи → ВКЛ автоматический доступ для пользователя user.


Настройка BASH

Следующий важный этап – настройка терминала. С командной строкой работать придётся очень много. Мало того, некоторые, если не многие, вещи в Linux проще и удобнее делать через терминал и именно поэтому в предыдущем пункте мы сделали комбинацию клавиш для быстрого вызова терминала. Bash — это интерпретатор командного языка, выполняющий команды, поступающие с клавиатуры. Bash умеет подсвечивать разным цветом файлы, папки, сетевые папки, файлы с различными правами доступа. С подстветкой становится ориентироваться несколько проще и веселее.

Важное замечание. Строки команд, начинающиеся с символа $, будут обозначать, что команду необходимо ввести от лица пользователя – нужно просто открыть терминал (ищется в меню приложений или просто нажимается комбинация Super+T) и ввести команду. Если строка начинается с символа # — это значит, что ввод должен производиться от имени суперпользователя (root). Для этого нужно открыть терминал пользователя и ввести команду:

$ su

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

Итак, как мне «раскрасить» терминал? Для этого выполняем команду:

$ nano /home/user/.bashrc

По этой команде в текстовом редакторе nano откроется конфигурационный файл bashrc. В этом файле нужной найти и раскомментировать строку «force_color_prompt=yes». Ниже ищем строку следующего вида (ниже условия if [ «$color_prompt» = yes ]; then):

PS1=’${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ‘

и копируем её (Shift+Ctrl+C), после чего редактор можно закрыть (Ctrl+X) с сохранением сделанных изменений.

Далее выполняем следующую команду:

# nano /root/.bashrc

Опять открывается конфигурационный файл, но уже для суперпользователя. Ниже закомментированной строки «#PS1=…» нужно вставить (Shift+Ctrl+V) скопированную строку с небольшим изменением (с заменой числа 32 на 31):

PS1=’${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ‘

Это небольшое изменение изменит цвет приглашения Bash: пользовательское приглашение user@debian будет подсвечиваться зелёным, а суперпользовательское root@debian – красным. Это поможет от нечаянной путаницы, когда по ошибке вводятся команды не от того пользователя от которого нужно.


Настройка репозиториев

Репозиторий – это база пакетов, доступных для установки. Важно поддерживать эту базу в актуальном состоянии. Сразу после установки у нас прописан базовый репозиторий и ссылка на установочный DVD, который содержит какое-то количество популярных пакетов. Для работы с репозиториями можно использовать программу synaptic с графическим интерфейсом. Но гораздо проще отредактировать список вручную через обычный текстовой редактор:

# nano /etc/apt/sources.list

Проверяем список репозиториев на соответствие нижеприведённому списку.

# security updates
deb security.debian.org jessie/updates main contrib non-free
deb-src security.debian.org jessie/updates main contrib non-free
# jessie-updates
deb httpredir.debian.org/debian jessie-updates main contrib non-free
deb-src httpredir.debian.org/debian jessie-updates main contrib non-free
# binary and source packages
deb httpredir.debian.org/debian jessie main contrib non-free
deb-src httpredir.debian.org/debian jessie main contrib non-free
# backports
# deb httpredir.debian.org/debian jessie-backports main contrib non-free
# deb-src httpredir.debian.org/debian jessie-backports main contrib non-free

Репозиторий Backports прописан, но отключен. Строго говоря его можно и не прописывать, но если прописать сразу, то потом отключать или подключать этот репозиторий будет проще – нужно будет просто закомментировать или раскомментировать требуемые строчки. Зачем он вообще нужен? Дело в том, что наряду с тем, что Debian является одним из самых стабильных дистрибутивов, как следствие, ПО в его репозиториях зачастую прилично устаревшее. Подключение Backports – это простой способ получить гораздо более новую версию какого-то софта (даже новее, чем в ветке testing Debian). Но нужно быть очень внимательным, так как при установке какой-то программы по зависимостям могут подтянуться другие пакеты, которые могут сломать систему из-за несовместимости старого софта с новыми пакетами. Backports – этот тот случай, когда вы точно знаете зачем это делаете.

После любого изменения содержимого файла sources.list нужно обязательно выполнить синхронизацию с репозиториями:

# apt-get update

Обязательно смотрим лог – никаких ошибок быть не должно. В противном случае нужно проверить корректность содержимого файла sources.list.


Обновление операционной системы

Чтобы узнать текущую версию системы выполним команду:

$ cat /etc/debian_version

Если система установлена из образа по вышеприведённой ссылке, то её номер будет 8.7.

Для обновления системы существует две команды: apt-get upgrade и apt-get dist-upgrade. Первая команда только обновит установленные пакеты, но при этом могут возникнуть конфликты и неудовлетворённые зависимости. Это некое безопасное обновление, при котором старые программы точно не портятся, но новые могут и не заработать. Вторая же команда удалит старые пакеты, разрешит конфликты, доставит необходимые зависимости и доставит новые пакеты, если требуется. При возникновении конфликтов она будет пытаться произвести обновление наиболее важных пакетов за счет менее важных. Этакое более умное обновление.

Обновим систему:

# apt-get dist-upgrade

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


Установка программного обеспечения

Устанавливаем следующие пакеты:

# apt-get install mc
# apt-get install gksu
# apt-get install numlockx
# apt-get install libcanberra-gtk-module
# apt-get install libqt5webkit5 libqt5svg5 coreutils
# apt-get install doublecmd-gtk
# apt-get install galculator
# apt-get install samba smbclient cifs-utils
# apt-get install jigdo-file
# apt-get install audacious
# apt-get install smplayer
# apt-get install firefox-esr
# apt-get install gufw

mc – это старый добрый Notron Commander только в Linux. Забываем про команды ls, cd, mkdir, rm и прочие.

gksu – позволит запускать программы с графическим интерфейсом от имени суперпользователя, а так же добавит в меню приложений терминал суперпользователя, который можно будет запускать сразу, а не выполнять последовательность «терминал → $ su → ввод пароля суперпользователя».

numlockx – поможет решить проблему с режимом numlock после загрузки системы, так как по умолчанию он всегда выключен.

Пакеты libcanberra-gtk-module, libqt5webkit5 libqt5svg5 coreutils нужны для функционирования двухпанельного менеджера Double Commander и текстового редактора Notepadqq, который мы установим чуть позже.

doublecmd-gtk – аналог Total Commander для Linux.

galculator – просто калькулятор, который умеет переключаться в инженерный вид.

samba smbclient cifs-utils – пакеты, необходимые для обеспечения работы в сети: расшаривание папок, доступ к расшаренным папкам, монтирование сетевых ресурсов.

jigdo-file – это инструмент для закачки и обновления образов CD, DVD, BD. например, если вы когда-то захотите создать полностью автономный и полный официальный репозиторий из Blu-Ray дисков дистрибутива Debian, то именно этот «торрент» нам понадобится, так как диски Blu-Ray распространяются в первую очередь через jigdo.

audacious – аудиоплеер.

smplayer – видеоплеер.

firefox-esr – браузер не нуждающийся в представлении.

gufw – графическая оболочка для утилиты настройки брандмауэра.

Вышеприведённые программы будут несколько дополнять базовый пакет ПО установленной системы, который немал, если при установке системы был выбран стандартный набор утилит. Функции MS Office выполняет пакет программ LibreOffice, есть графический редактор GIMP, Transmission для торрентов, почтовый клиент Evolution, просмотрщик фотографий, простой текстовой редактор gedit и прочее ПО. Аудио и видеоплееры в стандартном наборе тоже есть, но audacious и smplayer будут являться более функциональными и удобными программами.


Настройка программного обеспечения

numlockx решает проблему с режимом numlock после загрузки системы. После установки пакета нужно просто выполнить команду:
# numlockx on
И теперь после загрузки операционной системы NumLock будет всегда включен.

Файловый менеджер Double Commander я привёл к более минималистическому виду произведя следующие действия в его меню:

— Вид → Краткий (выполнить на обоих панелях)
— Настройки → Параметры → Инструменты → Терминал → В разделе «Команда запуска терминала» прописать «x-terminal-emulator», поле параметров оставить пустым
— Настройки → Параметры → Шрифты → все шрифты =11, шрифт «Просмотрщика (режим „Книга“)» =14
— Настройки → Параметры → Просмотр файлов → Выбрать метод сортировки «Естественная сортировка: алфавитно-числовая»
— Настройки → Параметры → Просмотр файлов → Установить опцию «Показывать системные и скрытые файлы»
— Настройки → Параметры → Вид окна → Установить только след. опции:
— Главное меню
— Панель инструментов + Плоские
— Кнопка списка дисков
— Строка свободного места на диске + Кратко
— Текущий путь
— Заголовки табуляторов
— Строка состояния
— Кнопки функциональных клавиш
— Плоский интерфейс
— Панель фоновых операций

Видеоплеер SMPlayer так же был немного настроен через меню пункт «Настройки»:

— Панели → ОТКЛ Главная панель и Языковая панель
— Настройки → Основные: ОТКЛ «Запоминать настройки всех файлов»
— Настройки → Внешний вид: Автоматически изменять размер — ВКЛ «Когда это нужно»
— Настройки → Внешний вид: ОТКЛ «Запоминать позицию и размер»
— Настройки → Обновления: ОТКЛ «Проверить обновления» и ОТКЛ «Открыть страницу с информацией после обновления»

Из минимальных расширений для firefox стоит упомянуть Ghostery, с помощью которого можно блокировать многие следящие жучки и рекламу, и friGate, расширяющий возможности браузера по настройке прокси (прокси нам, конечно ни к чему, но вдруг понадобится – так он всегда тут, под рукой). Отмечу, что стоит ставить friGate версии 2.2.1.1 (из архивов), так как ветка 3.х демонстрирует полную победу «эффективного» менеджмента и маркетинга над здравым смыслом.

Что делать, если в браузере нужен Flash Player? На странице загрузки Adobe Flash Player выбираем .tar.gz для Linux и скачиваем предложенный файл. Из архива необходимо «достать» libflashplayer.so и скопировать его в /home/user/.mozilla/plugins. Все действия можно сделать через Double Commander – он умеет заходить в архивы как папки. Ниже я привёл как это сделать через команды в терминале:

[ Данный текст написан специально для сайта geektimes.ru автором AlexanderS.
Ссылка на источник необязательна, но его упоминание крайне желательно! ]

$ cd /home/user/Загрузки
$ mkdir flash
$ tar xzf flash_player_npapi_linux.x86_64.tar.gz -C flash
$ mv flash/libflashplayer.so /home/user/.mozilla/plugins

После перезапуска firefox и разрешения работы плагина флеш на сайтах должен заработать. Но в некоторых случаях это может быть недостаточно или задачи требуют запуска флеш локально из какого-то приложения. Тогда можно установить Flash Player в систему, хотя мне кажется это далеко не лучшая идея (собственно, как и разрешать flash в барузере). Для этого нам нужно сконвертировать полученный архив в DEB пакет, который потом установить с помощью менеджера пакетов. На самом деле это просто.

Устанавливаем конвертер и компилятор:

# apt-get install alien make gcc

Преобразовываем полученный архив:

# alien —to-deb flash_player_npapi_linux.x86_64.tar.gz

Смотрим какой пакет у нас получился, допустим flash-player-npapi-linux.x86-64_1-2_all.deb, и устанавливаем его:

# dpkg —install flash-player-npapi-linux.x86-64_1-2_all.deb


Настройка gnome

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

С установкой Double Commander можно сказать: «Долой командную строку!» Но как быть если нужно побродить в папках от суперпользователя? Каждый раз заходить в терминал суперпользователя и набирать doublecmd? Можно проще! Создадим ярлык в меню для Double Commander, который будет запускать его в сессии суперпользователя:

# doublecmd /usr/share/applications

Нужно сделать копию файла doublecmd.desktop и назвать новый файл doublecmd-root.desktop. Можно использовать привычное сочетание клавиш Ctrl+C и Ctrl+V. Далее нужно открыть файл doublecmd-root.desktop (нажимаем привычную кнопку F4 для запуска встроенного в файловый менеджер текстового редактора) и скорректировать соответствующие строки к следующему виду:

Name=Double Commander [root]
Exec=gksu doublecmd

Затем закрываем все открытые программы и идём в меню «Приложения», в котором удаляем все значки из избранного (левая вертикальная колонка с иконками программ). После чего из меню программ добаляем (перетаскиваем) в избранное значки в следедующем порядке: Double Commander → Nautilus → Firefox → Терминал → Galculator → Терминал суперпользователя → Double Commander [root].

После этих изменений перезагружаем графическую оболочку: нажимаем Alt+F2 и вводим команду r.

Теперь приступим к тонкой настройке оболочки. Для этого существует специальный софт:

$ gnome-tweal-tool

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

— Верхняя панель → ВКЛ отображение даты
— Окна → ВКЛ разворачивание и сворачивание окон
— Рабочий стол → ВКЛ отображения значков на рабочем столе, ОТКЛ системных значков (Сеть, Корзина и т.д.)
— Расширения → ВКЛ расширения Applications Menu, Window List
— Электропитание → выключение компьютера при нажатии на кнопку питания (выбрать Shutdown)
Если на этапе «Настройка в панели управления» не получилось настроить переключение раскладки клавиатуры по Ctrl+Shift, то вносим изменение с следующий пункт:
— Клавиатура → в пункте «Переключение на другую раскладку» выбрать сочетание клавиш Ctrl+Shift

В пункте «Расширения» внизу есть ссылка на загрузку дополнительных расширений, при переходе по которой в браузере откроется сайт с дополнениями для gnome. Через поиск находим расширения Lock keys и Remove dropdown arrows и устанавливаем их. Будьте внимательны – перед поиском расширений необходимо в браузере разрешить временное выполнение плагина Gnome Shell Integration. При открытии странички с расширением вверху есть движковая кнопочка ON/OFF, по нажатию на которую будет предложено добавить расширение. Первое расширение добавит индикатор кнопок Caps Lock и Num Lock (у меня беспроводная клавиатура, на которой соответствующих индикаторов нет). Второе – уберёт ниспадающие стрелочки у меню приложений, окон на панели задач и языковой панели.

В результате такого нехитрого тюнинга графическое окружение у нас приблизилось к более практическому виду.

Как было:

Как стало (разрешение экрана, к сожалению, уже другое):

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


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

Для сетевого взаимодействия с своей виртуальной машиной создадим папку и всем дадим права на её изменение:

$ mkdir /home/user/Net
$ chmod 777 /home/user/Net

Теперь нужно эту папку расширить. В Linux это делает очень просто:

# mcedit /etc/samba/smb.conf

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

[Net]
path = /home/user/Net/
comment = Net Folder
readonly = no
guest ok = yes

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

# service smbd restart

Никаких перезагрузок операционной системы не требуется — с хостовой операционной системы сразу станет доступна сетевая папка Net внутри гостевой виртуальной машины.


Настройка файрвола

Для настройки брандмауэра в Linux имеется мощное средство IPTables. К сожалению сходу в него сразу не погрузиться, тем более новичку, а если периодически не пользоваться, то утратить опыт настройки довольно легко. Поэтому будем использовать специальную утилиту для конфигурирования правил iptables — Uncomplicated Firewall (ufw). Правила можно создавать через графический интерфейс, для чего было установлен gufw, но, как я говорил, начально это проще сделать через терминал.

Включаем логгирование файрвола и настраиваем его правила – запрещаем все входящие:

# ufw logging on
# ufw default deny incoming
# ufw default allow outgoing

Разрешаем соединения для сетевого окружения и доступа к файлам:

# ufw allow 138/udp
# ufw allow 139/udp
# ufw allow 139/tcp
# ufw allow 445/tcp

Разрешаем соединения для функционирования почтовых клиентов:

# ufw allow 25
# ufw allow 465
# ufw allow 110
# ufw allow 143
# ufw allow 993

Включаем защиту:

# ufw enable


Установка vmware-tools 10.0.10 в среде Debian 8.7.1

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

Так уж получилось, что моя история работы с vmware-tools в Linux – это история периодического хождения по граблям. Одно время я даже использовал open-vm-tools, но там были проблемы с монтированием папки hgfs (именно в ней появляются подключенные папки в разделе Shared Folders настроек виртуальной машины).

В начале 2017 года у меня была VMWare Workstation 12.1.0, которая комплектовалась набором ISO образов vmware-tools версии 10.0.10. Как ни странно, всё прошло неожиданно гладко, тихо и спокойно.

Для установки vmware-tools нам нужно будет установить компилятор и, обязательно, headers, без которых нормально vmware-tools, по крайней мере раньше, не собирались в принципе:

# apt-get install linux-headers-$(uname -r) make gcc

На этот раз я не стал помещать образ linux.iso в виртуальный привод, а скопировал его в сетевую папку (сеть-то теперь у нас уже есть) после чего примонтировал его в Linux и распаковал нужный архив:

# mkdir /mnt/iso
# chmod 777 /mnt/iso
# mount -o loop -t iso9660 /home/user/Net/linux.iso /mnt/iso
$ tar xvzf /mnt/iso/VMwareTools-10.0.10-4301679.tar.gz -C /home/user/Net

Теперь можно запустить скрипт, который скомпилирует и установит vmware-tools:

$ cd /home/user/Net/vmware-tools-distrib
# ./vmware-install.pl

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

После установки удаляем ненужные файлы и перезагружаемся:

# umount /mnt/iso
$ rm -rf /home/user/Net/vmware-tools-distrib
$ rm /home/user/Net/linux.iso
# reboot

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


Сборка, установка и настройка notepadqq

Я давно привык к связке Total Commander + Notepad++ и, естественно, искал альтернативу в Linux. Роль Total Commander неплохо заменяет Double Commander, хотя полностью Total заменить нечем. Нашёлся и аналог Notepad++, который называется Notepadqq, который так же полностью не заменяет Notepad++, однако лучше встроенного редактора Double Commander или того же nano. По крайней мере подсветка синтаксиса в Notepadqq есть и она нормально работает.

Внезапно появилась только одна проблема – в репозиториях пакета не было. Совместимый deb пакет для установки я нашёл, но версия была неактуальная и софт откровенно и безбожно глючил. Вариантов не было – надо было самому собирать пакет из доступных исходников.
После скачивания архива с исходным кодом внутри обнаружился файл README.md, в котором была найдена инструкция по сборке и установке пакета с помощью утилиты make. Однако мне хотелось иметь полноценный пакет, который я бы мог установить и безболезненно удалить, чего в принципе невозможно, установив его через make install. Вообще, на Хабре есть хорошая статья на эту тему. Поэтому я собирал пакет через checkinstall.

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

# apt-get install git qt5-qmake checkinstall
# apt-get install libqt5webkit5 libqt5svg5 coreutils
# apt-get install libqt5webkit5-dev libqt5svg5-dev qttools5-dev-tools
# apt-get install libcanberra-gtk-module

Скачиваем исходный код (на начало 2017 года актуальной версией была 1.0.1) и запускаем сессию fakeroot:

$ git clone github.com/notepadqq/notepadqq.git
$ cd notepadqq
$ fakeroot

Fakeroot запускает программы в особом окружении, которое эмулирует сессию супер-пользователя. Повышенные права могут потребоваться для работы утилиты make.

Теперь нужно сконфигурировать окружение для проекта в зависимости от архитектуры процессора (в моём случае – первый вариант, x86_64):

$ ./configure —prefix /usr —qmake /usr/lib/x86_64-linux-gnu/qt5/bin/qmake

или

$ ./configure —prefix /usr —qmake /usr/lib/i386-linux-gnu/qt5/bin/qmake

или

$ ./configure —prefix /usr —qmake /usr/lib/arm-linux-gnueabihf/qt5/bin/qmake

И компилируем программу, наблюдая за происходящей магией в терминале:

$ make

После успешной компиляции можно собрать пакет с заполнением информации о нём:

$ checkinstall -D —install=no

Если запустить checkinstall без директивы «—install=no», то собранный пакет автоматически установится в систему, а файл пакета будет сразу удалён. Меня это категорически не устраивало, так как для сборки я использую отдельную виртуальную машину (не стоит замусоривать целевую машину различными компиляторами, IDE и прочим софтом, который там никогда использоваться не будет) и в результате мне нужно было получить нормальный DEB пакет, который я могу перенести на нужную виртуальную машину и там установить. Директива «—install=no» нужна для того, чтобы только создать пакет и не устанавливать его.

В процессе сборки нам будет задан вопрос об описании пакета. Я написал следующее: «Notepadqq 1.0.1 amd64 build 20170326». После ввода описания, я бы рекомендовал заполнить поле Maintainer (сборщик пакета, его сопроводитель) – нажать кнопку 0 (ноль) и ввести свой ник или хоть что-то, но не оставлять его пустым.

После сборки пакета выходим из сессии fakeroot:

$ exit

Если всё прошло успешно и без ошибок, то у нас в рабочей папке появился файл вида notepadqq_20170326-1_amd64.deb. Теперь его можно установить, используя нормальный менеджер пакетов:

# dpkg –i notepadqq_20170326-1_amd64.deb

Запускаем Double Commander и подключаем notepadqq в качестве редактора по умолчанию:
Настройка → Редактор → Включить опцию «Использовать внешнюю программу», в качестве пути прописать: notepadqq

Собранная мной версия 1.0.1 зарекомендовала себя очень хорошо и я с ней отработал целый год. Теперь мы умеем правильно собирать пакеты из исходников – это совсем несложно!


Сборка и установка Double Commander

В установленном Double Commander было несколько неприятностей. Он глючил при работе с сетевыми папками и редактировании длинным имён файлов. Кроме этого иногда он криво закрывался из-под суперпользователя. Из репозитория изначально была установлена версия 0.5.х, в то время как на сайте проекта была доступна 0.7.8, которая этими проблемами уже не болела. Попытка получить DEB пакет вывела на ресурс launchpad.net/ubuntu, где предлагалось скачать несколько собранных пакетов версии 0.6.х и установить их в какой-то комбинации. Зачем несколько пакетов? Да и версия совсем не новая. Попытка необдуманно поставить новую версию из Backports привела к падению системы, починить не удалось и я просто удалил виртуальную машину, подтянув заботливо сохранённый резервный файл образа жесткого диска.

Однако какие проблемы могут тут быть, если есть исходный код? Я же теперь могу скомпилировать и собрать пакет самостоятельно! Сначала шло всё как обычно. Получение исходников, разбирательство что там и где и попытки их как-то скомпилировать, не понимая логики своих действий. Потом я всё же сподобился почитать документацию из которой следовало, что для компиляции никакой make не поможет – нужна полноценная IDE, в которой и разрабатывается проект. Ну… а почему бы не поставить IDE? И я резво пошёл по граблям, не предполагая, что этой займет с неделю.

Для работы нам нужно установить уже знакомые пакеты:

# apt-get install make gcc checkinstall subversion

Для нормальной установки IDE (Lazarus) необходимо доставить следующие пакеты:

# apt-get install libdbus-1-dev libglib2.0-dev libncurses5-dev libx11-dev libgtk2.0-dev libcanberra-gtk-module

Очень важное замечание: на странице разработки вики проекта приведён перечень необходимых пакетов, в котором прописан пакет libgtk-2.0-dev, которого на самом деле не существует – вместо него нужно ставить libgtk2.0-dev (без дефиса!).

Теперь нам надо установить саму IDE. Lazarus – это открытая среда разработки программного обеспечения на языке Object Pascal для компилятора Free Pascal. То есть помимо IDE надо ещё и компилятор поставить. Сначала я бодро нашёл и скачал нужные файлы, разумеется последней версии, установил их и долго не мог понять причину почему проект упорно не компилируется. Конечно, учитывая, что я делал всё в первый раз на софте, который до этого в глаза не видел, я допускал феерические ошибки и алогичные действия. Но правда оказалась горька – в совокупности с проблемой лишнего дефиса в libgtk-2.0-dev оказалось, что для Double Commander 0.7.8 рекомендовано использование lazarus 1.6.2, а не 1.6.4, которую я установил.

Для установки среды разработки нужно открыть сайт проекта Lazarus и выбрать Lazarus Linux amd64 DEB или Lazarus Linux i386 DEB в зависимости от архитектуры процессора. После этого выбираем версию IDE (для Double Commander 0.7.8 — 1.6.2) и скачиваем пакеты lazarus-project, fpc, fpc-src.

Устанавливаем пакеты

# dpkg -i fpc_3.0.0-151205_amd64.deb
# dpkg -i fpc-src_3.0.0-151205_amd64.deb
# dpkg -i lazarus-project_1.6.2-1_amd64.deb

После установки запускаем среду разработки, проигнорировав предупреждение о недоступности отладчика:

$ startlazarus

В настройках «Сервис» выбираем пересборку (перекомпиляцию) lazarus (по профилю Normal IDE). IDE должна нормально пересобраться — иначе с ней работать дальше нельзя и надо разбираться почему никогда не было, но вот, случилось опять. Бывали случаи, что проще было взять новую виртуальную машину и сделать всё заново, так как в процессе установки/удаления lazarus где-то что-то не устанавливалось или не удалялось и система необратимо замусоривалась.

После всех разрешенных вопросов с IDE получаем исходный код. Можно получить исходный код с svn (релиза 0.7):

$ svn co svn.code.sf.net/p/doublecmd/code/branches/0.7 doublecmd

Можно получить исходный код текущего проекта с svn:

$ svn co svn.code.sf.net/p/doublecmd/code/trunk doublecmd

Можно просто скачать исходный код с сайта проекта и распаковать файл:

$ tar xzf doublecmd-0.7.8-src.tar.gz

Допустим мы получили папку с исходным кодом и она находится по пути /home/user/work/doublecmd.

Далее нужно скомпилировать проект. Запускаем IDE в сессии fakeroot:

$ fakeroot
$ startlazarus

В соответствии с файлом doublecmd\doc\INSTALL.txt (для актуальной версии уточнить пакеты на странице разработки проекта в разделе «Building from source») нужно подключить или скомпилировать пакеты к lazarus, а после подключения последнего пакета пересобрать lazarus. Делается это следующим образом: следуем в меню Package → Open package file (.lpk) → Выбираем требуемый файл и открываем его → В открывшемся новом окне нажимаем кнопку «Use» после чего выбираем «Install», если пункт «Install» недоступен, то просто нажимаем на кнопку «Compile». Все компоненты находятся в папке components исходного кода. Нам нужно подключить следующие компоненты:

— chsdet/chsdet.lpk
— CmdLine/cmdbox.lpk
— multithreadprocs/multithreadprocslaz.lpk
— dcpcrypt/dcpcrypt.lpk
— doublecmd/doublecmd_common.lpk
— KASToolBar/kascomp.lpk
— gifanim/pkg_gifanim.lpk
— viewer/viewerpackage.lpk

После подключения последнего компонента нужно утвердительно ответить на вопрос о пересборке IDE либо самостоятельно запустить пересборку через меню «Сервис».

Если пересборка успешно завершилась, то можно попробовать откомпилировать проект, открыв через Lazarus файл doublecmd/src/doublecmd.lpi и запустив компиляцию (кнопка F9). После успешной компиляции (в процессе могут показываться предупреждения, но ничего страшного – главное, чтобы фатальных ошибок не было) должен отрыться Double Commander. Если этого не произошло то, с высокой долей вероятности, в процессе компиляции возникла ошибка и надо разбираться что с ней делать и как жить дальше. Можно попытаться решить проблему логически, но при отсутствии опыта шансов, конечно, очень мало. Поэтому нежно забираем текст ошибки в буфер обмена и идём с ней прямо в неведомые дали интернета.
После успешной компиляции проекта закрываем IDE.

Итак, мы получили в папке с исходным кодом бинарный файл doublecmd, который запускается. Всё хорошо, но… а как сделать нормальный пакет? Вот тут нам поможет папочка install. Если вдумчиво понаблюдать за кодом файла create_packages.sh, само название которого сильно обнадёживает, то можно сделать далеко идущие выводы о том, что нам нужно в части параметров, которые нужно прописывать при запуске скрипта. По применению этого скрипта возможно даже есть какая-то документация, но мне хватило логического осмысления кода. Одна просто запуск на исполнение этого файла мне ничего не давал так как процесс постоянно сбоил и останавливался на ошибках, как правило, отсутствия нужных путей. Для успешной сборки пакета нужно немного подправить скрипт create_packages.sh.

Ищем в коде строку и комментируем или удаляем её:

svn export ../ $BUILD_DC_TMP_DIR

Ниже прописываем:

cp -vR /home/user/work/doublecmd/ $BUILD_DC_TMP_DIR

Ищем в коде строку и комментируем или удаляем её:

linux/update-revision.sh ../ $BUILD_DC_TMP_DIR

Если код получен с svn, то эти два изменения можно и не делать, но при скачивании кода отдельным архивом без этих правок сделать пакет не получалось.
Далее ищем строку и опять комментируем/удаляем:

export MAINTAINER=«Alexander Koblov <Alexx2000@mail.ru>»

Вместо неё прописываем себя:

export MAINTAINER=«Vlastelin Mira»

Далее ищем строку и снова комментируем/удаляем:

checkinstall -D —default —pkgname=doublecmd —pkgversion=$DC_VER —pkgarch=$DEB_ARCH —pkgrelease=1.$lcl —pkglicense=GPL —pkggroup=contrib/misc —requires=libx11-6 —nodoc —pakdir=$PACK_DIR $BUILD_DC_TMP_DIR/install/linux/install.sh

Ниже прописываем то же самое, но с небольшим изменением, которое позволит после сборки пакета автоматически не устанавливать его в систему и сохранит собранный пакет:

checkinstall -D —install=no —default —pkgname=doublecmd —pkgversion=$DC_VER —pkgarch=$DEB_ARCH —pkgrelease=1.$lcl —pkglicense=GPL —pkggroup=contrib/misc —requires=libx11-6 —nodoc —pakdir=$PACK_DIR $BUILD_DC_TMP_DIR/install/linux/install.sh

Запускаем генерацию пакета для Debian в сессии fakeroot из которой мы и не выходили:

$ ./create_packages.sh -D —ws=gtk2 —cpu=x86_64

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

$ exit

Полученный пакет, например, doublecmd_0.7.8-1.gtk2_amd64.deb, будет находиться в /doublecmd/install/linux/release/ откуда его можно установить обычной командой:

# dpkg -i doublecmd_0.7.8-1.gtk2_amd64.deb


Вернуться в начало, к оглавлению.


История создания домашнего облака. Часть 1. Настройка среды Debian для повседневного использования
Версия текста: 1.1.2.
Дата первой публикации: 10.01.2018.
Дата последней правки: 29.12.2021.

Лог обновлений

1.1.2 [29-12-2021]
Правка ссылок оглавления.

1.1.1 [15-01-2020]
Обновление оглавления.

1.1.0 [10-01-2018]
Дополнено название статьи.

1.0.0 [10-01-2018]
Первая версия.
Описывается настройка среды Debian 8.7.x и сборка из исходников пакетов Notepadqq 1.0.1 и Double Commander 0.7.8.

Введение 

Debian — один из самых стабильных, популярных и старейших дистрибутивов, чем заслужил доверие многих пользователей, нашел свое применение не только в серверном сегменте, но и на рабочих станциях. Релиз Debian 10 состоялся 6 июля 2019 года, основан на базе ядра Linux версии 4.19, получил кодовое имя Buster. В этой статье расскажем, как пошагово установить операционную систему Debian 10 на выделенный сервер компании Selectel вручную.

Системные требования

Большинство дистрибутивов на основе ядра Linux имеют скромные требования к ресурсам компьютера, Debian — не исключение.

Минимальные системные требования:

ОЗУ: 256 Мб

Жесткий диск: 2 Гб

Рекомендуемые системные требования:

ОЗУ: 512 Мб

Жесткий диск: 2 Гб

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

Заказ сервера

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

панель управления

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

консоль

В качестве примера выбрана конфигурация DL-10, на следующем шаге требуется выбрать операционную систему, модель потребления трафика, тарифный план, количество серверов данной конфигурации и их локацию. Нет необходимости вручную устанавливать ОС, все автоматизировано, об этом подробнее рассказано ниже, но поскольку в статье рассматривается ручная установка ОС — выбираем No OS boot.

выбор ОС

По окончании выбора настроек сервера — нажать Оплатить сейчас.

выбор оплаты

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

Варианты установки

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

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

Есть возможность на этапе заказа сервера определиться с выбором операционной системы, это самый быстрый вариант, подходит большинству пользователей, экономит время. В примере выбран Debian 10.

автонастройка

Автоматическая установка после заказа сервера

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

настройка ОС

Далее выбрать дистрибутив Debian, версия 10, остальные настройки по желанию можно изменить, затем нажать Установить.

выбор системы

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

название сервера

Во время установки ОС меню работы с сервером выглядит следующим образом:

идет установка

Осталось дождаться окончания процесса установки, и сервер будет готов к работе.

Установка на собственный сервер

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

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

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

Ручная установка через KVM-консоль

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

ручная установка

Через этот инструмент есть возможность установки операционных систем из iso-образов. Установка будет произведена из netinstall-образа:

  1. открыть Virtual media, выбрать Virtual storage;
  2. в появившемся окне, поле Logical Drive Type, выбрать значение ISO File;
  3. нажать Open Image, выбрать папку Debian, из предлагаемых нажать на debian-10.10.0-amd64-netinst.iso, нажать Open;
  4. нажать Plug in, потом OK;
  5. перезагрузить сервер.

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

Установка Debian 10

В загрузочном меню необходимо выбрать пункт Install и нажать Enter, процесс установки начнется примерно через 30 секунд и будет происходить в псевдо графическом режиме.

install debian 10

Выбор языка

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

Выбор страны

Из появившегося списка нужно выбрать страну расположения сервера, в данном случае выбираем other, в следующем меню Europe, затем Russian Federation.

выбор языка

Выбор локали

Локаль — файл с настройками отображения символов, используемых в региональных рамках. Поскольку рассматриваем установку ОС на сервер, рекомендуется выбрать United States en_US.UTF-8.

выбор локали

Выбор раскладки клавиатуры

С учетом выбранных ранее языковых настроек, указываем American English.

раскладка

Установка сети

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

Начать лучше с карты, подсвеченной установщиком в меню, нажать Enter. Будут происходить попытки получить настройки по протоколу DHCP от маршрутизатора в сети. При появлении сообщения Network autoconfiguration failed нужно нажать подсвеченную Continue. В следующем появившемся меню клавишей Tab перейти на кнопку Go back, нажать Enter и повторить процедуру с другим сетевым адаптером. Если установщик сообщил Network autoconfiguration has succeeded и перешел к следующему этапу — сетевой интерфейс выбран верно.

сеть

Имя сервера

Необходимо ввести имя узла для идентификации сервера, нажать Enter. Существует отличная статья о маркировке оборудования в блоге компании, пункт «Как правильно давать названия». На скриншоте указано spb-mail-01. Любой администратор поймет, что это первый почтовый сервер в Санкт-Петербурге. Имя будет храниться в конфигурационном файле /etc/hosts установленной операционной системы.

имя сервера

Имя домена

Если сервер будет работать в домене, нужно ввести его имя. Если домена нет — оставить поле пустым и нажать Enter.

имя домена

Установка пароля пользователя root

Необходимо задать пароль администратора системы — пользователя root. Общие рекомендации по безопасности:

  • пароль должен состоять из прописных и строчных букв, цифр и спецсимволов;
  • пароль не может быть пустым;
  • пароль не должен быть словарным;
  • пароль не должен быть связан с вашей личностью, например, с датой рождения;
  • пароль должен содержать не менее 8 символов, больше — лучше.

При вводе пароля вместо символов будут отображаться звездочки, это нормально. После ввода пароля надо нажать Enter. Далее установщик предложит ввести пароль заново, чтобы удостовериться, что введенные дважды пароли совпадают. Следует ввести пароль пользователя root и нажать Enter.

установка пароля

повторный ввод

Создание пользователя

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

создание пользователя

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

поле ввода для пароля

Следует ввести пароль для создаваемого пользователя, закончить ввод нажатием клавиши Enter.

подтверждение

По аналогии с вводом пароля для пользователя root необходимо ввести его повторно и нажать Enter.

повторный ввод

Настройка часов

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

часовой пояс

Разметка жесткого диска

Выбрать разметить вручную — Manual и нажать Enter.

жесткий диск

Появится список доступных дисков, в примере их два. В данный момент они не имеют каких-либо разделов. Диски абсолютно одинаковы. Рассмотрим создание зеркального массива RAID1. Это позволит увеличить степень надежности хранения данных. При выходе из строя одного из дисков система продолжит функционировать на оставшемся. Уделим внимание также размещению LVM поверх разделов RAID. LVM позволяет гибко работать с разделами жестких дисков, например, изменять размеры разделов, при этом, не останавливая сервер.

Выбрать первый диск из списка, нажать Enter.

выбор диска

Стрелками перейти на Yes, нажать Enter. Будет создана пустая таблица разделов.

разделы

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

повтор процедуры

Выбрать строку, начинающуюся с pri/log для первого диска, нажать Enter. Далее Create a new partition.

создание раздела

Будем использовать его как загрузочный раздел /boot, размер вводится вручную, в примере это 1 GB. На нем хранятся настройки загрузчика, ядро операционной системы, системный файл для начальной загрузки initrd.

ввод размера диска

Следующий шаг — выбрать тип раздела Primary, подтвердить клавишей Enter.

primary

Создается раздел в начале диска, выбрать Beginning.

beginning

Перемещение по меню осуществляется стрелками навигации вверх и вниз, нажимая Enter, можно менять значение опций и попадать в другие подменю. Выбрать Use As: physical volume for RAID, Bootable flag: on. По окончании настройки раздела выбрать пункт меню Done setting up partition.

окончание настройки диска

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

Затем снова увидим главное меню программы разметки диска. Следующим шагом будет разметка оставшегося свободного пространства на первом носителе. Выбрать строку, начинающуюся с pri/log для первого диска, как показано на картинке ниже, нажать Enter.

создание раздела второго диска

Выбрать Create a new partition — создание нового раздела, нажать Enter.

создание раздела второго диска

По умолчанию предлагается использовать все оставшееся место — подтверждаем нажатием Enter.

оставшееся место

Выбрать Primary и нажать Enter.

выбор primary

Выбрать Use as: physical volume for RAID из соответствующего меню, подтвердить, выбрав Done setting up the partition, затем нажать Enter.

окончание настройки второго диска

После возвращения в главное меню программы разметки для второго диска создать аналогичный раздел. Затем перейти к настройке программного RAID массива — пункт Configure software RAID, нажать Enter.

создание массива

Подтвердить запись изменений на диск, выбрать Yes и нажать Enter.

подтверждение записи

Выбрать Create MD device, нажать Enter.

create md

Выбрать стрелками навигации тип RAID, в данном случае будет использоваться зеркало — RAID1, нажать Enter.

зеркало raid 1

На этом шаге задается количество активных устройств массива, для RAID1 их нужно минимум два. Подтвердить нажатием Enter.

количество устройств массива

Далее указывается количество запасных устройств, которые при выходе из строя компонентов RAID-массива, встанут им на замену. В данном примере устройства замены не предусмотрены, в поле значение 0, подтвердить клавишей Enter.

запасные устройства

Первое устройство RAID1 объединяет в себе два идентичных раздела на разных жестких дисках, это /dev/sda1 и /dev/sdb1. Необходимо выбрать их из меню клавишей Пробел(Space), перемещаясь стрелками навигации вверх и вниз. Пример выбора разделов показан на картинке ниже. Закончить создание первого MD-устройства нажатием Enter.

существующие разделы

После чего утилита конфигурации RAID-массива вернется в свое главное меню. Снова выбрать Create MD device и нажать Enter. Повторить аналогичные действия для второго RAID-массива, собрав его из оставшихся доступных разделов /dev/sda2 и /dev/sdb2, как показано на картинке ниже.

второй массив

По окончанию настройки второго RAID-массива, будет отображено главное меню утилиты работы с RAID, выбрать Finish, нажать Enter.

финишируем

Из основного меню программы разметки выбрать пункт Configure the Logical Volume Manager, нажать Enter.

Configure the Logical Volume Manager

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

текущая схема разделов

Выбрать пункт Create volume group для создания пространства, которое будет разбито на отдельные логические тома (Logical Volume), нажать Enter.

Create volume group

Задать имя для группы томов, в данном случае это system, нажать Enter.

имя группы

Выбрать физические разделы, которые будут входить в группу томов, для данного случая отметить только /dev/md1 устройство клавишей Пробел (Space) и нажать Enter.

физические разделы

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

подтверждаем схему

Выбрать пункт Create logical volume для создания логического тома, который в дальнейшем будет содержать определенную файловую систему, например ext4, т.е. аналог обычного раздела жесткого диска в не-LVM окружении. Нажать кнопку Enter.

Create logical volume

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

выбор группы томов

Ввести название для создаваемого тома, в примере это root, затем нажать Enter.

название тома

Задать размер создаваемого тома и нажать Enter. Поддерживаемые форматы ввода: 10K, 10M, 10G, 10T, где 10 — это размер тома, а следующая за ним буква определяет единицу измерения информации (К — килобайты, М — мегабайты, G — гигабайты, T — терабайты). На скриншоте ниже показано создание раздела размером 10 гигабайт.

размер тома

Повторить процедуру создания логических томов с именами home, swap и var. Единственным отличием будет размер создаваемых томов, их стоит задавать исходя из выполняемых задач и потребностей. В представленном примере распределение объемов между LVM-томами выглядит следующим образом:

  • root — 10 GB,
  • swap — 3 GB,
  • var — 10 GB,
  • home — 215,9 GB (все оставшееся место на разделе).

По окончании создания томов из меню выбрать пункт Finish и нажать Enter.

заканчиваем настройку томов

Теперь необходимо перейти к настройке каждого раздела: указать тип файловой системы и задать точки монтирования. Выбрать первый раздел #1 логического тома home как показано на картинке ниже, нажать Enter.

настройка разделов

В следующем меню стрелками навигации выбрать пункт Use as: и нажать Enter. Из предложенного списка выбрать Ext4 journaling file system, подтвердить клавишей Enter.

Ext4 journaling file system

Перейти к пункту Mount point:, нажать Enter. Выбрать из списка /home — user home directories, нажать Enter.

home - user home directories

После окончания настройки данного раздела выбрать пункт меню Done setting up the partition и нажать Enter.

Done setting up the partition

Далее настраиваются по аналогии первые разделы #1 логических томов root и var. В качестве файловой системы для обоих разделов также указать Use as: Ext4 journaling file system, для root точку монтирования Mount point: /, в случае с varMount point: /var.

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

настройка раздела подкачки

Стрелками навигации выбрать пункт Use as: и нажать Enter. Из предложенного списка выбрать swap area, затем нажать Enter.

swap area

Настройки раздела подкачки завершена. Выбрать пункт меню Done setting up the partition и нажать Enter.

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

настройка загрузочного раздела

В открывшемся меню стрелками навигации выбрать пункт Use as: и нажать Enter.  Из предложенного списка выбрать Ext4 journaling file system, затем нажать Enter. Перейти к пункту Mount point:, нажать Enter. Выбрать из списка /boot — static files of the boot loader, нажать Enter. Настройки загрузочного раздела завершена — выбрать пункт меню Done setting up the partition и нажать Enter.

После всех выполненных действий, главное меню программы разметки должно иметь вид:

главное меню программы

Нажать Finish partitioning and write changes to disk для внесения изменений в разметку диска.

Появится окно с подтверждением внесения изменений в разметку дисков. Стрелками перейти на Yes, нажать Enter.

изменения размера дисков

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

Настройка репозитория

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

дополнительных дисков не предусмотрено

На следующем экране предлагается выбрать страну, в которой находится сервер, по умолчанию выбрана Russian Federation. Поскольку сервер, на который выполняется установка ОС, находится в дата-центре Selectel, где имеется свой репозиторий, лучше всего будет воспользоваться этим зеркалом для максимально быстрой загрузки пакетов. Для этого нужно стрелкой вверх пролистать в самое начало списка и остановиться на пункте enter information manually, нажать Enter.

ручной ввод

Ввести вручную адрес mirror.selectel.ru и подтвердить свой выбор клавишей Enter.

зеркало Selectel

Путь до директории менять не нужно, подтвердить кнопкой Enter.

путь до директории

Так как прокси-сервер не используется — поле оставить пустым и нажать Enter.

не используем прокси

Начнется процесс получения и установки программных пакетов, для этого требуется определенное время. Далее инсталлятор предлагает принять участие в сборе данных об используемых пакетах в системе. Сведения будут отправляться анонимно каждую неделю в автоматическом режиме. Это поможет разработчикам вести статистику популярных программ и в будущем размещать их на первых дисках дистрибутивов. Следует выбрать Yes для отправки данных, или No для отказа, подтвердить выбор нажатием Enter.

сбор данных

Выбор программного обеспечения

Базовая система установлена, теперь следует выбрать дополнительное программное обеспечения для установки. Для сервера рекомендуется отметить два пункта:  SSH server и standard system utilities. Снятие и установка пометок выполняется клавишей Пробел (Space). В завершении нажать Enter.

выбор ПО

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

Установка загрузчика

Поскольку установка выполняется на чистый сервер — отвечаем Yes на вопрос об установке загрузчика в MBR (Master Boot Record) и нажимаем Enter.

установка загрузчика

Из списка необходимо выбрать диск, на который будет записан загрузчик GRUB, обычно это первый из списка, выбрать /dev/sda и подтвердить нажатием Enter.

выбор диска

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

Установка системы завершена, теперь необходимо извлечь образ установочного диска из виртуального привода. Из меню KVM-консоли выбрать пункт Virtual Media, затем Virtual Storage. В появившемся меню нажать кнопку Plug Out и OK.

меню KVM

Теперь в меню программы установки можно нажать Enter

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

Сервер будет перезапущен, после чего загружена установленная операционная система. Появление на экране приглашения авторизации означает, что ОС Debian загрузилась и готова к работе:

Debian GNU/Linux 10 spb-mail-01 tty1
spb-mail-01 login:

Теперь необходимо авторизоваться пользователем root для минимальной первоначальной настройки ОС. 

Настройка Debian 10 после установки

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

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

Настройки сетевых адаптеров в Debian 10 Buster расположены в файле /etc/network/interfaces. В большинстве случаев в сетях работает DHCP-сервер и настройки на сетевой карте появляются автоматически при загрузке системы, тогда конфигурационный файл имеет вид:

auto enp1s0f0
iface enp1s0f0 inet dhcp

Здесь опция auto указывает на автоматический запуск указанного сетевого адаптера при загрузке системы, опция iface задает имя интерфейса, dhcp — получение настроек с DHCP-сервера.

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

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

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

шлюз и маска

Открыть файл конфигурации настроек сети:

nano /etc/network/interfaces

Добавить следующие строки в конец файла: 

auto enp1s0f0:0
iface enp1s0f0:0 inet static
address 94.26.227.135
netmask 255.255.255.0
gateway 94.26.227.1

Для сохранения изменений нажать Ctrl+O, после Enter для подтверждения, затем Ctrl+X для выхода из текстового редактора.

Внимание! Настройки взяты для примера, у каждого они свои.

Здесь static означает, что данный интерфейс имеет статичный адрес, опция address задает IP-адрес, netmask устанавливает маску для подсети, gateway — шлюз.

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

/etc/resolv.conf

Пример его содержимого:

nameserver 188.93.16.19
nameserver 188.93.17.19

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

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

service networking restart

Получить информацию о текущих настройках сетевых интерфейсов можно командой:

ip a

Как итог, на имеющийся интерфейс enp1s0f0, помимо приходящих автоматически настроек, был добавлен еще один IP-адрес для доступа в интернет. Сеть настроена.

Обновление системы

Из подключенных репозиториев необходимо обновить информацию о доступных пакетах:

apt-get update

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

apt-get -y dist-upgrade

Установка sudo

Утилита sudo позволяет выполнять команды от имени другого пользователя, например, от root, с целью повышения привилегий в системе. Установка:

apt-get install sudo

Добавить пользователя в группу sudo:

usermod -aG sudo aleksandr

Вместо aleksandr нужно указать имя своего пользователя. Если пользователь, которого добавили в группу sudo, сейчас авторизирован в системе, необходимо выйти и снова войти в систему для вступления в силу изменений.

Настройка SSH сервера

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

nano /etc/ssh/sshd_config

Первое, что рекомендуется сделать, это изменить порт, на котором работает сервер. В файле нужно найти строку #Port 22, привести ее к следующему виду:

Port 22200

Сервер будет работать на порту 22200. Номер порта можно выбрать другой, важно чтобы он не был занят какой-либо службой или приложением. Следует обратить внимание, что в начале строки обязательно нужно убрать символ комментария #, иначе параметр будет проигнорирован.

Теперь необходимо запретить вход пользователя root. Это повысит безопасность системы, поскольку это стандартная учетная запись суперпользователя. Если пароль станет известен злоумышленнику, войти не удастся. Ищем строку PermitRootLogin, если она имеет в начале символ комментария #, его следует удалить. Строка должна иметь следующий вид:

PermitRootLogin no

Работа над файлом конфигурации закончена, нажимаем сочетание клавиш Ctrl+O, внизу экрана появится сообщение File Name to Write: /etc/ssh/sshd_config, нажимаем Enter для сохранения изменений, потом Ctrl+X, чтобы выйти из редактора. Выполнить перезапуск SSH сервера для вступления в силу изменений:

service sshd restart

Установка FTP-сервера

FTP — протокол для передачи файлов по сети, имеет клиент-серверную архитектуру. На практике часто применяется для обеспечения доступа к домашним папкам пользователей, к директориям с сайтами на веб серверах, для обеспечения резервного копирования. Установка сервера:

apt-get -y install proftpd

Сразу после установки, служба proftpd запуститься, и будет добавлена в автозагрузку. По умолчанию при подключении к серверу требуется ввести свой логин и пароль, после чего будет отображено содержимое домашней директории. Данный сервер имеет множество различных настроек, которые задаются в главном конфигурационном файле /etc/proftpd/proftpd.conf, откроем его:

nano /etc/proftpd/proftpd.conf

Необходимо добавить поддержку пассивного режима работы FTP-сервера для корректной работы за брандмауэром. Нужно найти строку #PassivePorts и раскомментировать ее, убрав знак # в начале строки, в результате должно получиться:

PassivePorts                  49152 65534

Нажать сочетание клавиш Ctrl+O, внизу экрана появится сообщение File Name to Write: /etc/proftpd/proftpd.conf, нажатием Enter сохранить изменения, затем Ctrl+X, чтобы выйти из редактора. Выполнить перезапуск FTP-сервера:

service proftpd restart

На этом работа с FTP-сервером в рамках статьи закончена.

Настройка iptables

Обеспечим базовую безопасность сервера с помощью встроенного брандмауэра. Предположим, что на рассматриваемой в качестве примера машине, уже имеются веб-сервер, FTP-сервер, SSH-сервер на порту 22200. Описанные ниже действия, производятся под учетной записью суперпользователя root.

Создаем файл списка правил iptables и даем право на выполнение:

touch /etc/iptables.server
chmod +x /etc/iptables.server

Открываем текстовым редактором nano:

nano /etc/iptables.server

Скопировать любым удобным способом эти строки в открытый файл:

#!/bin/bash
# Объявление переменных
export IPT="iptables"

# Очистка всех цепочек и удаление правил
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Разрешить входящий трафик к интерфейсу локальной петли,
# это необходимо для корректной работы некоторых сервисов
$IPT -A INPUT -i lo -j ACCEPT

# Позволяем два, наиболее безопасных типа пинга
$IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type 8 -j ACCEPT

# Разрешить входящие соединения, которые были разрешены в рамках других соединений
$IPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# Разрешить доступ к SSH-серверу
$IPT -A INPUT -p tcp --dport 22200 -j ACCEPT

# Разрешить доступ к FTP-серверу
$IPT -A INPUT -p tcp --dport 21 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 49152:65534 -j ACCEPT

# Разрешить доступ к веб-серверу
$IPT -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

# Устанавливаем политики по умолчанию:
# Входящий трафик — сбрасывать; Проходящий трафик — сбрасывать; Исходящий — разрешать
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT

Сохранить файл сочетанием нажатий клавиш Ctrl+O, нажать Enter для подтверждения, затем Ctrl+X для выхода.

Применить подготовленные правила:

/etc/iptables.server

Чтобы правила iptables не потерялись после перезагрузки, нужно воспользоваться специальным пакетом, для начала установив его:

apt-get install iptables-persistent

Во время установки на оба вопроса ответить Yes.

Сохранить действующие правила:

service netfilter-persistent save

Базовая настройка брандмауэра выполнена.

Последние штрихи

Поскольку в процессе инсталляции ОС, на этапе выбора диска, для установки загрузчика был выбран /dev/sda, загрузчик следует установить и на второй жесткий диск:

grub-install /dev/sdb

Когда первый диск выйдет из строя — система загрузится со второго.

Заключение

В рамках данной статьи описана установка базовой системы Debian 10 Buster на сервер, предоставляемый в аренду компанией Selectel, выполнена установка и настройка программного обеспечения, необходимого для взаимодействия с сервером на начальном этапе.

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

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

Подключение к серверу пользователем root

Для первого подключения к виртуальному серверу вам нужно знать его IP-адрес. Также вы должны знать пароль для учётной записи root. Эти данные вы можете увидеть в личном кабинете вашего VPS.

Личный кабинет RUVDS

Непосредственно подключение к VPS осуществляется из командной строки следующей инструкцией:

ssh root@194.87.214.253

В данном примере:

  • root – имя учётной записи, под именем которой производится подключение;
  • 194.87.214.253 – IP-адрес сервера.

При первом подключении система может выдать вам предупреждение о подлинности хоста. Чтобы принять данное предупреждение, наберите yes.

Предупреждение о подлинности хоста

Пользователь root – это административная учётная запись в среде Linux, имеющая очень широкие полномочия. Из-за того, что данный пользователь владеет такими повышенными привилегиями, крайне нежелательно использовать его на регулярной основе. Связано это с тем, учётная запись root может быть применена для внесения в вашу систему деструктивных изменений вплоть до потери работоспособности.

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

Создание нового пользователя

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

Для создания нового пользователя наберите следующую команду:

# adduser new-user

Здесь new-user – имя новой учётной записи, в качестве которого вы можете выбрать какое-либо своё. При создании нового пользователя система попросит сначала дважды ввести пароля для этой учётной записи. После этого нужно будет ответить на несколько вопросов, которые будет задавать система. Что-либо вводить при этом необязательно, можно просто нажимать Enter.

Предоставление привилегий администратора

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

# usermod -aG sudo new-user

Теперь вы сможете выполнять команды от имени учётной записи root, зарегистрировавшись при этом в системе под вашим новым пользователем. Но сначала вы должны проинсталлировать sudo на свой VPS обновив списки пакетов:

# apt update
# apt install sudo

На практике применение данной команды выглядит как добавление слова sudo перед исполняемой инструкцией:

$ sudo your_executable_command

Базовая настройка брандмауэра

В операционных системах семейства Debian используется межсетевой экран, разрешающий определённые подключения к серверу. Такой брандмауэр называется Uncomplicated Firewall (UFW). С его помощью вы сможете произвести настройки политики безопасности, а также, управлять её исключениями.

Установка брандмауэра производится следующей командой:

$ sudo apt install ufw

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

Список всех доступных профилей приложений доступен по команде:

$ sudo ufw app list

Чтобы разрешить подключения к вашему серверу по SSH, запустите на выполнение следующую команду:

$ sudo ufw allow OpenSSH

Активация межсетевого экрана производится при помощи команды:

$ sudo ufw enable

Чтобы увидеть текущее состояние брандмауэра, наберите:

$ sudo ufw status
Статус сервиса UFW

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

Настроить брандмауэр можно таким образом, чтобы это соответствовало вашим требованиям. Например, вы можете разрешить доступ к VPS только с хостов со строго определёнными IP-адресами:

$ sudo ufw allow from XXX.XXX.XXX.XXX

Таким же образом можно ограничить доступ к серверу какой-либо определённой подсетью:

$ sudo ufw allow from XXX.XXX.XXX.0/24

Плюс ко всему у вас есть возможность разрешить подключения только к строго определённому порту. Например, использование следующей команды открывает доступ к серверу только для подключений по SSH, где используется порт 22.

$ sudo ufw allow from XXX.XXX.XXX.XXX to any port 22

Авторизация с использованием SSH-ключей

Чтобы повысить уровень безопасности вашего виртуального сервера, можно настроить на нём авторизацию при помощи SSH-ключей.

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

ssh-keygen

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

Вывод команды ssh-keygen - Первоначальная настройка сервера с Debian 11

В результате на вашей рабочей станции появятся два файла: публичный ключ сервера id_rsa.pub и ваш приватный ключ id_rsa.

После этого подключитесь к вашему VPS и перейдите в домашнюю директорию:

$ cd ~

Там создайте каталог .ssh:

$ mkdir .ssh

Созданному каталогу назначьте необходимые права:

$ chmod 700 .ssh/

Далее, перейдите в директорию .ssh и создайте в ней файл authorized_keys. Данному файлу назначьте права 600:

$ cd .ssh
$ touch authorized_keys
$ chmod 600 authorized_keys

После чего откройте его для редактирования:

$ nano authorized_keys

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

Результатом произведённых настроек должна стать возможность подключаться к вашему VPS без использования пароля учётной записи.

Чтобы совсем закрыть доступ к серверу для авторизации с использованием паролей, отредактируйте файл /etc/ssh/sshd_config:

$ cd /etc/ssh/
$ sudo nano sshd_config

В этом файле следует раскомментировать строку PasswordAuthentication и установить её значение в no. После чего перезапустите службу SSH:

$ sudo service ssh restart

Понравилась статья? Поделить с друзьями:
  • Золедроновая кислота инструкция по применению при онкологии побочные действия отзывы
  • Инструкция по требованиям безопасности при работе в хранилище
  • Специалист по первичной документации должностная инструкция
  • На стратегическом уровне осуществляется руководство
  • Руководство по эксплуатации хонда црв рд 1