Как создать linux сервер своими руками и что для этого нужно

Настройка Ubuntu WSL

Выполним первоначальную настройку Ubuntu WSL, чтобы с ней удобнее было далее работать. Начнем с подключения по SSH.

Настройка ssh

Терминал Windows не очень удобен и привычен. Так что если вы привыкли подключаться по ssh через какой-нибудь другой менеджер подключений, вам нужно будет на wsl системе настроить ssh. Это не совсем очевидная процедура. Чтобы заставить нормально работать openssh server, его надо переустановить. Делаем это:

# sudo apt reinstall openssh-server

Теперь сразу разрешим подключаться с использованием паролей. Для этого открываем конфиг /etc/ssh/sshd_config и разкомментируем настройку:

PasswordAuthentication yes

После этого перезапустите службу sshd

sudo service ssh restart

Мы закончили настройку ssh в ubuntu. Теперь к ней можно подключиться, например, через putty. Используем адрес 127.0.0.1 и порт 22.

Вот и все. Можете использовать любой другой ssh клиент.

Обновление

Для того, чтобы обновить Ubuntu WSL на Windows 10 достаточно внутри linux системы запустить стандатрное средство обновления пакетов — apt.

sudo apt update
sudo apt full-upgrade

В общем случае этого достаточно для обновления системы. Если же вы хотите выполнить обновление до следующего релиза, то лучше это сделать через Windows Store, установив нужную версию ubuntu.

Установка MC

Для того, чтобы установить популярный в linux среде файловый менеджер Midhight Commander или коротко MC, необходимо опять же воспользоваться пакетным менеджером apt.

sudo apt install mc

При этом вы сможете без проблем перемещаться не только внутри ubuntu, но и открывать файлы windows. Традиционные диски C:, D: и т.д. смонтированы в /mnt.

Войти под root

Для того, чтобы в Ubuntu WSL зайти под ученой записью root, необходимо под пользователем выполнить в консоли:

sudo su

Теперь вы полноценный root пользователь и можете запускать команды с повышенными привилегиями без sudo.

Автозапуск служб

В Ubuntu WSL не работает systemd и возникает закономерный вопрос, а как же тогда настроить автозапуск нужных служб. Тут есть два принципиально разных подхода по автозапуску служб:

  1. Служба в wsl запускается автоматически после запуска компьютера.
  2. Служба wsl запускается автоматически после первого входа в bash установленного linux.

Для первого случая проще всего воспользоваться готовым скриптом wsl-autostart — https://github.com/troytse/wsl-autostart. С его помощью вы можете выбрать любые программы из ubuntu, которые захотите запустить при старте компьютера.

Если вы хотите выполнить какую-то команду при первом входе в wsl, то просто добавьте ее в файл .bashrc домашнего каталога пользователя. Например, добавим туда вывод фразы Hello World! Для этого добавляем в самый конец:

echo "Hello World"

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

Вместо команды echo можете написать любую другую. Например, запуск MC:

/usr/bin/mc

Теперь при запуске терминала ubuntu wsl у вас автоматически будет запускаться файловый менеджер MC.

Настройка DNS

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

Одним из следствий этого полезного нововведения (переход на эту схему произошел в Ubuntu начиная с версии 12.04) является то, что теперь файл /etc/resolv.conf генерируется автоматически, а не индивидуально каждой программой, которая хочет его изменить (порой перезаписывая правки сделанные ранее). Автоматическая генерация /etc/resolv.conf означает, что внесенные «руками» изменения в него будут потеряны.

Автоматически формируемый /etc/resolv.conf содержит ссылку на DNS сервер на локальном интерфейсе (127.0.1.1), а там (на 53 порту) и сидит сервис dnsmasq, который отвечает за разрешение символьных имен в IP адреса. Нужно отметить, что этот порт (53) открыт в режиме LISTEN, но т.к. это локальный интерфейс, то из внешней сети этот порт не доступен.

