Установка и начальная настройка сервера Linux (Ubuntu 20)

Приобретение сервера

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

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

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

Linux (Ubuntu, Debian) и macOS

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

ssh root@45.82.111.111

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

Windows

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

Однако в Windows 10 есть другой и более удобный способ подключения через SSH. Для этого вам необходимо установить в системе SSH-клиент. Обычно он устанавливается по умолчанию. Проверить это можно следующим образом. Щелкните правой кнопкой мыши значок Windows в левом нижнем углу экрана, в открывшемся меню выберите пункт «Параметры». Затем перейдите в раздел «Приложения»:

Настройки Windows

В открывшемся окне нажмите ссылку «Дополнения» и проверьте, установлен ли клиент OpenSSH. Если он не установлен, нажмите «Добавить компонент», найдите в списке «Клиент OpenSSH» и установите его:

Дополнения Windows
Windows OpenSSH

Далее ищем на компьютере, запускаем программу Windows PowerShell и вводим команду (под нашим пользователем и IP-адресом):

ssh root@45.82.111.111

Отлично, подключение к серверу завершено. Теперь перейдем к настройке.

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

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

sudo adduser hostgeek

Введите и подтвердите пароль для нашего нового пользователя. Остальные поля можно оставить пустыми:

Создайте пользователя Ubuntu
Теперь у этого пользователя должны быть права администратора с помощью команды:

sudo usermod -aG sudo hostgeek

Авторизуйтесь под этим пользователем:

на hostgeek

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

я потею whoami

Следовательно, мы должны получить ответ «корень». В этом случае все сделано правильно.

Выйдите из сервера и войдите с нашим новым пользователем:

ssh hostgeek@45.82.111.111

Настройка подключения с помощью SSH-ключа

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

ssh-keygen

Путь к ключевому месту оставьте стандартным. Далее подходим и вводим парольную фразу (секретную фразу):

Генерация ключа SSH

Теперь этот ключ нужно скопировать на сервер. В Linux (Debian, Ubuntu) и macOS это делается одной командой:

идентификатор ssh-копии hostgeek@45.82.111.111

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

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

ssh hostgeek@45.82.111.111

В домашнем каталоге созданного пользователя (/ home / hostgeek) должна быть создана папка .ssh. Вероятно, вы уже находитесь в этом каталоге. Вы можете проверить это, введя команду:

pwd

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

компакт-диск / главная / hostgeek

Теперь давайте создадим в этом каталоге папку .ssh с помощью команды:

mkdir .ssh

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

ls -la

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

chmod 700 .ssh/

Заходим в эту папку:

cd .ssh

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

прикоснитесь к authorized_key

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

chmod 600 authorized_keys

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

cat >> authorized_keys << EOF

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

EOF

И снова нажмите Enter.

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

авторизованный_keys кот

Установка MySQL

1. Установите пакет командой:

apt установить mysql-server

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

mysql_secure_installation

Эта команда просит вас внести изменения в настройки безопасности MySQL.

2. Установите системный плагин Validate Password, который позволяет проверить надежность паролей MySQL.
3. Затем установите пароль для пользователя root вашей установки MySQL. Выберите надежный пароль и введите его дважды.

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

Теперь вы можете выбрать Y и нажать ENTER для всех последующих вопросов. Это приведет к удалению некоторых анонимных пользователей и тестированию баз данных, отключению удаленного входа в систему root и применению любых изменений, внесенных в установку MySQL.

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

mysql -uroot

Если они не совпадают:

mysql -uroot -p

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

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

systemctl статус mysql.service

Если служба MySQL находится в неактивном состоянии, то ее необходимо запустить командой:

systemctl запустить mysql

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

Войдите в оболочку MySQL:

mysql -uroot

Команда для создания базы данных:

СОЗДАТЬ БАЗУ ДАННЫХ test_db;

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

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ ‘test_user’ @ ‘localhost’, ОПРЕДЕЛЕННЫЙ ‘4MW2k24TM4f’;

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

ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА test_db. * TO ‘test_user’ @ ‘localhost’;

