Установка

Ubuntu server установка и настройка: Ubuntu 20.04 Server — — FreeHost

— поставит базовый набор lamp (Linux Apache Mysql PHP).

phpmyadmin — веб-интерфейс для управления БД MySQL.

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

Содержание

Настройка Apache

Персональные настройки

Начиная с версии Ubuntu Saucy (13.10) свои настройки следует писать в /etc/apache2/conf-available, активировать настройки следует с помощью команды a2enconf.

Свои настройки следует писать в /etc/apache2/conf.d, т.е. создать там файл, например, myconf.conf и определить в нём свои настройки.

## Файл персональных настроек веб-сервера Apache

## Чтобы устранить предупреждение при перезапуске Apache (хотя в целом на производительности это не отразится)
ServerName localhost

## Для того, чтобы Apache интерпретировал php и не предлагал сохранить php-файл
AddType application/x-httpd-php . php .phtml

## Установка кодировки UTF-8 по умолчанию
AddDefaultCharset UTF-8

Для того, чтобы так же работали файлы php, которые начинаются с «<?» вместо «<?php»
нужно, чтобы в /etc/php5/apache2/php.ini было short_open_tag = On

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

service apache2 restart

Настройка виртуальных хостов

Есть несколько способов, я же расскажу о том как повесить несколько виртуальных хостов на один IP c доступом к ним по имени сервера.

127.0.0.1    host2.server1 host1.server1

и создаём там файлы, названиями которых будут названия, создаваемых серверов, например host1.server1.conf и host2.server1.conf
в эти файлы пишем (здесь показано простейшее, подробнее можно заценить в файле default):

<VirtualHost *:80>
    ServerName host1.server1
    DocumentRoot /var/www/host1. server1
    <Directory /var/www/host1.server1>
        AllowOverride All
    </Directory>
</VirtualHost>
<VirtualHost *:80>
        ServerName host2.server1
        DocumentRoot /var/www/host2.server1
        <Directory /var/www/host2.server1>
                AllowOverride All
        </Directory>
</VirtualHost>
a2ensite host1.server1 host2.server1

Удаляются симлинки таким же образом командой a2dissite

http://host1.server1
http://host2.server1

Этот раздел применять не обязательно, у вас уже всё работает после 1-го раздела. Однако вы можете найти здесь что-то полезное. Я рекомендую не обделить вниманием ускорение (opcode cacher)

Ускоряем сервер (Opcode Cacher)

Акселератор PHP — программа, ускоряющая исполнение сценариев PHP интерпретатором путём кэширования их байткода.

http://ru. wikipedia.org/wiki/Акселератор_PHP

Не устанавливайте сразу несколько акселераторов PHP, это не даст никакого результата.
Начиная с версии PHP 5.5 в интерпретатор по умолчанию включён Zend OPcache. В этой связи, а также потому что данная статья описывает базовую настройку, из неё убраны описания установки php-apc и php-xcache

Выключаем автозапуск apache2 и mysql

ВАМ ЭТО ДЕЙСТВИТЕЛЬНО НУЖНО? Эти демоны стартуют в родной для себя среде в разы быстрее чем денвер в винде, думаю от 1 сек к времени загрузки ОС и 10 мб ОЗУ вам хуже не станет, а лишних телодвижений не будет…

Выключаем автозапуск Apache:

sudo update-rc.d -f apache2 remove

Выключаем автозапуск MySQL:

sudo nano /etc/init/mysql.conf

комментируем строки:

start on (net-device-up
          and local-filesystems
          and runlevel [2345])

т.е. должно быть так:

#start on (net-device-up
#          and local-filesystems
#          and runlevel [2345])

Разрешаем подключение к MySQL из Мира

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

по умолчанию mysql не принимает tcp соединения т.к. прослушивает только 127.0.0.1

/etc/mysql/my.cnf

#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

Самое простое — просто закомментировать эту строку.

Кроме этого требуется добавить пользователя, который с разных мест и из разных программ может соединяться с базой, например «admin»:

GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'my_admin_password' WITH GRANT OPTION;

HOW-TO: Идеальный сервер. Часть 1

В руководстве я использую имя хоста server1.example.com с IP-адресом 192.168.0.100 и шлюзом 192.168.0.1. У вас эти параметры могут отличаться, так что вам нужно будет их заменить, где необходимо.

Вставьте ваш установочный диск Ubuntu в привод и загрузитесь с него. Выберите язык установки, затем «Установить сервер Ubuntu»:

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

Установщик проверит диск и ваше оборудование, настроит сеть с использованием DHCP, если, конечно, сервер DHCP присутствует в сети:

Введите имя своего компьютера. В этом примере моя система называлась server1.example.com, поэтому я ввожу server1:

Теперь вы должны разметить свой жёсткий диск. Для простоты я выбираю «Авто — использовать весь диск и настроить LVM». Это создаст один раздел с двумя логическими дисками: один — для корневой файловой системы (/), другой — для раздела подкачки (swap). Конечно, разметка — полностью ваше дело, поэтому, если знаете, что делаете, вы можете также разметить диск вручную. Если вы сделаете отдельными разделы /home и /var, в будущем вам это может пригодиться.

Выберите диск для разметки и на вопрос «Записать изменения на диск и изменить LVM?» ответьте «Да».

Если вы выбрали «Авто — использовать весь диск и настроить LVM», программа разметки создаст один большой раздел, используя всё дисковое пространство. Теперь вы можете определить, сколько из этого дискового пространства должно использоваться логическими дисками (/) и (swap). Имеет смысл оставить некоторое место неиспользованным, позже вы сможете расширить свои существующие логические диски или создать новые. Это даёт больше гибкости.

Когда закончите, на вопрос «Записать изменения на диск?» нужно ответить «Да»:

Будут созданы и отформатированы ваши новые разделы:

Затем будет устанавливаться основная система:

Создайте пользователя, например, Administrator, с пользовательским именем administrator. Не используйте в качестве имени пользователя admin, поскольку это зарезервированное имя в Ubuntu 9. 10.

Я не нуждаюсь в шифровании домашней папки, поэтому здесь я выбрал «Нет»:

Далее настраивается менеджер пакетов apt. Оставьте строчку «Информация о HTTP-прокси» пустой, если вы не используете прокси-сервер для соединения с интернетом:

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

Нам необходимы серверы DNS, Mail и LAMP, однако, сейчас я не выбираю ни один из них, потому что мне нравится иметь полный контроль над тем, что установлено в моей системе. Необходимые пакеты мы установим позже вручную. Единственный пункт, который я здесь отмечаю, это «OpenSSH server». Он понадобится мне для соединения с системой после окончания установки при помощи клиента SSH, такого как Putty:

Далее будет установлен загрузчик GRUB.

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

В следующем месяце мы установим сервер SSH и vim-nox, используя нашу учётную запись администратора, а также настроим сеть.


Linux сервер своими руками

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Консоль Ubuntu

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

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

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

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

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

Терминал в Linux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ubuntu Server 20.04: Начальная настройка

Базовая настройка Ubuntu Server 20.04 после установки.

Подключаемся к серверу:


ssh user@ip_addres

Учётная запись root

По умолчанию пароль для root не установлен в Ubuntu 20.04, мы видим сообщение об ошибке:

Permission denied, please try again.

Можем убедится в том, что пароль для root пустой:


sudo cat /etc/shadow | grep root

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

Если всё же нужно авторизоваться от имени суперпользователя, необходимо установить для него пароль:


sudo passwd root

Затем нужно ввести два раза пароль. Проверим снова:


sudo cat /etc/shadow | grep root

Важно! На рабочих серверах не делайте так. Так можно делать только на домашней машине для удобства.

Создание нового пользователя с административными правами

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


sudo adduser john

Система задаст несколько вопросов. Сначала она предложит ввести пароль для этой учетной записи.

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

Проверим добавился ли пользователь john:


sudo cat /etc/shadow | grep john

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


sudo usermod -aG sudo john

Сменим пользователя и проверим его права:


su - john

sudo whoami

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

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

Различные приложения могут при установке зарегистрировать свой профиль в UFW. Такие профили позволяют UFW управлять этими приложениями по имени. OpenSSH (сервис, который позволяет подключаться к серверу) имеет свой профиль, зарегистрированный в UFW.


sudo ufw app list

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


sudo ufw allow OpenSSH

Включаем брандмауэр:


sudo ufw enable

И опять проверяем статус:


sudo ufw status

Теперь можно настроить аутентификацию на основе SSH-ключей.

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

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

Для начала сгенерируем SSH ключ с помощью команды (не забудьте отключиться от сервера, команду запускаем на локальной машине!):


ssh-keygen

Путь для расположения ключа можно оставить стандартным. Можно придумать и ввести passphrase (секретная фраза). Или же просто оставить всё по умолчанию, нажимая Enter:

Теперь этот ключ нужно скопировать на сервер. В Windows придётся копировать ключ вручную. Займёмся этим.

Подключаемся к серверу:


ssh user@ip_addres

В корневой директории созданного пользователя (/home/john) нужно создать папку .ssh. Скорее всего вы уже находитесь в этой директории. Проверить это можно с помощью команды:


pwd

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


cd /home/john

Здесь создадим директорию . ssh:


mkdir .ssh

Проверить создание директории и просмотреть структуру текущей директории:


ls -la

Установим права для этой папки:


chmod 700 .ssh/

Перейдем в эту папку:


cd .ssh

Создадим файл authorized_keys в этой директории:


touch authorized_keys

Установим права для этого файла:


chmod 600 authorized_keys

Вводим команду:


cat >> authorized_keys << EOF

Курсор передвинется на новою строку в ожидании ввода данных от вас:

Переходим в папку на локальном компьютере, куда был сгенерирован ключ и с помощью любого текстового редактора открываем файл id_rsa.pub. Копируем весь текст из этого файла. Копируйте внимательно, без захвата пробелов в начале и в конце строки!

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


EOF

Жмем Enter.

Отлично, мы скопировали и вставили наш ключ в файл authorized_keys. Можно проверить содержимое файла командой:


cat authorized_keys

Теперь при подключении к серверу по SSH, пароль для подключения запрашиваться не будет.

Редактируем конфиг SSH

Откроем для редактирования конфигурационный файл SSH:


sudo nano /etc/ssh/sshd_config