Информацию о DNS для статических интерфейсов теперь надо вносить в /etc/network/interfaces в параметры dns-nameservers, dns-search и dns-domain (которые соответствуют параметрам nameserver, search и domain в /etc/resolv.conf)

Обратите внимание — в /etc/resolv.conf, при записи нескольких серверов используется несколько ключей nameserver, а в /etc/network/interfaces все адреса DNS серверов записывались в одну строчку после ключа dns-nameservers, разделенные пробелами.

В итоге описание статического интерфейса в /etc/network/interfaces должно выглядеть примерно так:

iface eth0 inet static 
address 192.168.0.1 
netmask 255.255.255.0 
gateway 192.168.0.254 
dns-nameservers 8.8.8.8 192.168.0.254
auto eth0 
Ubuntu до версии 12.04

В более старых версиях ubuntu, когда есть необходимость указать статические адреса DNS серверов (если они не выдаются автоматически) выполните:

$ sudo gedit /etc/resolv.conf

и впишите туда адреса DNS серверов (отдельные записи для каждого сервера):

nameserver 192.168.0.100
nameserver 192.168.0.200

Где 192.168.0.100 и 192.168.0.200 — адреса DNS серверов. Если нужно добавить больше адресов — каждый адрес нужно начинать с новой строки и с фразы

Установка PostgreSQL

Фирма 1С распространяет специально обученный дистрибутив PostgreSQL, который отличается от «стандартного» наложенным патчем. При желании можно взять «стандартный» PostgreSQL, пропатчить его и собрать.

Получение дистрибутива

Для получения дистрибутива необходимо перейти на https://releases.1c.ru/project/AddCompPostgre и выбрать необходимый релиз с необходимой разрядностью. В моем случае необходимо было установить релиз 11.5, на нем и буду проводить дальнейшее описание.

Кроме дистрибутива необходимо обратить внимание на раздел Особенности релиза, в нем описано:

  • C какой версисей платформы реализована поддержка и проводилось нагрузочное тестироввние;
  • Список поддерживаемых дистрибутивов Linux и что необходимо выполнить до установки.

Для Ubuntu 16.04 и старше указано, что необходимо предварительно установить пакеты libicu55 и postgresql-common.

Ранее необходимо было искать недостающие пакеты по репозиториям, скачивать и устанавливать. Теперь же в нижней части страницы с релизами есть раздел Дополнительные материалы. В разделе выложены необходимые пакеты для удовлетворения зависимостей дистрибутива. Например для Ubuntu Server 20.04, к PostgreSQL 11.5 архив содержит пакеты:

  • libicu55_55.1-7_amd64.deb
  • libllvm6.0_6.0-1ubuntu2_amd64.deb
  • libllvm9_9_+20191211102125+c1a0a213378-1_exp1_20191211212701.104_amd64.deb
  • postgresql-client-common_207_all.deb
  • postgresql-common_207_all.deb
  • ssl-cert_1.0.39_all.deb

Установка

Пакет postgresql-common я установил из репозитория

# apt install postgresql-common

Пакет libicu55, установил из скачанного ахива дополлнительных материалов

# dpkg -i ./libicu55_55.1-7ubuntu0.4_amd64.deb

Далее необходимо установить пакеты скачанного дистрибутива PostgreSQL

# dpkg -i ./libpq5_11.5-19.1C_amd64.deb
# dpkg -i ./postgresql-11_11.5-19.1C_amd64.deb
# dpkg -i ./postgresql-client-11_11.5-19.1C_amd64.deb

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

# pg_ctlcluster 11 main start

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

# apt-mark hold libpq5 postgresql-11 postgresql-client-11

Настройка

При установке автоматически создается кластер main, необходимо только произвести некоторые настройки. Для возможности подключения открываем файл /etc/postgresql/11.6/main/pg_hba.conf

# nano /etc/postgresql/11/main/pg_hba.conf