База данных и пользователь созданы.

Выйдите из оболочки MySQL:

выход

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

mysql -utest_user -p

Установка PHP

PHP устанавливается командой:

apt install php

После завершения установки проверьте версию.

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

php -m

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

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

sudo adduser джон

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

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

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

sudo cat / etc / shadow | grep john Добавить нового пользователя

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

sudo usermod -aG sudo john

Давайте переключим пользователей и проверим их права:

su — john sudo whoami Проверить права пользователя

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

Выбор наборов ПО для инсталляции Ubuntu сервера

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

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

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

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

Подбор программных пакетов

Мы рекомендуем вам пропустить этот шаг, не устанавливая его.

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

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

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

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

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

список приложений sudo ufw OpenSSH в UFW

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

sudo ufw разрешить OpenSSH Разрешить OpenSSH в UFW

Активируйте брандмауэр:

sudo ufw enable

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

sudo ufw статус Включить OpenSSH в UFW

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

Добавление пользователя

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

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

+ логин на латинице.

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

тестовый сайт adduser

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

3. Подтвердите, что информация введена правильно, нажав Y + Enter.
4. Пользователь добавлен. Домашний каталог создается в / home.

Каталог / home / testsite был создан для нашего пользователя.

В него мы поместим файлы тестового сайта.

Если вам нужно предоставить созданному пользователю повышенные права (sudo), выполните следующую команду:

usermod -aG sudo testsite

Параметр -aG указывает системе добавить пользователя в соответствующую группу.

Первоначальная настройка ubuntu server 14.04.1 LTS

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

sudo пароль root

Сначала мы вводим пароль текущего пользователя, затем дважды новый пароль для root. Если все было сделано правильно, вы увидите следующее изображение Ubuntu Server 14041 установка 27
Теперь проверим. Введите в терминал:

на —

* Эта команда зарегистрирует пользователя root в системе

когда будет предложено ввести пароль, введите пароль, который вы ввели для root. Если все сделано правильно, приглашение консоли изменится с srvadmin @ srv-01: $ _ на root @ srv-01: ~ # _

Хороший! Чтобы двигаться дальше. Теперь приступим к настройке сетевых карт, вводим в терминал:

нано / и т д. / сеть / интерфейсы

откроет файл интерфейсов в текстовом редакторе nano. По умолчанию этот файл выглядит так Ubuntu Server 14041 установка 28
Добавим в этот файл следующие строки:

auto eth0 iface eth0 inet static address 10.10.60.45 netmask 255.255.255.0 gateway 10.10.60.1 auto eth1 iface eth1 inet static address 192.168.0.1 netmask 255.255.255.0

Затем мы автоматически подключаем оба интерфейса со статическим адресом, масками и шлюзом для первой карты. В терминале это должно выглядеть так: Ubuntu Server 14041 установка 29
После ввода данных нажмите Ctrl + O (Сохранить), затем Ctrl + X (Закрыть).

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

(ifdown eth0; ifup eth0) & (ifdown eth1; ifup eth1)&

Теперь давайте проверим, что выдает ifconfig. Мой вывод выглядит так, у вас должно быть то же самое Ubuntu Server 14041 установка 30
Хороший! пингуем ya.ru, набираем в терминале

пинг ya.ru

Если вы видите обмен посылки, значит все нормально! У вас есть интернет!

В моем случае не все пошло так, как я хотел. Пингуя яндекс, я получил такой ответ

пинг: неизвестный хост ya.ru

даже если IP-адрес 8.8.8.8 (Google DNS) ping. В результате проблема с DNS на нашем сервере, то есть он не может обрабатывать имена.

Я нашел решение проблемы, добавив DNS-адрес Google в файл /etc/resolvconf/resolv.conf.d/tail.

Откройте файл sudo nano /etc/resolvconf/resolv.conf.d/tail и вставьте туда строку

сервер имен 8.8.8.8

сохраняем и закрываем файл, пробуем пинговать сайт яндекса и все Ubuntu Server 14041 установка 31
Имея Интернет, давайте продолжим.

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

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

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

ssh-keygen

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

