Linux virtual server install

Установка Ubuntu Server
на виртуальную машину Virtualbox
и настройка SSH сервера.

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

Сегодня мы установим сервер Ubuntu на виртуальную машину и у Вас появиться возможность с ним поэкспериментировать. Установить, например, Node.js или базу данных. Установить NGINX, Apache, изменить настройки и т.д.

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

1. Подготовка к установке.

Ссылки на скачивание:

Для начала скачаем и установим виртуальную машину VirtualBox, сам сервер Ubuntu и программы для связи с нашим сервером. Если у Вас система Windows и установлен PowerShell, то достаточно скачать и установить WinSCP, если PowerShell не установлен, то нужно будет скачать PuTTY. Для систем Linux дополнительных программ не требуется. К сожалению для MacOS подсказать не смогу.

Здесь будет рассмотрена установка и настройка Ubuntu Server 18.04 на Windows. Однако установка и настройка на другие системы отличается только способом подключения к SSH серверу.

Какой сервер Ubuntu выбрать, решать Вам. !8.04 устанавливают абсолютно все хостеры, 20.04 – не факт. Но на Ubuntu Server 20.04 без танцев с бубнами по умолчанию ставится Python 3.8. И устанавливается MySQL 8. Хотя для тренировки подойдет любая.

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

Запускаем VirtualBox, заходим в «Файл» -> «Менеджер сетей хоста» и проверяем, чтобы настройки совпадали с теми, что на скриншоте ниже. По умолчанию они должны быть именно такими. Если нет — настраиваем.

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

Теперь нужно указать место хранения виртуальной машины. Я предпочитаю хранить подобные вещи не на системном диске. Жмем на иконку папки и выбираем желаемый диск и директорию. Имя оставляем по умолчанию ubuntu.

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

Нажимаем «Создать». Далее жмем кнопку «Настроить» и выбираем вкладку Сеть. Первый адаптер оставляем без изменений. Заходим во вкладку «Адаптер 2», включаем его и выбираем «Виртуальный адаптер хоста». Жмем «ОК».

Читайте также:  What linux distributions are popular

Теперь нажимаем кнопку «Запустить». Появмться окно выбора установочного диска. Жмем на кнопку с папкой, далее «Добавить» и выбираем скачанный образ Ubuntu Server. Жмем «продолжить».

Начнется установка сервера. Выбираем Английский язык, выбираем обновление во время установки и затем везде кликаем [Done].

Для перехода между пунктами используем клавишу Tab. Для выбора «Continue» используем стрелку вниз.

Указываем свое имя, имя сервера, имя пользователя, под которым будете заходить и пароль пользователя. Подтверждаем пароль пользователя. Далее обязательно отмечаем установку OpenSSH Server. Для этого нажимаем клавишу Пробел. В поле установки дополнений ничего не выбираем и не нажимаем «Cancel update and reboot». Установка обновлений может занять достаточно много времени. Ждем.

Дожидаемся надписи «Reboot» и жмем Enter. Затем установщик просит изьять установочный диск. Заходим в «Устройства» -> «Оптические диски» и кликаем по ubuntu 18.04 (или 20.04 в зависимоти от того, какую редакцию устанавливаете). Снова заходим в «Устройства» -> «Оптические диски» и нажимаем «Изъять диск из привода». Жмем Enter, дожидаемся перезагрузки сервера и когда потребует — вводим логин и пароль. Пароль при вводе не отображается!

На этом установка Ubuntu Server закончена. Дальше будем настраивать.

3. Настраиваем подключение по SSH

Для начала создадим пароль для пользователя «ROOT». Это пользователь Ubuntu, который имеет расширенные права (аналогично пользователю «Администратор» в Windows). Для этого вводим:

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

Теперь разрешим руту входить по SSH. Для этого отредактируем файл sshd_config. Вводим:

sudo nano /etc/ssh/sshd_config