находим строку

local all postgres peer

и изменяем на peer на trust

local all postgres trust

Далее сменим пароль для пользователя postgres, от которого будет происходить подключение к СУБД

# psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'Password'"

вместо Password пишем необходимый пароль.

Остается перезапустить службу, и можно подключиться к серверу PostgreSQL средствами pgAdmin.

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

# /etc/init.d/postgresql start
# /etc/init.d/postgresql restart
# /etc/init.d/postgresql stop

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

# pg_dropcluster --stop 11 main
Redirecting stop request to systemctl
# pg_createcluster --locale ru_RU.UTF-8 11 main
Creating new cluster 11/main ...
config /etc/postgresql/11/main
data /var/lib/postgresql/11/main
locale ru_RU.UTF-8
socket /var/run/postgresql
port 5432

Настройка phpMyAdmin

1. Установка

Устанавливаем обязательное PHP-расширение mbstring.

В официальном репозитории размещена устаревшая версия phpMyAdmin, поэтому выполним установку в ручном режиме.

Копируем архив на сервер в каталог “/var/www/sites/” используя любой ftp-клиент.

Распаковываем архив, и для удобства, переименовываем извлеченную папку в “phpMyAdmin”. Для распаковки zip-архива предварительно установим утилиту “unzip”. После распаковки архив можно удалить.

Создаем папку “/var/www/sites/phpMyAdmin/tmp” для хранения временных файлов с полными доступом для всех. Если этого не сделать phpMyAdmin сообщит об отсутствии доступа в временной папке.

2. Создание псевдонима

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

Открываем файл “/etc/apache2/mods-available/alias.conf” и вставляем строку

внутри секции

Перезагружаем конфигурацию Apache для применения изменений.

3. Подготовка базы данных

Так как при первоначальной настройке MariaDB мы запретили использование учетной записи root для удаленного подключения, необходимо создать новую учетную запись с полными правами, которая будет использоваться для входа в phpMyAdmin.

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

Создадим учетные записи

Обратите внимание, что имя базы данных во втором запросе заключено в обратные апострофы: “… ON `phpmyadmin`.* TO ‘pma’@’localhost’ IDENTIFIED BY …”,

В результате в MariaDB будет создано две учетные записи:

  1. Логин: pma, пароль: Qwe123
    Учетная запись имеет полные права и будет использоваться для входа в phpMyAdmin
  2. Логин: pmaservice, пароль:Qwe123
    Служебная учетная запись необходимая для работы дополнительных функций.

На следующем шаге эти учетные данные должны быть указаны в конфигурационном файле “config.inc.php”

Далее необходимо импортировать базу данных из файла “phpMyAdmin/sql/create_tables.sql”. Выполним импорт средствами phpMyAdmin.

Вводим логин “pma”, пароль “Qwe123”

Переходим на вкладку “Импорт”, нажимаем кнопку “Выберите файл” и выбираем файл ”sql/create_tables.sql” в корневой директории phpMyAdmin. Предполагается что на локальном компьютере существует папка с файлами “phpMyAdmin”, если необходимо, распакуйте архив.

Для завершения импорта нажимаем кнопку “Вперед”.

4. Конфигурация

Копируем файл конфигурации из шаблона

Открываем конфигурационный файл “/var/www/sites/phpMyAdmin/config.inc.php” и вносим следующие изменения:

  1. Задаем произвольное значение длиной 32 символа для параметра “$cfg”. Можно воспользоваться любым генератором паролей.
  2. Снимаем комментарии со всех строк раздела “phpMyAdmin configuration storage settings” и указываем для параметров “controluser” и “controlpass” логин и пароль служебной учетной записи MariaDB, созданной на предыдущем шаге. В нашем случае логин — pmaservice, пароль — Qwe123

Сохраняем изменения. Настройка завершена.