ssh-keygen

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

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

пользователь ssh @ ip_address

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

pwd

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

cd / home / john

Здесь мы создадим каталог .ssh:

mkdir .ssh

Проверяет создание каталога и отображает текущую структуру каталогов:

ls -la

mkdir .ssh

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

chmod 700 .ssh/

Заходим в эту папку:

cd .ssh

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

прикоснитесь к authorized_key

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

chmod 600 authorized_keys

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

cat >> authorized_keys << EOF

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

авторизованные_ключи

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

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

EOF

Жмем Enter.

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

авторизованный_keys кот авторизованный_keys кот

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

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

1. Проверьте текущие настройки часового пояса с помощью команды:

timedatectl

София указана в настройках

2. Измените настройку в вашем городе. В нашем случае это Киев.

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

timedatectl list-timezones | grep K

3. Установите свой часовой пояс:

timedatectl set-timezone Europe / Kiev

4. Проверьте изменения:

timedatectl

Изменены настройки в Киеве

Затем перейдите к настройке службы http. В нашем примере мы будем использовать Apache 2. Также для будущего веб-приложения вам потребуются PHP и MySQL.

Установка Apache 2

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

apt устанавливает apache2

После установки нужно добавить http-порт к разрешенному для брандмауэра. Для этого воспользуйтесь командой:

ufw разрешить http

После завершения процесса установки Ubuntu запустит Apache. Веб-сервер уже должен быть запущен. Это можно проверить с помощью команды:

systemctl состояние apache2

Далее вам нужно зайти в браузер по адресу вашего сервера. Это должно быть:

  • http: // имя домена (если домен направлен на сервер со стороны DNS).
  • http: // IP-адрес вашего сервера;

Тестовая страница выглядит так:

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

systemctl отключает apache2

Чтобы добавить службу при запуске:

systemctl включает apache2

Установка ubuntu server 14.04.1 LTS

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

  • Видеопамять: 12 Мб
  • Оперативная память: 256 Мб
  • Сетевые адаптеры: 1 — загляните в мир. 2 — следите за сетью
  • Процессор: 1 ядерный 64-битный
  • Винчестер: sata 10 Гб

Выбор этих функций обусловлен низкими требованиями к ресурсам операционной системы.