Возможно потребуется ввести свой пароль (не рута!). Находим строчку #PermitRootLogin prohibit-password, раскомментируем ее и заменяем prohibit-password на yes

разрешим руту входить по SSH

Нажимаем CTRL-X -> Y -> Enter. Перезапускаем SSH сервер:

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

sudo ifconfig enp0s8 192.168.56.101

Проверяем. Набираем ifconfig и видим подлючение enp0s8

подлючение enp0s8

Теперь открываем PowerShell и подключаемся к нашему серверу (если PowerShell то устанавливаем PuTTY и используем его):

В перый раз при входе на незнакомый адрес, PowerShell спросит разрешения. Пишем Yes. Вводим пароль рута и заходим на сервер.

PowerShell подключаемся к серверу

Дальше настроим подключение с помощью WinSCP. Открываем программу, выбираем «Новое подключение», протокол передачи SFTP, Имя хоста вводим 192.168.56.101, порт оставляем 22, имя пользователя — root, пароль — наш пароль рута. Нажимаем «Сохранить», ставим галку «запомнить пароль» вводим имя подключения или оставляем как есть и жмем «ОК». Дальше нажимаем «Войти» и как и в PowerShell при первом запуске спросит разрешение для подключения к неизвестному серверу. Разрешаем.

подключение с помощью WinSCP

Теперь настроим для WinSCP внешний редактор кода. Для этого заходим «Параметры» -> «Настройки» -> «Редакторы» и нажимаем «Добавить». Выбираем «Внешний редактор -> «Обзор» и находим свой редактор кода. Я для этих целей использую VS Code (C:\Program Files\Microsoft VS Code\code.exe). Вы можете использовать любой, к какому привыкли. Например Notepad++ или Sublime Text. Не советую для этих целей использовать IDE. Слишком долго грузиться будет. Выбираем, нажимаем «ОК», смотрим, чтобы редактор появился в списке, перемещаем его вверх одноименной кнопкой и снова «ОК».

Читайте также:  Change hosts file in linux

внешний редактор кода WinSCP

Теперь увеличим время жизни сессии SSH. Если определенное время, при подключении по SSH, не производить никаких действий, то подключение прерывается. И потом приходится подключаться заново. Порой это раздражает. Поэтому время жизни сессии я рекомендую увеличить.

При входе на сервер мы попадаем в директорию «root». Выходим из нее (кликаем по папке с двумя точками), заходим в папку «etc» -> «ssh» и открываем файл sshd_config.

Пролистываем файл вниз и добавляем следующие строчки:

TCPKeepAlive yes
ClientAliveInterval 300
ClientAliveCountMax 60

увеличим время жизни сессии SSH

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

Если мы вошли как root пользователь то слово sudo можно не писать.

Следующим шагом мы настроим постоянное подключение enp0s8. Для этого возвращаемся в WinSCP, выходим из папки ssh и заходим в netplan (/etc/netplan). Открываем файл 00-installer-config.yaml и прописываем следующие строчки:

enp0s8:
dhcp4: no
addresses: [192.168.56.101/24]

В результате файл должен выглядеть так:

настроим постоянное подключение enp0s8

Сохраняем файл и закрываем редактор. Закрываем WinSCP. Возвращаемся в PowerShell и набираем reboot чтобы перезапустить наш сервер. Позле перезапуска снова входим по SSH для проверки.

На этом установка и первоначальная настройка Ubuntu Server закончена.

Источник

How To Setup LVS (Linux Virtual Server) Load Balancer on CentOS 8 / RHEL 8

Linux Virtual Server is a highly salable and highly available server built on a cluster of real servers with the load balance running on the Linux Operating System.
First of all we will install the Linux Virtual Server package on Our CentOS 8 / RHEL 8 machine. After Installing LVS on our Operating System we will configure it as a load balancer to the back end servers. This setup assumes you have installed a CentOS / RHEL 8 server or workstation edition.