Находим строчку PermitRootLogin. Раскомментируем её (убрав знак решетки (#)) и выставим ему значение no. Таким образом мы запретим авторизацию под root пользователем:


PermitRootLogin no

Находим строчку PubkeyAuthentication. Раскомментируем её. Так мы активируем возможность авторизации с помощью SSH-ключа:


PubkeyAuthentication yes

Находим строчку PasswordAuthentication. Раскомментируем ее и выставим значение no. Так мы запретим авторизацию по паролю:


PasswordAuthentication no

В самом конце файла с новой строчки вставим команду:


// Здесь изменить на вашего пользователя!
AllowUsers john

Сохраняем файл и выходим из редактора. Перезапускаем SSH:


systemctl restart ssh

Теперь если попытаться авторизоваться под root или каким-либо другим пользователем, то сервер выдаст ошибку доступа.

На этом начальная настройка Ubuntu Server 20.04 завершена. В следующей заметке установим стек LAMP.

Настройка Ubuntu Server

Введение
После того, как вы установили Ubuntu Server 16.04 LTS, необходимо сделать несколько простых шагов для первоначальной настройки. Это сделает дальнейшую работу на сервере более удобной, а так же сделает сервер более безопасным.

Подключение от имени root
Первым делом, вам нужно подключиться к серверу по SSH от имени root.
Откройте терминал и выполните команду:

$ ssh root@server_ip

При успешном подключении вы увидите приветствие и краткие сведения о системе.

Создание пользователя
Так как постоянное использование учетной записи root не безопасно, то следующее, что вам нужно будет сделать – добавить нового пользователя и дать ему root привилегии.
Создадите нового пользователя. В данном примере создается пользователь с именем joe. Можете заменить его на любое другое.

# adduser joe

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

# adduser joe sudo

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

# su - joe

Генерация SSH ключа
На данном этапе вам нужно будет сгенерировать SSH ключ. Ключ состоит из 2 файлов: приватный, который находится на вашей машине и публичный, который будет нужно загрузить на сервер.
Если SSH ключа у вас нет – вам необходимо его сгенерировать. В ином случае – пропустите этот шаг и переходите к следующему.
И так, вам необходимо сгенерировать SSH ключ. Для этого выполните следующую команду (заменив [email protected] на ваш email):

$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

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

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

Вариант 1: Используя ssh-copy-id
На локальной машине выполните следующую команду:

$ ssh-copy-id joe@server_ip

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

Вариант 2: Вручную
1. Создадите в корне вашего пользователя каталог .ssh и задайте необходимые права.

$ mkdir ~/.ssh
$ chmod go-rx ~/.ssh

2. Внутри каталога .ssh создайте файл authorized_keys. Например, используя редактор nano:

$ nano ~/.ssh/authorized_keys

Вставьте в него содержимое публичного ключа.
Нажмите CTRL-x для того, чтобы выйти из редактора, затем y, чтобы сохранить изменения, затем ENTER для подтверждения.
Далее установите необходимы права на файл, чтобы доступ к файлу с ключами был только у его владельца. Для этого выполните следующую команду:

$ chmod go-r ~/.ssh/authorized_keys

Теперь вы можете подключаться к серверу, используя SSH ключ.

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

$ sudo nano /etc/ssh/sshd_config

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

Port 2222

2. Запрещение удаленного доступа для root.
Так как для работы на сервере вы будете использовать учетную запись обычного пользователя, то подключаться к серверу через SSH от имени root необходимости нет.
Выставите значение для PermitRootLogin в no.

PermitRootLogin no

3. Отключение парольной аутентификации.
Так как при использовании SSH ключей у вас нет необходимости в аутентификации по паролям – отключите ее.
Выставите значения для PasswordAuthentication в no.

PasswordAuthentication no

Так же убедитесь в том, что ваш сервер использует 2 версию протокола.

Protocol 2

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

$ sudo systemctl reload ssh.service

Если все сделано верно, то при попытке подключиться на стандартный порт 22 вы увидите следующую ошибку:

ssh: connect to host server_ip port 22: Connection refused

А при попытке подключится от имени root (уже на новый порт):

Permission denied (publickey).

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

$ ssh joe@server_ip -p 2222

Настройка Firewall
UFW (Uncomplicated Firewall) – простой файрволл, который представляет из себя утилиту для более удобного управления iptables.
Если в вашей системе его нет, то установите его командой:

$ sudo apt install ufw

Для начала проверьте статус файрволла:

$ sudo ufw status

Статус должен быть inactive.

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

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

$ sudo ufw default deny incoming

А так же разрешите все исходящие:

$ sudo ufw default allow outgoing

Добавьте новое правило, чтобы были разрешены входящие запросы на SSH порт (в нашем случае 2222).

$ sudo ufw allow 2222/tcp

Далее включите файрволл командой:

$ sudo ufw enable

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

$ sudo ufw status

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

$ sudo ufw status verbose

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

Поделиться ссылкой:

Понравилось это:

Нравится Загрузка…

Похожее

Установка Ubuntu Server 18.04 пошагово с картинками

Установка Ubuntu Server 18.04.

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

 

Ubuntu Server и где её взять.

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

Там же знакомимся с минимальными требованиями в разделе Tutorial

Шаг 1: — Выбор языка для О.С.

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

 



Выбираем язык интерфейса установки Ubuntu Server 18.04. (Рис. 1)

 

Шаг 2. — Выбор раскладки клавиатуры.

На данном этапе нужно выбрать раскладку клавиатуры. Поля: Layout — основная раскладка (язык) Variant — дополнительный язык

 


Раскладка указанная по умолчанию — Английская (американская).(Рис.2)

 

Шаг 3. — Запуск установки.

 

Здесь нужно выбрать один из трёх вариантов установки.

  • 1 — Установить Убунту в обычном режиме
  • 2 — Установить Убунту в режиме MaaS (Metal as a service) Region controller
  • 3 — Установить Убунту в режиме MaaS (Metal as a service) Rack controller


Кому будет интересно что такое MaaS и его режимы, пишите в комментариях.  Когда определились какую систему Вы хотите поставить, выбираем её и жмём Enter

 



Экран выбора вариантов установки О. С. (Рис.3)

 

Шаг 4. — Настройка сетевых соединений.

 

Инсталлер предлагает нам настроить хотя бы один сетевой интерфейс, т.к. я разворачиваю установку на виртуальной машине которая смотрит в реальную рабочую сеть, то IP адрес (192.168.0.66 в 23 под сети 255.255.254.0 ) у меня выдаётся автоматом при помощи службы (демона)  DHCP. Если всё ок, то нажимаем Enter

Name — имя адаптера (вид ensxx — ens имя, xx индекс в примере ens32)

Type — тип: eth (ethernet — сетевая карта) eth0, eth2, eth3 — и т.д. индексы 1,2,3 присваиваются в зависимости от их количества


Настройка сетевых адаптеров (Рис.4)

Шаг 5. — Настройка прокси.

 

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


Если в вашей сети для подключения к Интернету требуется прокси сервер, введите здесь данные прокси сервера (Рис. 5)

 

Шаг 6. — Настройка архивного зеркала для Ubuntu.

 

 

Если Вы не знаете что такое зеркала и где взять списки, то просто пропускаем этот шаг нажимая кнопку Done, ничего не меняя и забываем про него как страшный сон


Настройка зеркал для Ubuntu (Рис. 6)

 

Шаг 7. — Настройка файловой системы.

 

 

Ubuntu предлагает 3 варианта работы с дисками

  • 1 — Использование всего диска
  • 2 — Использование всего диска и настройка шифрования
  • 3 — Ручная разметка

Если Вы новичок и ничего не знаете о LVM и не знаете как правильно размечать диски под swap и основные разделы то выбираем первый вариант Use An Entire Disk

 


Страница настройки файловой системы (Рис. 7)

 

Шаг 8. — Выбор дисков для разметки.

 

В нашем примере установлен всего один диск на 100 Гб. Думаю стоит провести краткий экскурс в обозначение /dev/sda

  • Каталог /dev/ — дословно переводится как device/устройство
  • sda — Sata/scsi порт 1 условно
  • sdb — Sata/scsi порт 2 условно
  • и т. д.

Т.е. если посмотреть на материнскую плату на разъемы sata то увидите подписи sata-1 sata-2 sata-3 и т.д. На старых дисках типа I.D.E. было hda (1 контроллер master) hdb (1 контроллер slave) hdc (2 контроллер master) hdd (2 контроллер slave) это уже не актуально на 70% но знать Вы должны<
Таким образом мы получаем строку /dev/sda

 


Экран выбора дисков для разметки (рис. 8)

 

Шаг 9. — Экран настройки файловой системы, вывод предварительной информации.

На данном экране, система выводит информацию о том как она собирается разбить диск. Если всё устраивает нажимаем Done

File system summary:

Mount point «/» — точка монтирования корень обозначается знаком / т.е. переводя на более понятный язык когда открываем диск С и видим папки. Это и есть корень диска

Size 99,997G — размер раздела

Type ext4 — файловая система типа EXT4

 


Экран настройки файловой системы Ubuntu Server 18. 04 (рис. 9)

 

Шаг 10. — Окно предупреждения.

На данном этапе, система предупреждает что все данные будут стёрты. Выбираем Continue

Окно предупреждения (рис. 10)

 

Шаг 11. — Настройка пользователя.

Это обязательный этап, здесь создаём своего пользователя.

Your name — Ваше имя (Вася Пупкин)

Your server name — Имя сервера (hd)

Pick a username — Имя пользователя (user)

Choose a password — вводим пароль

Confirm your password — еще раз тот же пароль

Import SSH — не трогаем


Создание пользователя в Ubuntu Server 18.04 (рис. 11)

 

Шаг 12. — Настройка пользователя.

Здесь пример заполнения. Нажимаем Done


Настройка пользователя пример (рис. 12)

 

Шаг 13. — Выбор оснасткот сервера.

Ubunta теперь предлагает установить готовые оснастки по управление перечисленных программ. Если они Вам нужны то выбираем их порбелом если нет то нажимаем Done


Оснастки сервера (рис. 13)

 

Шаг 14. — Установка системы.

Как было написано в windows 98 SE — Откиньтесь на спинку кресла и наслаждайтесь процессом установки =) ну или около того.


Процесс установки системы (рис. 14)

 

Шаг 15. — Завершение установки.

Когда прогресс дойдёт до конца (синяя полоса с надписью 11/11) появится кнопка Reboot Now. Нажимаем её и даём системе выключить демонов (они же службы)


Завершение установки Ubuntu (рис. 15)

 

Шаг 16. — Удаление установочного диска.

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


Извлечение установочного дистрибутива (рис. 16)

 

Шаг 17. — SSH Host Key.

Вот этой надписи не пугаемся. Система генерирует сертификат подлинности. Если после надписи «Reached target Cloud-Init target» не появится надпись Ubuntu 18. 04.1 TLS. Нажмите Enert


Генерация сертификата безопасности (рис. 17)

 

Шаг 18. — Экран авторизации.

Всё! система установлена и просит ввода логина и пароля.


Экран авторизации (рис.18)

 

Шаг 19. — Ввод логина и пароля.

Вводит имя пользователя которое придумали и пароль. АХТУНГ! при вводе пароля — буквы на экране не вводятся, не пугаться!


Ввод логина и пароля (рис. 19)

 

Шаг 20. — Всё готово!.

Всё, если Вы всё правильно ввели, вы попадаете в систему. А дальше нужно обновить пакеты системы. Но это уже в следующей статье


Аутентификация прошла успешно. Рабочая консоль сервера (рис. 20)

 

Комментарии (0)

Добавление комментариев закрыто.
Установка

— Дополнительно | Документация на сервер

Программный RAID

Избыточный массив независимых дисков «RAID» — это метод использования нескольких дисков для обеспечения различных балансов повышения надежности данных и / или увеличения производительности ввода / вывода в зависимости от используемого уровня RAID. RAID реализован либо в программном обеспечении (где операционная система знает об обоих дисках и активно обслуживает их оба), либо в аппаратном обеспечении (где специальный контроллер заставляет ОС думать, что существует только один диск, и поддерживает диски «невидимо»).

Программное обеспечение RAID, входящее в текущие версии Linux (и Ubuntu), основано на драйвере «mdadm» и работает очень хорошо, даже лучше, чем многие так называемые «аппаратные» контроллеры RAID. Этот раздел проведет вас через установку Ubuntu Server Edition с использованием двух разделов RAID1 на двух физических жестких дисках, один для /, а другой для swap .

Конфигурация RAID

Следуйте инструкциям по установке, пока не дойдете до шага управляемой конфигурации хранилища , затем:

Выберите Пользовательский макет хранилища .

Создайте раздел / boot на локальном диске. Поэтому выберите одно из устройств, перечисленных в списке доступных устройств, и Добавьте раздел GPT . Затем введите размер раздела, затем выберите желаемый Format ( ext4 ) и / boot в качестве точки монтирования. И, наконец, выберите Create .

Теперь, чтобы создать устройство RAID, выберите Создать программный RAID (md) в разделе ДОСТУПНЫЕ УСТРОЙСТВА .

Добавьте имя диска RAID (по умолчанию md0 ).

В этом примере выберите «1 (зеркальный)» в RAID уровня , но если вы используете другую настройку, выберите соответствующий тип (RAID0, RAID1, RAID5, RAID6, RAID10).

Примечание

Для использования RAID5 , RAID6 и RAID10 вам потребуется более двух дисков . При использовании RAID0 или RAID1 требуется только , два диска .

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

Выберите Размер устройства RAID.

Выберите Создать .

Новое устройство RAID ( md0 , если вы не меняли значение по умолчанию) появится в списке доступных устройств с программным типом RAID 1 и выбранным размером.

Повторите шаги выше для других устройств RAID.

Разбиение на разделы

Выберите созданное устройство RAID 1 ( md0 ), затем выберите «Добавить раздел GPT» .

Затем выберите Размер раздела. Этот раздел будет разделом подкачки , и общее правило для размера подкачки в два раза больше размера ОЗУ. Введите размер раздела, затем выберите swap в Формате. И, наконец, выберите Create .

Примечание

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

Для раздела / еще раз выберите устройство RAID 1, затем «Добавить раздел GPT» .

Используйте оставшееся свободное пространство на устройстве, выберите формат (по умолчанию ext4 ) и выберите / в качестве точки монтирования, затем Create .

Повторите шаги выше для других разделов.

По завершении выберите «Готово» .

После этого процесс установки продолжится в обычном режиме.

Degraded RAID

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

Если массив ухудшился из-за вероятности повреждения данных, по умолчанию Ubuntu Server Edition загрузится с initramfs через тридцать секунд. После загрузки initramfs появляется пятнадцатисекундный запрос, дающий вам возможность продолжить загрузку системы или попытаться выполнить восстановление вручную. Загрузка по приглашению initramfs может быть или не быть желаемым поведением, особенно если машина находится в удаленном месте. Загрузку в деградировавший массив можно настроить несколькими способами:

  • Утилиту dpkg-reconfigure можно использовать для настройки поведения по умолчанию, и во время процесса вас спросят о дополнительных настройках, связанных с массивом. Например, мониторинг, оповещения по электронной почте и т. Д. Чтобы перенастроить mdadm, введите следующее:

      sudo dpkg-reconfigure mdadm
      
  • Процесс dpkg-reconfigure mdadm изменит файл / etc / initramfs-tools / conf.d / mdadm файл конфигурации. Файл имеет то преимущество, что позволяет предварительно настроить поведение системы, а также его можно редактировать вручную:

      BOOT_DEGRADED = истина
      

    Примечание

    Файл конфигурации можно переопределить с помощью аргумента ядра.

  • Использование аргумента ядра также позволит системе загрузиться с поврежденным массивом:

    • Когда сервер загружается, нажмите Shift, чтобы открыть меню Grub.

    • Нажмите e, чтобы изменить параметры команды ядра.

    • Нажмите стрелку вниз, чтобы выделить строку ядра.

    • Добавьте «bootdegraded = true» (без кавычек) в конец строки.

    • Нажмите Ctrl + x, чтобы загрузить систему.

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

Обслуживание RAID

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

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

      судо mdadm -D / dev / md0
      

    -D указывает mdadm отображать подробную информацию об устройстве / dev / md0 . Замените / dev / md0 соответствующим устройством RAID.

  • Для просмотра статуса диска в массиве:

      судо mdadm -E / dev / sda1
      

    Результат очень похож на команду mdadm -D , настройте / dev / sda1 для каждого диска.

  • Если диск выходит из строя и его необходимо удалить из массива, введите:

      sudo mdadm --remove / dev / md0 / dev / sda1
      

    Измените / dev / md0 и / dev / sda1 на соответствующее устройство RAID и диск.

  • Аналогично, чтобы добавить новый диск:

      судо mdadm --add / dev / md0 / dev / sda1
      

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

Файл / proc / mdstat также содержит полезную информацию о RAID-устройствах системы:

  cat / proc / mdstat
Личности: [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0: активный raid1 sda1 [0] sdb1 [1]
      10016384 блоков [2/2] [UU]
      
неиспользуемые устройства: <нет>
  

Следующая команда отлично подходит для просмотра статуса синхронизирующего диска:

  часы -n1 cat / proc / mdstat
  

Нажмите Ctrl + c , чтобы остановить команду часов.

Если вам действительно нужно заменить неисправный диск, после замены и синхронизации диска потребуется установить grub. Чтобы установить grub на новый диск, введите следующее:

  sudo grub-install / dev / md0
  

Замените / dev / md0 на соответствующее имя устройства массива.

Ресурсы

Тема RAID-массивов является сложной из-за множества способов настройки RAID. Для получения дополнительной информации перейдите по следующим ссылкам:

Диспетчер логических томов (LVM)

Диспетчер логических томов

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

Обзор

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

  • Физический том (PV): физического жесткого диска, раздела диска или раздела программного RAID, отформатированного как LVM PV.

  • Группа томов (VG): состоит из одного или нескольких физических томов. VG можно расширить, добавив больше PV. VG подобен виртуальному диску, из которого вырезаны один или несколько логических томов.

  • Логический том (LV): аналогичен разделу в системе без LVM. LV форматируется с использованием желаемой файловой системы (EXT3, XFS, JFS и т. Д.), После чего он доступен для монтирования и хранения данных.

Установка

В качестве примера в этом разделе рассматривается установка Ubuntu Server Edition с / srv , смонтированным на томе LVM.Во время первоначальной установки только один физический том (PV) будет частью группы томов (VG). Еще один PV будет добавлен после установки, чтобы продемонстрировать, как можно расширить VG.

Существует несколько вариантов установки LVM в Управляемая конфигурация хранилища шаг:

  • Выберите «Использовать весь диск» , «Настроить этот диск как группу LVM» и Готово . Эта опция создаст раздел / boot на локальном диске, а остальная часть дискового пространства будет выделена группе LVM.
  • Выберите «Использовать весь диск» , «Установить этот диск как группу LVM» , «Зашифровать группу LVM с помощью LUKS» , введите пароль (и подтвердите его) и Готово . Вывод такой же, как описано выше, но группа LVM зашифрована.
  • Выберите «Пользовательский макет хранилища» и Готово . В настоящее время единственный способ настроить систему с LVM и стандартными разделами во время установки — это использовать этот подход.Это вариант, используемый в этом примере.

Следуйте инструкциям по установке, пока не дойдете до шага Конфигурация хранилища , затем:

Давайте сначала создадим раздел / boot на локальном диске. Выберите жесткий диск в ДОСТУПНЫЕ УСТРОЙСТВА и Добавить раздел GPT . Добавьте размер и формат ( ext4 ), затем выберите / boot в качестве точки монтирования. Наконец, выберите Create . Раздел / boot будет указан в разделе ОПИСАНИЕ ФАЙЛОВОЙ СИСТЕМЫ.

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

Теперь будет создана группа томов LVM. Выберите «Создать группу томов (LVM)» . Введите имя для группы томов (по умолчанию vg0 ), выберите устройство (физический том LVM) и размер и выберите «Создать» . Существует возможность зашифровать ваш том, если вы хотите, чтобы он был зашифрован, выберите «Создать зашифрованный том» и введите пароль (также подтвердите его).Совершенно новая группа LVM (если значение по умолчанию не было изменено, это vg0 ) будет отображаться как устройство в ДОСТУПНЫХ УСТРОЙСТВАХ.

Для создания логического тома LVM выберите созданную группу томов LVM и «Создать логический том» . Дайте ему имя (по умолчанию lv-0 ), давайте назовем его lv-srv , так как оно будет использоваться для монтирования / srv . Вставьте размер тома, предпочитаемый формат файловой системы и выберите / srv в качестве точки монтирования. Выберите «Создать» .Логический том LVM, смонтированный на / srv , будет указан в СВОДКЕ ФАЙЛОВОЙ СИСТЕМЫ.

Наконец, выберите «Готово» . Затем подтвердите изменения и продолжите установку.

Есть несколько полезных утилит для просмотра информации о LVM:

  • pvdisplay: показывает информацию о физических томах.

  • vgdisplay: показывает информацию о группах томов.

  • lvdisplay: показывает информацию о логических томах.

Расширение групп томов

Продолжая использовать srv в качестве примера тома LVM, этот раздел охватывает добавление второго жесткого диска, создание физического тома (PV), добавление его в группу томов (VG), расширение логического тома srv и, наконец, расширение файловая система. В этом примере предполагается, что в систему добавлен второй жесткий диск. В этом примере этот жесткий диск будет называться / dev / sdb , и мы будем использовать весь диск в качестве физического тома (вы можете создать разделы и использовать их как разные физические тома)

Предупреждение

Перед вводом команд ниже убедитесь, что у вас еще нет / dev / sdb . Вы можете потерять некоторые данные, если введете эти команды на непустом диске.

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

  Судо pvcreate / dev / sdb
                
  

Теперь расширите группу томов (VG):

  судо vgextend vg0 / dev / SDB
  

Используйте vgdisplay, чтобы узнать свободные физические экстенты — Свободный PE / размер (размер, который вы можете выделить). Предположим, что свободный размер составляет 511 PE (эквивалент 2 ГБ при размере PE 4 МБ), и мы будем использовать все доступное свободное пространство.Используйте свой собственный PE и / или свободное место.

Логический том (LV) теперь может быть расширен различными методами, мы увидим только, как использовать PE для расширения LV:

  судо lvextend / dev / vg0 / srv -l +511
  

Опция -l позволяет расширить LV с помощью PE. Опция -L позволяет расширить LV, используя мегабайты, гигабайты, тера и т. Д.

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

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

  судо umount / SRV
судо e2fsck -f / dev / vg0 / srv
  

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

Наконец, измените размер файловой системы:

  sudo resize2fs / dev / vg0 / srv
  

Теперь смонтируйте раздел и проверьте его размер.

  крепление / dev / vg0 / srv / srv && df -h / srv
  

Ресурсы

Как установить Ubuntu и начать работу

Эта статья предназначена для установки «производственного» сервера Ubuntu. Для программистов / разработчиков Ubuntu см. «Рабочий стол Ubuntu — Как сделать».

Релизы «LTS» будут поддерживаться в течение 5 лет; в то время как «non-LTS» будет поддерживаться в течение 9 месяцев. Для производства используйте последнюю версию LTS.

Ubuntu Server 18.04 обновляет MySQL (v5.7), Postgresql (v10.3), PHP (v7.2), LXD (v3.0), DPDK (v17.11.1), Libvirt (v4.0), NGINX (v1.14), Qemu (v2.11.1) ), Docker (v17.03), Puppet (v4.10) и другие.

Установите «Производственный» сервер Ubuntu

Установка сервера Ubuntu
  1. Загрузите установочный файл Ubuntu Server на USB-накопитель (или DVD).
  2. Загрузите машину с USB или DVD (например, нажмите F11 для меню загрузки и выберите UEFI Boot from USB. UEFI (Unified Extensible Firmware Interface) — это замена BIOS.
  3. Следуйте инструкциям по установке сервера:
    1. Выберите свой язык и местоположение.
    2. В «Конфигурации сети» выберите свою сетевую карту ( eth0 для первой сетевой карты). Если у вас есть статический IP-адрес, выберите «Настроить сеть вручную». В противном случае используйте DHCP (по умолчанию) для динамического IP.
    3. Введите выбранное «имя хоста».
    4. Введите «имя пользователя» и «пароль» для системного администратора.Выберите «нет», чтобы зашифровать домашний каталог. По умолчанию Ubuntu создает, но блокирует пользователя root в целях безопасности. Не используйте здесь root .
    5. Установите свой часовой пояс.
    6. Для раздела жесткого диска выберите «Использовать весь диск и настроить LVM (диспетчер логических томов)». Выберите все дисковое пространство для LVM. Программа установки создаст разделы \ boot , \ swap и \ (корневой) на « sda » (первый диск).Вы можете проверить разделы с помощью команды « lsblk » (список блочных устройств) или позже через Webmin.
    7. Оставьте поле пустым для информации о прокси-сервере HTTP.
    8. Выберите «Без автоматического обновления». Мы запустим обновление вручную позже.
    9. Для пакетов выберите Ubuntu Server, OPEN SSH, LAMP (Linux-Apache-MySQL-PHP), SAMBA (службы файлов и печати для клиентов Windows), Mail (Local) Server, Postfix (Local) Mail Server и PostgreSQL. При необходимости выберите другие пакеты.
    10. Установите пароль root для MySQL, если была выбрана LAMP.
    11. Выберите «да» для загрузчика GRUB. GRUB (GRand Unified Bootloader) — это загрузчик с несколькими загрузками.
  4. Загрузите компьютер и войдите в систему как системный администратор, которого вы создали ранее.
После установки — Обновление программного обеспечения

Ubuntu использует инструмент apt для управления программным обеспечением. Прочтите «Инструмент APT для управления программным обеспечением».

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


$  sudo apt update 


.$  sudo apt upgrade 

$  sudo apt full-upgrade 

      

$  sudo apt install   

Для очистки сервера:


$  sudo apt install -y byobu 
$  sudo purge-old-kernels -y --keep 1 

$  uname -r 

$  sudo dpkg --list 'linux-image *' | awk '{if ($ 1 == "ii") print $ 2}' | grep -v ʻuname -r` 
Linux-образ-3.19.0-25-универсальный
Linux-образ-3.19.0-56-общий
......

$  sudo apt purge linux-image-3.19.0-25-generic 
$  sudo apt purge linux-image-3.19.0-56-generic 
......


$  sudo apt autoremove 


$  sudo update-grub 


$  sudo du -sh / var / cache / apt / archives 
$  sudo apt clean  
Завершение работы / перезагрузка сервера

Для выключения машины через терминал (удаленно через SSH или локальную системную консоль):

$  sudo shutdown -h сейчас 
      
$  sudo shutdown -r сейчас 
       

Вы также можете выключить сервер удаленно через Webmin (Перейти к «Система» ⇒ «Загрузка и выключение» ⇒ «Завершение работы системы» или «Перезагрузить систему»).

ИБП (Источник бесперебойного питания)
  1. Установите «Диспетчер локальных узлов ИБП Dell».
  2. Настроить через http: // ip-addr : 4679 .

Для выключения сервера с ИБП:

  1. Остановите и выключите сервер с помощью команды « sudo shutdown -h now ».
  2. Отключите питание ИБП.
  3. Нажмите кнопку «питание» на ИБП. ИБП потребуется некоторое время для отключения питания.

Для включения сервера с ИБП:

  1. Включите питание ИБП.
  2. Нажмите кнопку «питание» на ИБП, чтобы подать питание на сервер.
  3. Включите сервер (нажмите кнопку «питание» сервера). Сервер загрузится.

[TODO]

NAS (сетевое хранилище) Диски

«Сетевое хранилище (NAS) — это компьютерный сервер хранения данных на уровне файлов, подключенный к компьютерной сети, обеспечивающий доступ к данным разнородной группе клиентов».

[TODO]

Использование статического IP-адреса

Чтобы настроить вашу систему на использование статического IP-адреса, отредактируйте файл конфигурации / etc / network / interfaces .Например, чтобы настроить статический IP-адрес на первой сетевой карте (обозначенной как eth0 ):


авто eth0
iface eth0 inet  статический 
адрес x.x.x.x
маска сети 255.255.255.0
шлюз x.x.x.x
DNS-серверы x.x.x.x x.x.x.x 

Для включения сетевого интерфейса eth0 :

 долларов США sudo ifup eth0 
       

Для отключения сетевого интерфейса eth0 :

$  sudo ifdown eth0 
       

Вы также можете настроить статический IP-адрес через webmin.Перейти к «Сеть» ⇒ «Сетевые интерфейсы» ⇒ Щелкните сетевой интерфейс, который будет использоваться ⇒ Выберите «Статическая конфигурация» и введите «IP-адрес» и «Сетевая маска» ( 255.255.255.0 ).

Настройка логического тома (через Webmin)

Если у вас несколько дисков (физических томов), вы можете сконфигурировать их в один логический том.

  1. В «Webmin» выберите «Оборудование» ⇒ «Управление логическими томами».
  2. Выберите «Физические тома» ⇒ «Добавить физический том» ⇒ Выберите жесткий диск.Начните с / dev / sdb . Повторите это, чтобы добавить / dev / sdc , / dev / sdd и т. Д. [Жесткие диски обозначены как / dev / sd x , где x — это бегущий алфавит a, b, c. .. для каждого диска.]
  3. Выберите «Логические тома» ⇒ щелкните значок «root» ⇒ затем в разделе «Редактировать логический том» ⇒ отметьте кнопку «Использовать все свободное пространство VG» ⇒ сохранить.

Все физические тома (жесткие диски) теперь доступны в виде логического тома в корневой файловой системе /.

Webmin

Артикул:

  1. Материнский сайт Webmin @ http://www.webmin.com.
  2. Михал Карзинский, «Поваренная книга администратора Webmin», Packt Publishing, 2014.

Webmin (@ http://www.webmin.com) предоставляет веб-интерфейс для системного администратора Unix. Вы можете настраивать внутренние компоненты операционной системы, такие как пользователи, дисковые квоты, службы или файлы конфигурации, а также изменять и управлять приложениями, такими как Apache HTTP Server, PHP и MySQL.Webmin имеет собственный TCP / IP-сервер. Номер порта TCP по умолчанию — 10000.

Установка Webmin

Для установки webmin:

  1. Прочтите инструкции на сайте http://www.webmin.com/deb.html. Следуйте инструкциям в разделе «Использование APT-репозитория Webmin». Webmin написан на perl, который устанавливается автоматически.
  2. войдите в Webmin, используя URL-адрес https: // имя хоста : 10000 , через веб-браузер. Вам необходимо войти в систему с учетной записью root или учетной записью с привилегией sudo .
Конфигурации, пользователи и группы Webmin

Webmin хранит свои конфигурации в каталоге / etc / webmin .

Пользователи и группы Webmin

Webmin поддерживает своих собственных пользователей и группы, отличные от пользователей / групп вашей системы Unix. Управление пользователями в Webmin сложное. Например, вы можете выбрать синхронизацию учетной записи Webmin и системной учетной записи, или вы можете разделить их, создав только пользователей / группы Webmin; вы можете создавать субадминистраторов и ограничивать их определенными модулями и конфигурациями.Чтобы настроить пользователей Webmin, перейдите к «Webmin» ⇒ «Пользователи Webmin».

По умолчанию Webwin позволяет пользователю root, и группе sudo войти в систему. Этого достаточно для небольшой производственной среды, поскольку Webmin предназначен для системного администратора, а не для обычных пользователей (которым следует использовать Usermin). Это настраивается через:

  1. В разделе «Webmin» ⇒ «Пользователи Webmin» ⇒ во время установки был создан пользователь Webmin по умолчанию с именем root с параметром «Пароль», установленным на «Аутентификация Unix».
  2. В разделе «Webmin» ⇒ «Пользователи Webmin» ⇒ «Настроить аутентификацию пользователей Unix» ⇒ Установите флажок «Разрешить пользователям, которые могут запускать все команды через sudo , входить в систему как root ».
    Webmin выдает команду « sudo su », чтобы получить привилегию root для выполнения привилегированных операций.

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

  • Вы можете просмотреть все журналы действий через «Webmin» ⇒ «Журнал действий Webmin».
  • Вы можете проверить текущих открытых сеансов с помощью «Webmin» ⇒ «Пользователи Webmin» ⇒ «Просмотр сеансов входа в систему» ​​⇒ Выберите «Просмотр журналов» для конкретного «идентификатора сеанса».
Номер порта TCP

По умолчанию Webmin прослушивает TCP-порт 10000 на всех IP-адресах сервера. Вы можете изменить номер порта через «Webmin» ⇒ «Конфигурация Webmin» ⇒ «Слушать порт» и «Привязать к IP-адресу».

Тайм-аут неактивных сеансов Webmin автоматически

Перейти к «Webmin» ⇒ «Конфигурация Webmin» ⇒ «Аутентификация» ⇒ Отметьте «Автоматический выход» и установите время ожидания ⇒ «Сохранить».

Часто используемые инструменты и утилиты Webmin
Командная оболочка (Прочее ⇒ Командная оболочка)

Вы можете вводить команду напрямую через командную оболочку Webmin (вместо входа в систему через SSH).

Чтобы выполнить несколько команд, разделяйте их точкой с запятой (; ). Чтобы выполнить команду условно, объедините команды в цепочку с оператором AND ( && ).

Файловый менеджер (Прочее ⇒ Файловый менеджер)

Графический файловый менеджер (написанный на Java-апплете) для создания / удаления / изменения файлов, каталогов, символических ссылок; и просмотр текстовых файлов.Вы также можете установить права доступа к файлу / каталогу.

Примечание. Чтобы запустить апплет, вам необходимо добавить URL-адрес Webmin в «Список сайтов исключений» в «Панели управления» ⇒ «Java».

Загрузить и скачать (Другое ⇒ Загрузить и загрузить)

Вы можете загружать файлы со своего ПК (на котором запущен Webmin) на сервер, загружать файлы с сервера на ПК или загружать файлы из Интернета (путем предоставления URL-адреса) на сервер. Это заменяет SCP (безопасная копия).

Текстовый вход (Другие ⇒ Текстовый вход) и SSH-вход (Другие ⇒ SSH-вход)

Вы можете войти в систему через «Текстовый вход» или «SSH-вход».«Текстовый вход» использует компонент под названием Ajaxterm , а «SSH-вход» использует Java-апплет.

Управление пользователями Unix
Управление пользователями / группами

Вы можете создавать / удалять / редактировать пользователей и группы через меню «Система» ⇒ «Пользователи и группы».

Вы также можете создавать пользователей в пакетном режиме через «Система» ⇒ «Пользователи и группы» ⇒ «Запустить пакетный файл».

Изменение пароля пользователя

Чтобы изменить пароль пользователя, перейдите в «Система» ⇒ «Пользователи и группы» ⇒ Щелкните по желаемому пользователю ⇒ В разделе «Пароль» ⇒ Выберите «Обычный пароль» ⇒ Введите новый пароль.Кроме того, в разделе «Параметры пароля» вы можете установить «Принудительное изменение при следующем входе в систему» ​​или установить срок действия пароля.

Webmin выдает команду « sudo password username » для обновления файла паролей / etc / shadow .

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

Перейти к «Система» ⇒ «Пользователи и группы» ⇒ В нижней части экрана нажмите «Показать логины по». Вы можете выбрать «Все пользователи» или выбрать конкретного пользователя.

Webmin проверяет / var / log / wtmp , в котором хранится история всех входов / выходов. wtmp — это двоичный файл, который работает с командами last и lastlog . Точно так же / var / log / btmp хранит неудачные попытки входа в систему; а / var / log / utmp поддерживает текущий статус. Например,

$  последние 
      
$  последние  имя пользователя  
      
$  последняя запись 
      
$  последнийб 
      
$  кто 
       
Просмотр файлов журнала

Перейти к «Система» ⇒ «Системные журналы», где перечислены файлы журналов, доступные через Webmin.

Добавление дополнительных файлов журнала

Чтобы добавить файлы журналов серверов, поддерживаемых Webmin (таких как Apache 2, MySQL, PostgreSQL, PHP), перейдите к «Система» ⇒ «Системные журналы» ⇒ «Конфигурация модуля» ⇒ «Другие файлы журналов для отображения» ⇒ Введите имя файла журнала. и описание, например,

/var/log/apache2/access.log Журнал доступа Apache
/var/log/apache2/error.log Журнал ошибок Apache 
Запуск оповещений по электронной почте

Webmin может периодически проверять состояние вашей системы (например, загрузка ЦП, использование диска) и серверов (например,g., Apache, MySQL) и отправим вам электронное письмо в случае сбоя.

Чтобы включить оповещение по электронной почте: перейдите к «Другое» ⇒ «Состояние системы и сервера» ⇒ «Запланированный мониторинг» ⇒ В «Запланированная проверка включена» выберите «Да» ⇒ Установите «Отправить электронное письмо, когда» на «Когда служба отключается» ⇒ … ⇒ «Сохранить».

Контроль загрузки системы

Чтобы отслеживать загрузку системы, перейдите к «Другое» ⇒ «Состояние системы и сервера» ⇒ В «Добавить монитор типа» выберите «Средняя нагрузка» и нажмите кнопку ⇒ В «Средняя загрузка для проверки» выберите «15 минут» ⇒ В поле «Максимальная средняя нагрузка» установите количество ядер ЦП на вашем компьютере ⇒ «Создать».

Монитор дискового пространства

Чтобы контролировать дисковое пространство, перейдите к «Другое» ⇒ «Состояние системы и сервера» ⇒ В «Добавить монитор типа» выберите «Дисковое пространство» и нажмите кнопку ⇒ В «Файловая система для проверки» выберите \ (корень файловой системы) ⇒ В «Процент от общей суммы» установите значение 90 процентов ⇒ «Создать».

Мониторинг удаленного сервера

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

Чтобы контролировать удаленный HTTP-сервер, перейдите к «Другое» ⇒ «Состояние системы и сервера» ⇒ В «Добавить монитор типа» выберите «Удаленная HTTP-служба» и нажмите кнопку ⇒ В «URL для запроса» введите URL-адрес для удаленный сервер ⇒ «Создать».

Точно так же, чтобы отслеживать, работает ли удаленная служба, выберите «Удаленный пинг» и установите «Хост для пинга» на IP-адрес или имя хоста.

Мониторинг пропускной способности сети

Перейти к «Сеть» ⇒ «Мониторинг полосы пропускания» ⇒ … [TODO]

Планирование разовых / периодических заданий
Запланировать выполнение команды один раз в будущем (с помощью at)

Перейти к «Система» ⇒ «Запланированные команды» ⇒ В «Запуск от имени пользователя» установите пользователя для запуска сценария ⇒ Введите дату / время ⇒ Установите «Выполнить в каталоге» ⇒ Введите «Команда для выполнения» ⇒ Выбрать » Да »для« Отправить электронное письмо по завершении »⇒« Создать ».

Для отображения запланированных команд: перейдите к «Система» ⇒ «Запланированные команды». Вы также можете отменить запланированную команду.

Webmin выдает следующую команду Unix в командах:

$  на , запуск от имени пользователя 
# cd  каталог выполнения 
# echo ' command ' | at -m  дата-время  
       
Планирование регулярного выполнения команды (с помощью cron)

Перейти к «Система» ⇒ «Запланированные задания Cron» ⇒ «Создать новое запланированное задание cron» ⇒ Задайте имя пользователя в «Выполнить задание cron как» ⇒ Установите «Да» на «Активный» ⇒ Введите команду в «Команда» ⇒ Установить схема ⇒ «Сохранить».

Webmin добавляет задачу в crontab (таблица cron в / var / spool / cron / crontabs ). Затем демон cron выполняет задачу по обычному расписанию.

Создание часто используемых пользовательских команд

Перейти к «Другое» ⇒ «Пользовательские команды» ⇒ «Создать новую пользовательскую команду» ⇒ …

Созданная пользовательская команда будет отображаться как пункт меню.

Защита системы
Настройка межсетевого экрана

Ссылка : «IPTables How-To» @ https: // help.ubuntu.com/community/IptablesHowTo.

Linux имеет встроенный брандмауэр netfilter , который работает через инструмент iptables . Он использует 3 так называемых iptables :

  1. фильтр таблица для фильтрации IP-пакетов,
  2. таблица nat для преобразования сетевых адресов и
  3. таблица mangle для изменения IP-пакетов.

Каждая таблица содержит набор из цепочек .В каждой цепочке правил .

Для таблицы фильтра есть 3 цепочки (правил): INPUT (применяется к входящим пакетам), OUTPUT, (применяется к исходящим пакетам) и FORWARD (применяется к входящим пакетам, предназначенным для другого система). Вы можете перечислить все текущие правила фильтрации с помощью следующей команды:

$  sudo iptables -L 
Цепочка INPUT (политика ACCEPT)
target prot opt ​​источник назначения

Цепочка ВПЕРЕД (политика ПРИНЯТЬ)
target prot opt ​​источник назначения

Цепочка ВЫХОДА (политика ПРИНЯТЬ)
target prot opt ​​источник назначения
       

Инструмент iptables сложен.Но нас интересуют только входящие IP-пакеты, то есть цепочка INPUT таблицы filter . Для настройки фильтрации входящих пакетов через Webmin:

  1. Перейти к «Webmin» ⇒ «Сеть» ⇒ «Брандмауэр Linux» ⇒ Выберите вариант «Разрешить весь трафик» и отметьте «Включить брандмауэр во время загрузки» ⇒ «Настроить брандмауэр».
  2. Выберите iptable «Фильтрация пакетов (фильтр)». При новой установке не должно быть правил для всех 3 цепочек: INPUT , OUTPUT и FORWARD .
  3. Добавьте следующие правила, необходимые для правильной работы сетевого интерфейса.
    В разделе «Входящие пакеты (INPUT)»:

    1. «Добавить правило» ⇒ Установите «Действие» на «Принять» ⇒ Для «Состояния подключения» выберите «Равно» для «Установлено» и «Связано» ⇒ «Создать».
      Это правило необходимо для разрешения входящих пакетов, которые являются частью уже установленного IP-соединения . Мы установим правила для нового подключения позже.
      Соответствующая команда Unix:

      $  sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED, RELATED -j ACCEPT 
             
    2. «Добавить правило» ⇒ Установите «Действие» на «Принять» ⇒ Для «Сетевого протокола» выберите «Равно» для «ICMP» ⇒ «Создать».
      Это правило разрешает входящие пакеты для диагностики ICMP, такие как ping и traceroute .
    3. «Добавить правило» ⇒ Установите «Действие» на «Принять» ⇒ Для «Входящий интерфейс» выберите «Равно» для «lo» (локальный) ⇒ «Создать».
      Это правило разрешает входящие пакеты для локального интерфейса обратной петли (или localhost).
  4. Затем создайте правила для каждой из служб протокола, которым разрешен доступ к серверу. Это зависит от вашей конкретной среды.
    В разделе «Входящие пакеты (INPUT)»:

    1. Чтобы разрешить входящее SSH-соединение, которое по умолчанию работает через TCP-порт 22: «Добавить правило» ⇒ Установите «Действие» на «Принять» ⇒ Для «Сетевого протокола» выберите «Равно» для «TCP» ⇒ Для » Порт назначения TCP или UDP », выберите« Равно »и установите« Порт (ы) »на 22 ⇒ В« Состояниях подключения »выберите« Равно »для« НОВОЕ ».
      Соответствующая команда Unix:

      $  sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT 
             
    2. Чтобы разрешить входящее соединение Webmin, которое по умолчанию работает на TCP-порте 10000: повторите вышеуказанное, но выберите порт 10000.
    3. Точно так же вы можете разрешить входящее соединение для таких служб, как HTTP (по умолчанию для TCP-порта 80), HTTPS (по умолчанию для TCP-порта 443), Usermin (по умолчанию для TCP-порта 20000) Samba (UDP-порты 137-139, TCP-порты 137, 139 и 445), PhpMyAdmin (…) …
  5. Наконец, установите политику по умолчанию для цепочки INPUT , чтобы отбрасывать пакеты, не соответствующие никаким правилам. Выберите «Действие по умолчанию» на «Отбросить» и нажмите кнопку «Установить действие по умолчанию».
Временное отключение брандмауэра

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

$  sudo iptables -F INPUT 
      
$  sudo iptables -P ВВОД ПРИНЯТЬ 
       
Проверка настроек брандмауэра с помощью сканирования портов

Используйте программное обеспечение для сканирования портов, такое как Nmap (@ http: // nmap.org) для сканирования вашего сервера. Например,

$  nmap -sT  имя хоста  
      
$  nmap -sT -p-  имя хоста  
      
 

Вы можете выполнить команду netstat , чтобы проверить открытые порты прослушивания сервера на вашем сервере (через SSH или командную оболочку Webmin):

$  netstat -tulpen 
       
Контроль того, какие службы запускаются при загрузке, и отключение ненужных служб

Во-первых, проверьте службы, которые открывают сетевой порт, с помощью следующей команды.Вы можете выполнить команду через SSH или командную оболочку Webmin.

$  netstat -tulpen 
       

Чтобы отключить службы при загрузке, перейдите к «Система» ⇒ «Загрузка и завершение работы» ⇒ Выберите службу ⇒ Нажмите «Отключить сейчас при загрузке».

Примечание. После загрузки ОС запускается процесс с именем init , который выполняет сценарии инициализации службы в каталоге /etc/init.d .

Проверка паролей пользователей

Вы можете использовать программу для взлома паролей, такую ​​как «John the Ripple» (@ http: // www.openwall.com/john), чтобы периодически пытаться взломать пароли в вашей системе с помощью грубой силы или словарной атаки.

$  Джон / etc / shadow 
      
$  john -show / etc / shadow 
       

Для терминала John the Ripple завершите процесс (через System ⇒ Running Processes ⇒ Get the Process ID ⇒ Goto Process information ⇒ Terminate PID). Джон хранит взломанный пароль в каталоге /root/.john . Удалите каталог для безопасности.

Отключить удаленный вход root через SSH

Разрешение root входа в систему удаленно через SSH делает вашу систему доступной для взлома паролей методом грубой силы. Гораздо лучше отключить удаленный вход root , но для root используется другая учетная запись администратора для sudo .

Чтобы отключить вход в систему root через SSH, перейдите к Серверы ⇒ Сервер SSH ⇒ Аутентификация ⇒ Разрешить вход через root ⇒ №

.

Webmin редактирует файл конфигурации SSH / etc / ssh / sshd_config , устанавливая для параметра PermitRootLogin значение no ; и перезапустите SSH-сервер с помощью « sudo service ssh restart » или « sudo / etc / init.d / sshd restart «.

Примечание. По умолчанию пароль учетной записи root в Ubuntu фактически заблокирован.

Управление Samba

Samba - это служба обмена файлами для клиентов Windows. Он использует TCP-порты 137, 139, 445 и UDP-порты 137-139, которые должны быть разблокированы, если включен межсетевой экран. Он использует службы Unix nmb , smb и winbind , которые должны запускаться во время загрузки.

Настройка Samba

Во-первых, проверьте, включен ли модуль Samba в Webmin.Перейти к «Серверы» ⇒ Найдите «Общий доступ к файлам Samba Windows». В противном случае включите модуль Samba из «Неиспользуемых модулей».

Затем настройте сервер так, чтобы он был виден в сети. Перейдите к «Серверы» ⇒ «Samba Windows File Sharing» ⇒ «Windows Networking» ⇒ Установите «Workgroup» на WORKGROUP или название мастерской в ​​вашей организации ⇒ Установите «Server description» на имя, для которого ваш сервер будет виден в сети ; или "% h " для имени хоста сервера по умолчанию.

Создание общего ресурса Samba

Сначала создайте специального псевдо-пользователя Unix (не входящего в систему) с именем samba для владения общим каталогом (говорит, что / srv / samba ): Перейти к «Система» ⇒ «Пользователи и группы» ⇒ «Создать пользователя» ⇒ Установить «Имя пользователя» на « samba » ⇒ Установите «Настоящее имя» на «Псевдо-пользователь Samba Share» ⇒ Установите «Домашний каталог» на « / srv / samba » ⇒ Установите «Оболочку» на «» / usr / sbin / nologin »или« / bin / false »⇒ Установите« Пароль »на« Нет входа в систему »⇒ Установите« Первичная группа »на« Новая группа с таким же именем, как у пользователя »⇒ Установить« Копировать файлы шаблонов в домашний каталог »на« Нет »⇒ Установите« Создать пользователя в других модулях »на« Нет ».

Затем создайте общую сетевую папку Samba: перейдите к «Серверы» ⇒ «Общий доступ к файлам Samba Windows» ⇒ «Создать новый файловый ресурс» ⇒ Установите «Имя общего ресурса» на « SharedFolder » или более подходящее имя ⇒ Установите «Каталог для совместного использования» на « / srv / samba » ⇒ Установите «Автоматически создавать каталог» на «Нет» ⇒ Установите для «Доступный» и «Доступный для просмотра» значение «Да» ⇒ «Создать».

Затем создайте учетные записи пользователей Samba: Samba обслуживает собственных пользователей отдельно от пользователей Unix. Чтобы преобразовать пользователей Unix в Samba: Перейдите к «Преобразовать пользователей» ⇒ Установите «Пользователи Unix для преобразования» в «Только перечисленные пользователи или диапазоны UID» ⇒ Просмотрите список пользователей, чтобы выбрать пользователя ⇒ «Преобразовать пользователей».

Наконец, предоставьте пользователям Samba доступ к общей папке: перейдите к «Серверы» ⇒ «Samba Windows File Sharing» ⇒ Щелкните имя общего ресурса. Щелкните «Безопасность и контроль доступа» ⇒ Установите «Доступ для записи» на «Да» ⇒ Установите «Пользователи для чтения / записи» на разрешенных пользователей ⇒ «Сохранить». Нажмите «Права доступа к файлу» ⇒ Установите «Принудительно для пользователя Unix» и «Принудительно для группы Unix» значение « samba » ⇒ «Сохранить».

Аутентификация пользователей с помощью службы Microsoft Active Directory

[TODO]

Общий доступ к домашнему каталогу

Samba автоматически создает общие домашние каталоги.

Чтобы предоставить общий доступ к домашнему каталогу: перейдите к «Серверы» ⇒ «Общий доступ к файлам Samba Windows» ⇒ «Создать новые общие ресурсы» ⇒ В «Имя общего ресурса» выберите «Общий доступ к домашним каталогам». Щелкните «Безопасность и контроль доступа» ⇒ Установите «Возможность записи» на «Да». В «Аутентификации» установите «Подтвердить пользователя».

[TODO]

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

[TODO]

Настройка HTTP-сервера Apache под Webmin

Webmin помещает Apache в раздел «Сервер» ⇒ «Веб-сервер Apache».

Если брандмауэр включен, вам необходимо разрешить входящее соединение для HTTP (по умолчанию для TCP-порта 80) и HTTPS (по умолчанию для TCP-порта 443).

Запуск / остановка сервера Apache через Webmin

Вы можете запустить / остановить сервер Apache с помощью ссылки «Запустить Apache» или «Остановить Apache» в правом верхнем углу. Webmin выдает команды:

$  sudo service apache2 start 
      
$  sudo service apache2 stop 
      
$  sudo service apache2 перезапуск 
      
$  sudo service apache2 reload 
       
apachectl

apachectl - это интерфейс для HTTP-сервера Apache, предназначенный для управления сервером Apache администратором.Команды:

$  sudo apachectl start | stop | restart 
      
$  sudo apachectl fullstatus | статус 
      
$  sudo apachectl изящный 
      
$  sudo apachectl изящная остановка 
      
$  sudo apachectl start | stop | restart 
      
$  sudo apachectl configtest 
       
Настройка Apache для запуска во время загрузки

Перейти к «Система» ⇒ «Загрузка и выключение» ⇒ Щелкните «apache2» ⇒ Установите «Запускать во время загрузки» на «Да».
Вы также можете просмотреть сценарий инициализации Apache ( /etc/init.d/apache2 ) здесь.

Конфигурация Apache

Конфигурация Apache разделена на 3 раздела: глобальные настройки, сервер по умолчанию и виртуальные хосты. Если запрос соответствует одному из виртуальных хостов, он будет обработан соответствующим виртуальным хостом; в противном случае он будет обработан сервером по умолчанию.

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

Перейдите к «Серверы» ⇒ «Веб-сервер Apache» ⇒ Выберите вкладку «Глобальная конфигурация» ⇒ Выберите «Сеть и адреса» ⇒ В «Слушать адреса и порты» установите «Адреса» на «Все» и «Порт» на 80 ( номер порта HTTP TCP по умолчанию) ⇒ Выберите вкладку «Существующие виртуальные хосты» ⇒ выберите «Сервер по умолчанию» ⇒ Нажмите «Параметры документа», установите «Корневой каталог документа» на « / var / www » (или на ваш выбор) ⇒ «Сохранить «⇒« Применить изменения ».

Настройка виртуального хоста

Перейти к «Серверы» ⇒ «Веб-сервер Apache» ⇒ Выбрать вкладку «Создать виртуальный хост» ⇒ ...


ServerName example.com
DocumentRoot "/var/www/example.com"
 
Параметры настройки каталогов, файлов и местоположений

Перейдите к «Серверы» ⇒ «Веб-сервер Apache» ⇒ Выберите вкладку «Существующие виртуальные хосты» ⇒ Выберите виртуальный хост, который нужно настроить ⇒ В «Создать для каталога, файла или расположения» ⇒ Установите «Тип» на...

Перенаправление входящих запросов

Перейти к «Серверы» ⇒ «Веб-сервер Apache» ⇒ «Существующие виртуальные хосты» ⇒ Выберите виртуальный хост для настройки ⇒ Нажмите «Псевдонимы и перенаправления» ⇒ Заполните «Перенаправления URL-адресов Regexp»: установите «От» до ..., » Статус «на 301», «Кому» на ....

Webmin добавляет директиву RedirectMatch или Redirect под виртуальный хост:


RedirectMatch 301 /test/(.*) "http://example.com/test/$1"
 

Перенаправить 301 / test / "http: // example.com / test / "
 
Настройка безопасного веб-сайта с помощью SSL
  1. Включить модуль Apache ssl .
  2. Создайте закрытый ключ через openssl :
    $  openssl genrsa -out key.pem 2048 
          
     
  3. Сделайте самоподписанный сертификат:
    $  openssl req -new -key key.pem -x509 -nodes -days 365 -out cert.pem 
           
     
    $  openssl x509 -noout -text -in cert.pem 
           
     
  4. Переместите файл закрытого ключа и сертификат в каталог конфигурации Apache ( / etc / Apache2 ) и установите права доступа к файлу закрытого ключа для его защиты:
    $  sudo chmod 400 key.pem 
           
  5. Перейти к «Серверы» ⇒ «Веб-сервер Apache» ⇒ «Создать виртуальный хост» ⇒ Установите «Порт» на 443 (по умолчанию HTTPS) ⇒ Задайте «Корень документа» ⇒ Задайте «Имя сервера» таким же, как общее имя в сертификате ⇒ Установите «Включить SSL» на «да» ⇒ Задайте файл сертификата и закрытого ключа.

Webmin активирует SSL, добавив к виртуальному хосту следующую директиву:

SSLEngine включен
SSLCertificateFile /etc/apache2/cert.pem
SSLCertificateKeyFile /etc/apache2/key.pem 
Настройка доступа Apache и файлов журнала ошибок

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

Формат записи журнала можно указать как:

% h% l% u% t "% r"%> s% O "% {Referer} i" "% {User-Agent} i"
       

Эти директивы добавлены в :

ErrorLog /var/log/apache2/example.com-error.log
LogLevel предупреждать
LogFormat "комбинированный"
TransferLog /var/log/apache2/example.com-access.log 
Анализ файлов журнала с помощью Webalizer
  1. Проверьте, установлен ли Webalizer.
  2. Перейти к «Серверы» ⇒ «Анализ файла журнала Webalizer» ⇒ «Добавить новый журнал для анализа» ⇒ Установить «Базовый путь к файлу журнала» в журнал доступа ⇒ Установить «Записать отчет в каталог» на ... ⇒ Установить «Запустить webalizer как пользователь "на root ⇒ Установите" Всегда повторно обрабатывать файлы журнала "на" нет "⇒ Установите" Очистить файл журнала после запланированного отчета "на" нет "⇒ Установите" Параметры отчета "на" Глобальные параметры пользователя "⇒ Установите" По расписанию генерация отчета с "на" Включено, время от времени выбирается ниже "⇒ Выберите" Простое расписание ", установите" Ежедневно (в полночь) "⇒" Создать ".
Настройка MySQL под Webmin

Рекомендую использовать PhpMyAdmin.

После установки

Запустить сценарий mysql_secure_installation , который:

  • Установите пароль для пользователя MySQL root .
  • Удалить анонимного пользователя.
  • Отключить удаленный вход пользователем root . (SSH разрешен. PhpMyAdmin?)
  • Удалите базу данных test .

[TODO]

Usermin

Usermin (@ http: // www.webmin.com/usermin.html) - это веб-интерфейс пользователя для Unix-подобных систем. Это упрощенная версия Webmin, предназначенная для обычных пользователей (вместо системного администратора для webmin) для таких задач, как чтение почты, настройка пересылки почты и настройка SSH (Secure Shell).

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

[TODO]

СПРАВОЧНИКИ И РЕСУРСЫ

  1. Материнский сайт Ubuntu @ http://www.ubuntu.com.

Как установить Ubuntu Linux Server 16.04 LTS

В этом руководстве по системному администрированию Linux вы узнаете, как выполнить базовую установку Ubuntu Linux Server 16.04 LTS (Xenial Xerus) со снимками экрана и инструкциями (LTS означает «Долгосрочная поддержка»).

Для завершения этой установки вам понадобится копия установочного носителя Ubuntu Linux Server 16.04. Вы можете получить последнюю версию в виде образа DVD (ISO), который можно использовать для этой установки, по адресу www.ubuntu.com/download/server . Обязательно выберите версию Ubuntu Linux Server, поскольку в настольной версии используется графический установщик.

В этом руководстве мы установим ISO-образ DVD x86_64 на виртуальную машину.

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

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

ВАЖНО: Инструкции на этой странице приведут к стиранию жесткого диска вашего компьютера.Пожалуйста, сделайте РЕЗЕРВНОЕ КОПИРОВАНИЕ ВСЕХ ДАННЫХ, прежде чем продолжить!

  • Чтобы начать установку, вставьте установочный носитель в свой компьютер и настройте компьютер на загрузку с него. Когда компьютер загрузится с носителя, вы увидите следующий экран выбора языка.

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

  • Далее вам будет предложено выбрать действие.

    Поскольку мы устанавливаем Linux, мы выберем значение по умолчанию Install Ubuntu Server , нажав Введите .

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

    Используйте клавиатуру Стрелка клавиш для выбора и нажмите Введите .В этом руководстве мы будем использовать значение по умолчанию English .

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

    Мы примем значение по умолчанию США , нажав Введите

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

    Если обнаружение не удалось, вам нужно будет завершить процесс ручного выбора на шагах 6 и 7, как если бы вы выбрали <Нет> .

    В этом руководстве мы выберем <Нет> , чтобы мы могли вручную выбрать раскладку клавиатуры. Нажатие клавиши Tab позволит вам перемещаться между выборами.

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

    Мы выберем на английском (США) , который используется по умолчанию.

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

    Мы снова выберем Английский (США) , который используется по умолчанию.

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

    Для перехода к шагу настройки сети нажмите клавишу Enter .

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

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

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

    В нашем примере мы выберем Настроить сеть вручную .

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

  • Теперь, когда мы выбрали Настроить сеть вручную , нам будет предложено ввести адрес Интернет-протокола (IP) для нашей системы. Если вы не знаете свой IP-адрес, обратитесь к сетевому администратору за информацией.

    В этом примере мы будем использовать IP-адрес 1.2.3.4 .

    В соответствующем поле введите IP-адрес 1.2.3.4 . По окончании нажимайте клавишу Tab , пока не дойдете до <Продолжить> , а затем нажмите клавишу Enter .

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

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

    Поскольку мы принимаем сетевую маску по умолчанию 255.255.255.0 , просто нажимайте клавишу Tab , пока не дойдете до <Продолжить> , а затем нажмите клавишу Enter .

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

    В нашем примере мы будем использовать адрес 1.2.3.1 в качестве адреса нашего шлюза.

    В соответствующем поле введите IP-адрес 1.2.3.1 в качестве адреса шлюза. По окончании нажимайте клавишу Tab , пока не дойдете до <Продолжить> , а затем нажмите клавишу Enter .

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

    В нашем примере мы будем использовать адрес 8.8.8.8 в качестве адреса нашего сервера имен.

    В соответствующем поле введите IP-адрес 8.8.8.8 в качестве адреса сервера имен. По окончании нажимайте клавишу Tab , пока не дойдете до <Продолжить> , а затем нажмите клавишу Enter .

  • Далее вам будет предложено ввести имя, которое будет называться этим хостом. Это имя может состоять из одного слова (без пробелов) и не должно содержать специальных символов, таких как «%». Однако системные администраторы часто используют тире «-» в именах хостов. (Например, веб-сервер-1 )

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

    Поскольку хост, который мы создаем в этом руководстве, не будет отображаться в сети, мы оставим имя хоста в качестве значения по умолчанию ubuntu .Нажимайте клавишу Tab , пока не дойдете до <Продолжить> , а затем нажмите клавишу Enter .

  • На этом шаге вам будет предложено ввести полное имя основного пользователя системы. (Примечание: в системах Ubuntu этот пользователь НЕ является суперпользователем root, но будет иметь административные возможности.)

    В нашей системе мы установим это имя пользователя на TechOnTheNet , но вы можете использовать свое полное имя (например, John Doe).Нажимайте клавишу Tab , пока не дойдете до <Продолжить> , а затем нажмите клавишу Enter .

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

    В нашем примере мы будем использовать techonthenet для нашей учетной записи. Нажимайте клавишу Tab , пока не дойдете до <Продолжить> , а затем нажмите клавишу Enter .

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

    Важно выбрать надежный пароль, который нелегко угадать и который вы запомните! (Обычно надежные пароли состоят из более чем 8 символов и содержат символы верхнего / нижнего регистра и имеют числа или специальные символы, такие как «$».)

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

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

    После повторного ввода пароля нажимайте клавишу Tab , пока не дойдете до <Продолжить> , а затем нажмите клавишу Enter .

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

    Поскольку наша машина будет использоваться только для этого руководства, мы принимаем на себя риск и продолжим. Если вы выберете <Нет> , вам придется повторить выбор пароля (шаги 11 и 12). Если вы выберете <Да> , вы перейдете к следующему шагу.

  • Ubuntu позволяет зашифровать ваши домашние каталоги в целях безопасности. Это полезно в ситуациях, когда пользователям требуется защита элементов, которые они хранят в своих домашних каталогах.

    В этом руководстве мы выберем <Нет> и не будем шифровать домашние каталоги.

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

    В нашей системе мы выберем часовой пояс Pacific .

  • Ubuntu попросит вас настроить разделы жесткого диска.Доступно несколько вариантов:

    Направляющая - использовать весь диск
    Создает структуру разделов, отличную от LVM (диспетчера логических томов), которая следует более традиционной схеме UNIX. Эта схема создает фиксированные разделы, которые нельзя легко изменить без переустановки или дополнительных знаний Linux.
    По инструкции - используйте весь диск и настройте LVM
    Выделяет небольшой загрузочный раздел и помещает оставшееся доступное дисковое пространство в логический том, в котором будут созданы другие разделы.LVM позволяет установить пример
  • на Ubuntu 20.04 LTS - Nextcloud, последнее руководство по администрированию, последняя версия документации

    Вы можете использовать пакеты .deb для установки необходимых и рекомендуемых модулей для типичного Nextcloud.
    установка с использованием Apache и MariaDB, выполнив следующие команды в
    терминал:

     sudo apt update
    sudo apt установить apache2 mariadb-server libapache2-mod-php7.4
    sudo apt установить php7.4-gd php7.4-mysql php7.4-curl php7.4-mbstring php7.4-международный
    sudo apt установить php7.4-gmp php7.4-bcmath php-imagick php7.4-xml php7.4-zip
     
    • Устанавливает пакеты для основной системы Nextcloud.
      Если вы планируете запускать дополнительные приложения, имейте в виду, что они могут потребовать дополнительных
      пакеты. Дополнительные сведения см. В разделе Необходимые условия для ручной установки.

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

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

     sudo /etc/init.d/mysql start
    sudo mysql -uroot -p
     

    Затем появится запрос MariaDB [root]> . Теперь введите следующие строки, заменив имя пользователя и пароль соответствующими значениями и подтвердите их клавишей ввода:

     СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'имя пользователя' @ 'localhost' ИДЕНТИФИЦИРОВАНО 'паролем';
    СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА nextcloud.* TO 'username' @ 'localhost';
    ПРИВИЛЕГИИ ПРОМЫВКИ;
     

    Вы можете выйти из подсказки, введя:

    Теперь скачайте архив последней версии Nextcloud:

    • Перейдите на страницу загрузки Nextcloud.

    • Перейдите на Загрузить сервер Nextcloud> Загрузить> Архивировать файл для
      владельцев сервера
      и скачайте архив tar.bz2 или .zip.

    • При этом загружается файл с именем nextcloud-x.y.z.tar.bz2 или nextcloud-x.y.z.zip
      (где x.y.z - номер версии).

    • Загрузите соответствующий файл контрольной суммы, например nextcloud-x.y.z.tar.bz2.md5,
      или nextcloud-x.y.z.tar.bz2.sha256.

    • Проверьте сумму MD5 или SHA256:

       md5sum -c nextcloud-x.y.z.tar.bz2.md5 
    • Вы также можете проверить подпись PGP:

       wget https://download.nextcloud.com/server/releases/nextcloud-x.y.z.tar.bz2.asc
      wget https://nextcloud.com/nextcloud.asc
      gpg --import nextcloud.asc
      gpg --verify nextcloud-x.y.z.tar.bz2.asc nextcloud-x.y.z.tar.bz2
       
    • Теперь вы можете извлечь содержимое архива. Запускаем соответствующую распаковку
      команда для вашего типа архива:

       tar -xjfv nextcloud-x.y.z.tar.bz2
      разархивируйте nextcloud-x.y.z.zip
       
    • Распаковывается в один каталог nextcloud . Скопируйте каталог Nextcloud
      до конечного пункта назначения. Когда вы используете HTTP-сервер Apache, вы можете
      безопасно установите Nextcloud в корневой каталог документов Apache:

       cp -r nextcloud / путь / к / веб-серверу / корневой-документ
       

      , где / путь / к / веб-серверу / корню документа заменен на
      корневой каталог документов вашего веб-сервера:

    На других HTTP-серверах рекомендуется устанавливать Nextcloud вне
    корень документа.

    Пример установки в Ubuntu 18.04 LTS - Nextcloud, последнее руководство по администрированию, последняя версия документации

    Или вы можете использовать пакеты .deb для установки необходимых и рекомендуемых модулей для типичного Nextcloud.
    установка с использованием Apache и MariaDB, выполнив следующие команды в
    терминал:

     apt-get установить apache2 mariadb-server libapache2-mod-php7.2
    apt-get install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring
    apt-get install php7.2-intl php-imagick php7.2-xml php7.2-zip
     
    • Устанавливает пакеты для основной системы Nextcloud.
      Если вы планируете запускать дополнительные приложения, имейте в виду, что они могут потребовать дополнительных
      пакеты. Дополнительные сведения см. В разделе Необходимые условия для ручной установки.
    • При установке сервера MySQL / MariaDB вам будет предложено
      создать пароль root. Обязательно запомните свой пароль, так как он вам понадобится
      во время настройки базы данных Nextcloud.

    Теперь скачайте архив последней версии Nextcloud:

    • Перейдите на страницу загрузки Nextcloud.

    • Перейдите на Загрузить сервер Nextcloud> Загрузить> Архивировать файл для
      владельцев сервера
      и скачайте архив tar.bz2 или .zip.

    • При этом загружается файл с именем nextcloud-x.y.z.tar.bz2 или nextcloud-x.y.z.zip
      (где x.y.z - номер версии).

    • Загрузите соответствующий файл контрольной суммы, например nextcloud-x.y.z.tar.bz2.md5,
      или nextcloud-x.y.z.tar.bz2.sha256.

    • Проверьте сумму MD5 или SHA256:

       md5sum -c nextcloud-x.y.z.tar.bz2.md5 
    • Вы также можете проверить подпись PGP:

       wget https://download.nextcloud.com/server/releases/nextcloud-x.y.z.tar.bz2.asc
      wget https://nextcloud.com/nextcloud.asc
      gpg --import nextcloud.asc
      gpg --verify nextcloud-x.y.z.tar.bz2.asc nextcloud-x.y.z.tar.bz2
       
    • Теперь вы можете извлечь содержимое архива. Запускаем соответствующую распаковку
      команда для вашего типа архива:

       tar -xjf nextcloud-x.y.z.tar.bz2
      разархивировать nextcloud-x.y.z.zip
       
    • Распаковывается в один каталог nextcloud . Скопируйте каталог Nextcloud
      до конечного пункта назначения. Когда вы используете HTTP-сервер Apache, вы можете
      безопасно установите Nextcloud в корневой каталог документов Apache:

       cp -r nextcloud / путь / к / веб-серверу / корневой-документ
       

      , где / путь / к / веб-серверу / корню документа заменен на
      корневой каталог документов вашего веб-сервера:

    На других HTTP-серверах рекомендуется устанавливать Nextcloud вне
    корень документа.

    Как создать и настроить собственный сервер STUN / TURN с помощью coturn в Ubuntu 18.04

    В последние дни нам нужно было реализовать приложение для видеоконференций на основе WebRTC с использованием PeerJS с Node.js. Как упоминалось в официальных примечаниях к началу работы с этой технологией, в большинстве случаев для того, чтобы такие приложения работали, вам понадобится специальный тип сервера, который отвечает за ретрансляцию трафика между одноранговыми узлами, потому что иногда прямой сокет часто невозможно между клиентами (если они не находятся в одной локальной сети).Он известен как сервер TURN, что означает Traversal Using Relay NAT и является протоколом для ретрансляции сетевого трафика.

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

    Требования

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

    • Сервер Ubuntu (18.04 в нашем случае).
    • Знайте общедоступный IP-адрес вашего сервера, в нашем случае мы будем использовать общедоступный IP-адрес нашего сервера 209.126.124.122.
    • Владейте доменом и получите доступ к диспетчеру DNS, так как вам нужно будет создать 2 поддомена (в нашем случае домен будет ourcodeworld.com , и он размещен на goDaddy).
    • SSL-сертификаты для поддоменов (желательно сертификат с подстановочным знаком, например * .ourcodeworld.com ). Без безопасного протокола реализация вашего сервера не будет завершена, и после его использования в ваших проектах WebRTC с HTTPS он не будет работать, так что будьте умны и избегайте головной боли, купите сертификат SSL или получите бесплатный с LetsEncrypt.

    Сказав это, давайте начнем с учебника!

    1. Установить фиксатор

    .

    Для реализации вашего собственного сервера STUN / TURN мы будем полагаться на проект Coturn. Coturn - это бесплатная реализация с открытым исходным кодом сервера TURN и STUN для VoIP и WebRTC. Этот проект произошел от проекта rfc5766-turn-server (https://code.google.com/p/rfc5766-turn-server/). Есть много новых расширенных спецификаций TURN, которые выходят далеко за рамки исходного документа RFC 5766.Этот проект использует код rfc5766-turn-server в качестве стартового и добавляет к нему новые расширенные функции.

    Перед тем, как продолжить установку coturn, обязательно обновите репозиторий apt-get до последней версии с помощью следующей команды:

      sudo apt-get -y update  

    Затем установите пакет coturn с помощью следующей команды:

      sudo apt-get install coturn  

    Это установит проект coturn TURN на ваш сервер, бесплатную реализацию TURN и STUN-сервера с открытым исходным кодом.Обязательно остановите службу после установки пакета с помощью следующей команды, так как она будет автоматически запущена после завершения установки:

      systemctl стопор  

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

    2. Включить поворот

    После установки вам нужно будет включить сервер TURN в конфигурационном файле coturn.Для этого раскомментируйте свойство TURNSERVER_ENABLED в файле / etc / default / coturn . Вы можете использовать nano для редактирования файла с терминала:

      нано / и т.д. / по умолчанию / coturn  

    Убедитесь, что содержимое файла имеет свойство uncommented, например:

      TURNSERVER_ENABLED = 1  

    Сохраните изменения и перейдите к следующему шагу.

    3. Резервное копирование и создание файла конфигурации

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

      # Перенести исходный файл конфигурации Turnserver в резервную копию в том же каталоге
    mv /etc/turnserver.conf /etc/turnserver.conf.original  

    Это в основном переименует файл. Затем перейдите к созданию файла конфигурации в том же каталоге:

      нано / etc / turnserver.конф  

    И вставьте на него следующее содержимое:

      # /etc/turnserver.conf
    
    # Порт сервера STUN - 3478 для UDP и TCP и 5349 для TLS.
    # Разрешить подключение по UDP-порту 3478
    порт прослушивания = 3478
    # и 5349 для TLS (безопасный)
    tls-прослушивание-порт = 5349
    
    # Требовать аутентификацию
    отпечаток пальца
    lt-cred-mech
    
    # Мы будем использовать механизм долгосрочной аутентификации, но если
    # вы хотите использовать механизм auth-secret, комментарий lt-cred-mech и
    # раскомментировать use-auth-secret
    # Проверить: https: // github.com / coturn / coturn / issues / 180 # issuecomment-364363272
    # В этом руководстве необходимо изменить статический секрет аутентификации
    # мы сгенерируем токен с помощью OpenSSL
    # use-auth-secret
    # static-auth-secret = replace-this-secret
    # ----
    # Если вы решили использовать use-auth-secret, После сохранения изменений измените auth-secret, используя следующую команду:
    # sed -i "s / replace-this-secret / $ (openssl rand -hex 32) /" /etc/turnserver.conf
    # Это заменит текст replace-this-secret в файле на сгенерированный токен с помощью openssl.# Укажите имя сервера и область, которая будет использоваться
    # если вы настраиваете впервые, просто используйте домен как имя
    server-name = ourcodeworld.com
    realm = ourcodeworld.com
    
    # Важный:
    # Создайте тестового пользователя, если хотите
    # Вы можете удалить этого пользователя после тестирования
    пользователь = гость: какой-нибудь пароль
    
    общая квота = 100
    stale-nonce = 600
    
    # Путь к сертификату SSL и закрытому ключу. В этом примере мы будем использовать
    # файлы сертификатов, созданные letsencrypt.сертификат = / usr / local / psa / var / modules / letsencrypt / etc / live / ourcodeworld.com / cert.pem
    pkey = / usr / local / psa / var / modules / letsencrypt / etc / live / ourcodeworld.com / privkey.pem
    
    # Укажите разрешенный список шифров OpenSSL для соединений TLS / DTLS
    cipher-list = "ECDHE-RSA-AES256-GCM-SHA512: DHE-RSA-AES256-GCM-SHA512: ECDHE-RSA-AES256-GCM-SHA384: DHE-RSA-AES256-GCM-SHA384: ECDHE256-RSA-A -SHA384 "
    
    # Укажите пользователя процесса и группу
    proc-user = Turnserver
    proc-group = Turnserver  

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

    До этого момента все, что нам нужно настроить на нашем сервере, должно быть выполнено.

    4. Создайте записи DNS в вашем диспетчере DNS

    Как мы упоминали в начале статьи, вам необходимо владеть некоторым доменом, на котором будет размещаться сервер STUN / TURN. Вам нужно будет создать 2 новые записи A, используя Turn и stun в качестве хоста, соответственно указывая на общедоступный IP-адрес вашего сервера:

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

    5. Создайте постоянного пользователя с помощью turnadmin

    Turnadmin входит в стандартный пакет coturn. Это приложение представляет собой инструмент администрирования TURN-реле, который позволяет вам управлять пользователями вашего сервера поворота / оглушения. Клиентам потребуются учетные данные для подключения к вашему серверу поворота, поэтому вы можете зарегистрировать их следующим образом:

      sudo turnadmin -a -u ИМЯ ПОЛЬЗОВАТЕЛЯ -r REALM -p ПАРОЛЬ  

    Например, чтобы создать тестового пользователя, я бы запустил следующую команду (имя пользователя brucewayne, realm ourcodeworld.com и пароль 12345):

      sudo turnadmin -a -u brucewayne -r ourcodeworld.com -p 12345  

    Обратите внимание, что ранее мы создали одного пользователя в файле /etc/turnserver.conf с обычным текстом, установив имя пользователя как guest и пароль somepassword .

    6. Включите coturn server на

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

      systemctl start coturn  

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

      systemctl статус coturn  

    Что должно вывести что-то подобное:

    7. Тестирование TURN / STUN сервера

    К счастью, есть отличный онлайн-инструмент, который позволяет вам проверить работоспособность серверов STUN / TURN.Этот инструмент представляет собой Trickle ICE, проект страницы WebRTC, который тестирует функциональность trickle ICE в обычной реализации WebRTC. Он создает PeerConnection с указанными ICEServers (который будет содержать информацию о нашем недавно реализованном сервере), а затем начинает сбор кандидатов для сеанса с одним аудиопотоком. По мере сбора кандидатов они отображаются в текстовом поле ниже вместе с указанием, когда сбор кандидатов завершен.

    Для начала откройте веб-сайт инструмента в новой вкладке браузера и начните заполнять форму серверов ICE.

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

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