После присоединения образа диска к виртуальной машине загрузите ее, и если все пойдет хорошо, вы должны увидеть окно выбора языка установки Сервер Ubuntu 14
Выбираем русский язык и нажимаем «Enter». В открывшемся списке выберите «Установить сервер Ubuntu” Ubuntu Server 14041 установка 1
В следующем окне выберите свое местоположение. Выбираю «Российская Федерация” Ubuntu Server 14041 установка 2
Далее установщик предложит настроить клавиатуру или выбрать ее из списка. Нажмите «Нет», чтобы выбрать из списка Ubuntu Server 14041 установка 3
Выберите страну, для которой предназначена клавиатура Ubuntu Server 14041 установка 4
Выбираем планировку. Я просто выбрал «русский” Ubuntu Server 14041 установка 5
В следующем окне вам будет предложено настроить раскладки коммутатора. Выбирайте на свое усмотрение, я выбрал Alt + Shift, потому что уже привык к этой конкретной комбинации Ubuntu Server 14041 установка 6
Теперь подождем минуту, пока загрузятся надстройки. После загрузки компонентов появится окно выбора основного сетевого интерфейса. Я выберу eth0 в качестве основного, именно эта сетевая карта будет смотреть на мир и через нее будет выходить в интернет сервера Ubuntu Server 14041 установка 7
В следующем окне вас попросят выбрать имя для компьютера. Я назвал свой сервер «SRV-01” Ubuntu Server 14041 установка 8
Далее вам нужно ввести свой логин. Не путайте это с логином, просто с именем. Я присоединился к ивану малышеву Ubuntu Server 14041 установка 9
Но в следующем окне укажите имя пользователя (логин), под которым вы будете авторизованы в системе. Я указал srvadmin Ubuntu Server 14041 установка 10
После ввода логина придумайте и укажите пароль (рекомендуется использовать пароль, содержащий строчные и прописные буквы, а также цифры и символы). После ввода пароля его необходимо повторить в следующем окне во избежание ошибок Ubuntu Server 14041 установка 11
Далее вам будет предложено зашифровать домашний каталог. Я не буду хранить в нем ничего криминального или секретного, поэтому не буду шифровать Ubuntu Server 14041 установка 12
Далее необходимо выбрать «часовой пояс». Поскольку виртуальная машина получает доступ в Интернет через eth0, установщик самостоятельно определил, где я нахожусь, и я нажму «Да», поскольку он выбрал правильно. Если у вас этого не произошло или часовой пояс был выбран неправильно, выберите вручную Ubuntu Server 14041 установка 13
Далее необходимо выбрать место для установки системы. Эта фаза многих вводит в ступор, но бояться нечего, все просто! Ubuntu Server 14041 установка 14
Поскольку я устанавливаю сервер Ubuntu в учебных целях, я выберу второй вариант «Автоматически использовать весь диск», но если вы устанавливаете систему на настоящий жесткий диск, я рекомендую вам установить / usr, / var, / каталоги домой на разных логических дисках Ubuntu Server 14041 установка 15
Выбираем один диск (так у меня один, выбор небольшой), у вас может быть несколько, на случай, если к компьютеру подключено несколько жестких дисков. В следующем окне необходимо принять предупреждение о регистрации информации о разделе, нажать «Да” Ubuntu Server 14041 установка 16
Далее подтверждаем использование всего диска Ubuntu Server 14041 установка 17
В следующем окне установщик покажет, как разбить диск на разделы, мы соглашаемся, выбрав «Завершить разбиение на разделы и записать изменения на диск” Ubuntu Server 14041 установка 18
В следующем окне мы еще раз подтверждаем свои действия (как Windows напоминает вам, правда?) Ubuntu Server 14041 установка 19
А теперь ждем завершения установки Ubuntu Server 14.04.1 LTS.

Если во время установки Интернет был подключен к сети виртуальной машины, система попытается установить обновления, но сначала она спросит вас, есть ли у вас прокси, если у вас нет прокси, но Интернет идет напрямую, нажмите «Продолжить” Ubuntu Server 14041 установка 20
Когда меня спросили об установке регулярных обновлений, я выбрал «Без автоматических обновлений». Не люблю, когда я что-то надеваю без своего ведома. Все необходимое можно обновить вручную Ubuntu Server 14041 установка 21
В окне «выбор ПО» ставлю галочку только на «Сервер OpenSSH», именно через него мы будем получать удаленный доступ к серверу. Все остальное настроим позже, вручную Ubuntu Server 14041 установка 22
По окончании установки сервера вы должны согласиться установить загрузчик в главную загрузочную запись Ubuntu Server 14041 установка 23
После установки загрузчика вы увидите сообщение об успешной установке системы Ubuntu Server 14041 установка 24
Нажмите «Продолжить» и дождитесь перезагрузки машины. После первой загрузки вы должны увидеть запрос на вход, введите логин, указанный при установке, затем введите пароль Ubuntu Server 14041 установка 25
Если вы ввели правильное имя пользователя и пароль, вы войдете в систему и увидите этот экран Ubuntu Server 14041 установка 26
На этом установка сервера Ubuntu 14.04.1 LTS завершена.

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

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

sudo nano / etc / ssh / sshd_config

Найдите строку PermitRootLogin и установите для нее значение no. Поэтому отключим авторизацию от имени пользователя root:

PermitRootLogin нет

Найдите строку PubkeyAuthentication и раскомментируйте ее, удалив хэш (#). Вот как мы включаем возможность авторизации с помощью SSH-ключа:

PubkeyAuthentication да

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

Пароль Аутентификация нет

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

Разрешить пользователям hostgeek

И сохраните файл. Перезапустите SSH:

sudo service ssh перезагрузка

Выйдите из сервера и войдите снова:

ssh hostgeek@45.82.111.111

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

На этом настройка авторизации по ключу SSH завершена.

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