Step 1: Installing Linux Virtual Server on CentOS 8 / RHEL 8

Run the following command on your server to Install Linux Virtual Server and Choose yes to proceed further.

[[email protected] ~]$ sudo yum install ipvsadm 
[sudo] password for sabi:
Last metadata expiration check: 3:38:25 ago on Sun 22 Dec 2019 12:37:06 AM EST.
Dependencies resolved.
Package Arch Version Repository Size
Installing:
ipvsadm x86_64 1.29-8.el8 AppStream 57 k
Transaction Summary
Install 1 Package
Total download size: 57 k
Installed size: 83 k
Is this ok [y/N]: y

Step 2: Enabling IP forwarding and enable service

When you have finished installing package, enable the service and IP forwarding in your machine.

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf 
sudo sysctl -p

Confirm it is turned to 1

[[email protected] ~]$ echo 'net.ipv4.ip forward = 1' | sudo tee -a /etc/sysctl.conf
[sudo] password for sabi:
net.ipv4.ip forward = 1

Start and enable ipvsadm services by running

Читайте также:  Все версии паппи линукс

sudo touch /etc/sysconfig/ipvsadm
sudo systemctl enable –now ipvsadm

Check out the service status, it will be look like as:

[[email protected] ~]$ systemctl status ipvsadm 
● ipvsadm.service - Initialise the Linux Virtual Server
Loaded: loaded (/usr/lib/systemd/system/ipvsadm.service; enabled; vendor preset: di>
Active: active (exited) since Sun 2019-12-22 04:25:30 EST; 20s ago
Process: 5880 ExecStart=/bin/bash -c exec /sbin/ipvsadm-restore < /etc/sysconfig/ipv>
Main PID: 5880 (code=exited, status=0/SUCCESS)
Dec 22 04:25:29 localhost.localdomain systemd[1]: Starting Initialise the Linux Virtua>
Dec 22 04:25:30 localhost.localdomain systemd[1]: Started Initialise the Linux Virtual>
lines 1-8/8 (END)

Step 3: Configure LVS as Load Balancer

After setting up all, move forward to configure LVS as a load balancer to actual back-end applications.

Clean the IP tables rules by running

Step 4: Adding a Virtual Service

Add a virtual service by using the syntax

ipvsadm -A -t (ServiceIP:Port) -s (Distribution method)

Following Distribution methods supported:

  • rr (Round Robin) = Equal load distribution among back-end servers
  • wrr (Weighted Round Robin) = The Round Robin based on real Servers weight
  • lc (Least Connection) = Servers having few active processes are selected for new load assignment on priority basis.
  • wlc ( Weighted Least Connection) = Assigns tasks to servers with fewer jobs and relative to the real server’s weight (Ci/Wi) . By default, this method is used.

We will do configuration based on below diagram.

In this case, I’m setting LVS server to listen on 192.168.233.129 with port 80.

sudo ipvsadm -A -t 192.168.233.129:80 -s wlc

Now, add the back-end servers by typing

sudo ipvsadm -a -t (ServiceIP:Port) -r (BackendServerIP:Port) -m

The configuration will look like

sudo ipvsadm -a -t 192.168.233.129:80 -r 192.168.233.209:80 -m 
sudo ipvsadm -a -t 192.168.233.129:80 -r 192.168.233.4:80 -m

Type the following command to list current rules:

[[email protected] ~]$ sudo ipvsadm -l 
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP cent01:http wlc
-> cent03:http Masq 1 0 0
-> cent02:http Masq 1 0 0

Allow Firewall

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

Now, when you load the LVS server IP / domain name from the browser, you will see the page on one of the back-end server.

Hi this is the LVS server page on back-end server 1

Upon reloading, the back-end server 2 page should show

Hi this is the LVS server page on back-end server 2

This is how you can set up your LVS server on CentOS 8 / RHEL 8.

Источник

Оцените статью
Adblock
detector