Данные для входа в phpMyadmin:

  • http:///pma/
  • Логин: pma
  • Пароль: Qwe123

Настройка базы данных для PhpPgAdmin

Теперь вам нужно будет настроить базу данных и создать пользователя для PhpPgAdmin. Войдите в учетную запись пользователя postgres и введите psql, чтобы войти в оболочку PostgreSQL.

После входа в систему вы получите следующий вывод.


Оболочка PostgreSQL

На следующем шаге вам нужно создать базу данных и пользователя для PhpPgAdmin. Давайте создадим имя пользователя jerry с паролем mystrongpassword.

Создайте базу данных (например, pgadmindb) с помощью следующей команды.

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

Чтобы выйти из оболочки PostgreSQL, выполните следующую команду.


Настройка базы данных для PhpPgAdmin

Локальный 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:///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».

Установка Ubuntu Server 16.04:

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

После вставляем наше загрузочное устройство (DVD-диск или флешку) в наш ПК/сервер, на который будем устанавливать Ubuntu Server 16.04. Заходим в BIOS, выставляем загрузку с нашего носителя и запускаемся.

Нас приветствует окно выбора языка, на котором мы будем продолжать установку. Я выбрал «Русский», хотя многие любят устанавливать Английскую версию, я все же больше склоняюсь у Русской! Выбираем язык установки (стрелочками на клавиатуре) и нажимаем Enter.

Далее идет окно выбора дальнейшего действия. Мы с вами будем устанавливать Ubuntu Server 16.04, поэтому выбираем «Установить Ubuntu Server» и нажимаем Enter:

Нам предлагается выбрать наше местоположение. Я выбираю «Российская Федерация» и нажимаю Enter. Если у Вас другое местоположение — вы выбираете свое.

Тут можно определить раскладку, я выбираю «Нет» и продолжаю, так как у нас раскладка «по умолчанию»:

Выбираем нашу раскладку:

Тут выбирается способ переключения раскладки, по умолчанию это — Alt+Shift, как в Windows:

Далее задается Hostname (Имя ПК), по какому имени будет отзываться ПК/сервер в нашей сети:

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

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

Следующим этапом определяется часовой пояс. У меня автоматически определилось, что часовой пояс у меня — Москва. Если все верно, то нажимаем «Да», если определилось неверно — «Нет» и переходим к следующему этапу — выбору часового пояса вручную:

Выбираем часовой пояс вручную:

Мы дошли до разметки диска. Если вы не сильны в разметки Unix разделов, то самый лучший вариант будет выбрать «Авто и настроить LVM»

Выбираем диск, на который мы будем устанавливать нашу операционную систему. Я устанавливаю на виртуалку с размером диска 21.5 GB, я выбираю его:

Необходимо подтвердить выбор диска

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

Я обычно использую 1 том по максиму, а это по умолчанию:

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

Проверяем, все ли правильно и все ли так, как мы хотели? Если да, то соглашаемся с предложенной информацией:

Происходит форматирование диска и начинается копирование файлов с нашего dvd/флешки на HDD:

После окончания копирование у нас спрашивают, используется ли HTTP-прокси для подключения к Интернету или нет. Если нет, то просто нажимаем «Продолжить»:

Обновление безопасности — я считаю что тут обязательно нужно установить — устанавливать обновления безопасности автоматически!:

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

Если на данном ПК/сервере больше нет операционных систем — устанавливаем загрузчик в главную загрузочную область:

Все! Установка завершена. Извлекаем устройство, с которого проводилась установка (dvd/флешка) и нажимаем «Продолжить». Компьютер/сервер будет перезагружен и загрузится уже с нашей свежеустановленной ОС.

Итак, мы загрузились и консоль приглашает нас ввести логин и пароль (которые мы создали при установке Ubuntu Server). Вводим их:

Добро пожаловать в Ubuntu Server 16.04.1!

Управление маршрутизацией с помощью iproute2

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

Допустим, в локальной сети есть некоторый хост с адресом 192.168.1.100/24, а так же есть хост 192.168.1.1, который является шлюзом в глобальную сеть, а так же есть хост с адресом 192.168.1.2, который является связующим маршрутизатором с сетью 192.168.24.0/24 (то есть имеет еще один интерфейс  в сеть 192.168.24.0/24 и на нем включен форвардинг). Для того, чтобы хост с адресом 192.168.1.100/24 имел доступ в сеть Интернет и к локальной сети 192.168.24.0/24, необходимо внести в таблицу маршрутизации соответствующие записи, например с помощью команды ip route add:

# ip route add default via 192.168.1.1
# ip route add 192.168.24.0/24 via 192.168.1.2
# ip route show
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.100
192.168.24.0/24 via 192.168.1.2 dev eth1
default via 192.168.1.1 dev eth

Первая команда добавляет маршрут по умолчанию (default) через узел 192.168.1.1 (параметр via ). Вторая команда устанавливает маршрут на сеть 192.168.24.0/24 через узел 192.168.1.2.

Для вывода на экран содержимого таблицы маршрутизации используется команда ip route show. В данном случае в таблице маршрутизации три записи: первая о том, что сеть 192.168.1.0/24 доступна непосредственно на интерфейсе eth1 (запись добавляется автоматически), и две записи, добавленные пользователем: альтернативный маршрут и маршрут по умолчанию.

Добавление постоянного статического маршрута при инициализации сети

О настройке сети через конфигурационные файлы я рассказывал в статье  Настройка сети в Linux, диагностика и мониторинг, в сегодняшней статье я немного дополню эту информацию. С помощью файла /etc/network/interfaces есть возможность задать постоянные маршрута при поднятии интерфейса и удаление маршрута при выключении интерфейса. Это делается с помощью параметра up и down соответственно. Нижеприведенная конфигурация позволяет задать маршрут до сети 192.168.100.0/24 через шлюз 192.168.1.1:

iface eth1 inet static
      address 192.168.1.100
      netmask 255.255.255.0
      up ip route add 192.168.100.0/24 via 192.168.1.1
      down ip route del 192.168.100.0/24
      gateway 192.168.1.3

Выводы

На этом, данную заметку заканчиваю. Подведу краткие итоги. Для управления физическими интерфейсами применяется команда ip link из пакета iproute. Для настройки свойств физического подключения (скорость, технология, тип дуплекса используется команда ethtool. Для того, чтобы хост мог взаимодействовать с другими узлами подсети в рамках локального сегмента (широковещательного домена) на нем должен быть установлен IP-адрес и определена маска подсети. Для управления IP-адресами в Linux можно использовать команду ip addr. В локальной сети данный узел для определения физических адресов(MAC) по IP — адресам других узлов использует протокол ARP и локальный ARP -кэш (таблица). Управление ARP -таблицей осуществляется командой ip neigh. Для взаимодействия с удаленными подсетями на данном узле необходимо определить шлюз по умолчанию или/и альтернативные шлюзы. Все шлюзы должны находиться в той же подсети, что и исходный узел. Управление таблицей маршрутизации на узле может осуществляться командой ip route. У параметров команд пакета iproute2 есть сокращенный синтаксис, например, ip link show eth0 можно записать как ip l sh eth0.

Что почитать

man ip
man interfaces

Ubuntu Server

Linux Ubuntu Server – это бесплатная серверная операционная система на базе ядра Linux. Ubuntu Server можно использовать в качестве платформы для Web-серверов, серверов баз данных, DNS-серверов, файловых серверов и других типов серверов. Ubuntu очень популярный дистрибутив Linux, в том числе и серверный вариант, который активно используется организациями разных размеров, за счет того что главной особенностью Ubuntu Server, да и всех серверных операционных систем на базе Linux, является надежность, производительность и безопасность.

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

Доступ к PhpPgAdmin

Откройте свой любимый веб-браузер и получите доступ к веб-интерфейсу PhpPgAdmin с помощью URL-адреса http://server-ip/phppgadmin

После ввода адреса сервера вы увидите следующий экран:


Веб-Интерфейс PhpPgAdmin

Нажмите на Servers => PostgreSQL. Вы получите экран входа PhpPgAdmin:


Экран входа PhpPgAdmin

Введите свое имя пользователя PhpPgAdmin и пароль. Который был создан ранее на описанном выше шаге. Далее нажмите на кнопку Войти (Login). Наконец, вы можете увидеть панель мониторинга PhpPgAdmin:


Панель мониторинга PhpPgAdmin, показывающая базы данных

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

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

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

sudo nano /etc/ssh/sshd_config

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

PermitRootLogin no

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

PubkeyAuthentication yes

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

PasswordAuthentication no

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

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

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

systemctl restart ssh

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

Шаг 4: Настройка Nginx для XWiki в Ubuntu

Далее вам нужно будет установить и настроить Nginx в качестве обратного прокси-сервера для доступа к XWiki.

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

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

Я это сделаю с помощью редактора Vim

Затем добавьте строки:

Сохраните и закройте конфигурационный файл . Затем активируйте виртуальный хост Nginx, выполнив команду:

Затем отредактируйте основной конфигурационный файл Nginx и увеличьте размер hash_bucket:

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


Изменение конфигурационного файла nginx для Tomcat

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

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

Серверы Ubuntu 18.04 могут использовать брандмауэр UFW для блокирования соединений с отдельными сервисами.

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

Чтобы просмотреть его, введите:

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

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

Чтобы продолжить, нажмите у и Enter. Чтобы убедиться в том, что соединения SSH не блокируются брандмауэром, введите:

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

Установка и настройка WordPress на сервер Linux

1. Размещение файлов дистрибутива WP

Загружаем архив на сервер в каталог “/var/www/sites/” и распаковываем, файлы будут извлечены в папку “wordpress”.

Копируем содержимое папки “/var/www/sites/wordpress/” в корневую директорию сайта “/var/www/sites/site1/”

Так как копирование файлов выполнялось из консоли с root-правами еще раз изменяем владельца каталога “/var/www/sites/”, включая содержимое на virtual. Это нужно для восстановления полного доступа при подключении через ftp-клиент.

2. Создание базы данных для WordPress

Входим в PHPMyAdmin и нажимаем “Создать БД”. Указываем произвольное имя базы данных, в нашем случае “wordpress_db” и нажимаем кнопку “Создать”.

Выделяем в левой части окна созданную БД и нажимаем кнопку “Привилегии”

Далее нажимаем “Добавить учетную запись пользователя”.

В открывшемся окне вводим логин и пароль (wpservice / Qwe123), помечаем опцию “Предоставить все привилегии в базе данных wordpress_db” и нажимаем кнопку “Вперед”

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

3. Конфигурация WP на сервере под Linux

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

Открываем файл “wp-config.php” и вводим параметры подключения к базе данных, созданной на предыдущем шаге и сохраняем изменения.

4. Установка CMS WordPress

Заполняем предложенные поля и нажимаем “Установить WordPress” Имя пользователя и пароль указываем произвольные, в нашем случае логин — wpadmin, пароль — Qwe123

Эти учетные данные будут использоваться для входа в WordPress.

На главной странице сайта будет отображаться один из шаблонов WordPress

Настройка завершена.

Данные для входа в WordPress:

  • http:///wp-login.php
  • Логин: wpadmin
  • Пароль: Qwe123

3: Доступ к sudo

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

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

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

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

Шаг 3: Установите Xwiki из репозитория Ubuntu

К сожалению XWiki вы не найдете в репозитории Ubuntu 20.04. Поэтому вам требуется добавить официальный репозиторий XWiki в свою систему.

Импортируйте ключ GPG с помощью команды ниже. Но сначала переключитесь на пользователя root.

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

Затем переключитесь обратно на sudo user и добавьте официальный запуск репозитория XWiki:

Затем обновите репозиторий:

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

В заполненном списке вы можете выбрать, какие пакеты вы хотели бы установить. В этом руководстве мы установим Xwiki с tomcat 9 и MariaDB в качестве базы данных.

После небольшой подготовки вы можете установить XWiki выполнив следующую команду:

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

Выберите Yes (ДА) и нажмите клавишу Ввод.


Настройка базы данных для Xwiki

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


Пароль приложения MySQL для xwiki

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

Ответ должен быть таким:


Tomcat работает

Tomcat прослушивает порт 8080. Вы можете проверить это, выполнив следующую команду ss:

Вы должны получить вот такой результат:


Проверка, какой порт прослушивает tomcat

Настройка сети через файл конфигурации.

Для настройки статического или динамического IP адреса нам надо отредактировать файл конфигурации сетевых интерфейсов — /etc/network/interfaces мы будем редактировать его с помощью текстового редактора nano.(Рис.5) Сразу скажу что для того чтобы сохранить документ в nano надо нажать «Ctrl+o», а чтобы закрыть «Ctrl+x».

nano /etc/network/interfaces

Если вы авторизованы не под root, не забудьте добавить sudo и ввести пароль суперпользователя,  а то не получится сохранить измененный файл interfaces.

sudo nano /etc/network/interfaces

Рис.5 — Команда для редактирования файла /etc/network/interfaces.

Получение настроек сети по DHCP.

Для получения настроек сети по DHCP, в файле /etc/network/interfaces  достаточно указать всего две строки.(Рис.6)

auto ens33
iface ens33 inet dhcp

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

Если у вас не запущен DHCP клиент, то запустить его можно командой dclient с указанием интерфейса ens33.

dclient ens33

Рис.6 — Файл конфигурации /etc/network/interfaces для получения настроек сети по DHCP.

Указание настроек сети вручную.

Пишем конфигурацию интерфейса для статичного IP адреса.(Рис.7)

auto ens33
iface ens33 inet static
     address 192.168.3.209
     netmask 255.255.255.0
     gateway 192.168.3.1
     dns-nameservers 8.8.8.8 192.168.3.1
     dns-search itdeer.loc itdeer.ru

Пояснения в пункте .

Рис.7 — Файл конфигурации /etc/network/interfaces для указания настроек сети вручную..

Описание опций.

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

  • auto ens33 — означает что наш интерфейс «ens33» будет автоматически подключен при загрузке системы.
  • iface ens33 inet static — указывается семейство протоколов tcp/ip(inet или inet6) и способ получения адреса(static или dhcp).
  • address 192.168.3.209 — указываем IP адрес.
  • netmask 255.255.255.0 — указываем маску сети.
  • gateway 192.168.3.1 — указываем основной шлюз.
  • dns-nameservers 8.8.8.8 192.168.3.1 — указываем DNS сервера можно указать несколько через пробел.
  • dns-search itdeer.loc itdeer.ru — указываем DNS суффиксы, через пробел, допустим если у нас существует домен itdeer.ru то мы можем обратиться к компьютеру внесённому в этот домен, к примеру controller тогда ubuntu попытается разрешить имя controller.itdeer.ru.
  • dns-domain itdeer.ru — альтернатива dns-search, но указывается только один суффикс (название домена).

После редактирования файла /etc/network/interfaces, применить изменения можно двумя способами:

Первый — Перезагрузить систему.

reboot

или

init 6

Второй — Если же вы не хотите перезагружать систему, то  нужно сначала отчистить конфигурацию интерфейса,

ip addr flush ens33

а после перезапустить службу сети.

service networking restart

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

service networking restart

Далее смотрите вывод команды ifconfig, изменения должны должны быть применены.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: