Arch linux server install

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

В соответствии с «Arch Linux Wiki«. Arch Linux — это независимо разрабатываемый i686/x86-64 дистрибутив GNU/Linux общего назначения, достаточно гибкий для выполнения любой роли. Процесс разработки фокусируется на простоте, минимализме и элегантности кода. Arch устанавливается в виде минимальной базовой системы, настраивается пользователем под собственные нужды путём построения уникальной среды с установкой только необходимых компонентов. Инструменты настройки с графическим интерфейсом официально не предоставляются, и большая часть настроек системы выполняется из консоли путём редактирования простых текстовых файлов. Основанный на модели плавающих релизов, дистрибутив Arch стремится оставаться предельно современным и предлагает последние стабильные версии большинства пакетов.

В данной статье я расскажу как происходит базовая установка и настройка Arch Linux в качестве сервера.

Загрузка ISO образа и запись диска

Загрузить ISO образ можно с официального сайта Arch Linux

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

Также можно загрузить образ на флешку.

После записи диска/флешки, вставьте его и дождитесь загрузки диска:

Окно загрузки Arch Linux

01_Select_Arch_linux_x86_64

В данном окне выберите Boot Arch Linux (x86_64)

Подключение будущего сервера к интернету

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

Проще всего проверить это выполнив команду ping:

02_check_internet_connection

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

В данном шаге мы создадим разделы жесткого диска, для этого воспользуемся утилитой cfdisk, используем тип раздела «dos». Будут созданы разделы / для корневой файловой системы и swap, для swap устройства. Допустим, что /dev/sda — наш жесткий диск.

03_select_label_type_dos

В моем случае у меня был диск на 80гб:

04_create_new_partition_for_free_space

Создадим / (корневой) раздел, размером 76гб:

[New] -> Enter Partition Size -> 76G Primary or Extended -> Select Primary Select [Bootable] -> Enter

05_create_partition_for_root

Создадим swap раздел (4гб):

[New] -> Enter Partition Size -> 4G Primary or Extended -> Select Primary Select [Write] -> Enter -> type: yes Select [Quit]

06_create_partition_for_swap

Создадим файловую систему на корневом / разделе. Для этого отформатируем его в файловую систему ext4:

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

07_format_root_partition_with_ext4

Отформатируем раздел /dev/sda2 , для создания swap:

Подключим swap:

08_format_swap_partition

Примонтируем корневой раздел (/dev/sda1) в /mnt:

Установка базовой системы

Перед установкой вы можете изменить файл /etc/pacman.d/mirrorlist , для указания предпочтительных серверов обновлений:

nano /etc/pacman.d/mirrorlist

09_mirrorlist

Также копия этого файла будет установлена в вашу систему.

Далее, установим базовую систему с помощью pacstrap. Если вы собираетесь компилировать ПО из AUR, также установите группу пакетов base-devel.

pacstrap -i /mnt base base-devel

10_Install_the_Base_System

Генерация fstab

Сгенерируем файл fstab с UUID в качестве имен устройств:

genfstab -U -p /mnt >> /mnt/etc/fstab

Проверим правильность сгенерированного fstab:

11_generate_fstab

Вход(chroot) в свежеустановленную систему

Войдем (chroot) в свежеустановленную, но не настроенную систему:

Настройка интернет соединения

Для начала узнаем имя сетевой карты сервера:

17_configure_network_connection1

В нашем случае это enp0s3. Попытаемся получить IP автоматически, используя DHCP:

systemctl enable dhcpcd@enp0s3.service

Установка языка, часового пояса и прочих настроек

В этом шаге зададим язык системы, время, дату и часовой пояс.

Для начала откроем файл /etc/locale.gen:

Вы получите длинный список языков. Выберите нужный и раскомментируйте его (уберите # перед ним). В статье будет использован только английский язык, поэтому раскомментируем строки en_US.UTF-8 UTF-8, en_US ISO-8859-1. Для русской локали следует также раскомментировать ru_ru.UTF-8 UTF-8. Нажимаем Ctrl-x,а потом y, для сохранения изменений.

13_setting_language

После чего сгенерируем выбранные локали:

Укажем язык по умолчанию:

echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8

Для русской локали следует заменить en_US.UTF-8 на ru_RU.UTF-8

14_generate_languages

Далее укажем часовой пояс, но перед этим найдем наш часовой пояс (в статье будет использован часовой пояс America/New_York):

15_setting_time_zone

Например, для России и московского времени это будет часовой пояс Europe и подпояс Moscow.

Создадим ссылку на выбранный часовой пояс:

ln -s /usr/share/zoneinfo/America/New_York > /etc/localtime

Настроим системные часы:

Установка репозитория Arch Linux

Настроим репозиторий Arch Linux, для этого откроем файл /etc/pacman.conf

Включим репозиторий multilib, он нужен, если вы на 64-битной версии захотите запустить 32-битные приложения. Для включения репозитория нужно раскомментировать строки:

[multilib] Include = /etc/pacman.d/mirrorlist

Добавим неофициальный репозиторий:

[archlinuxfr] SigLevel = Never Server = http://repo.archlinux.fr/$arch

16_setting_repository

Сохраним изменения и обновим репозиторий Arch Linux:

Читайте также:  Linux ide code blocks

Настройка имени сервера (hostname)

Запишем нужное имя сервера в файл /etc/hostname:

echo your_hostname > /etc/hostname
echo archserver > /etc/hostname

Замените archserver на нужное вам имя.

Проверим установленное имя:

12_setting_hostname1

Создание пользователя и выдача sudo привилегий

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

useradd -m -g users -G wheel,storage,power -s /bin/bash USER_NAME

Где USER_NAME — имя вашего пользователя

useradd -m -g users -G wheel,storage,power -s /bin/bash archuser passwd archuser

Далее установим sudo и bash-completion:

pacman -S sudo bash-completion

Откроем файл /etc/sudoers

найдем и раскомментируем следующую строку:

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

Укажем пароль для root пользователя:

И введем новый пароль 2 раза

Установка SSH сервера

Установим SSH сервер:

Добавим его в автозагрузку:

systemctl enable sshd.service

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

Установим пакеты grub и os-prober:

Установим grub на жесткий диск:

grub-install --recheck /dev/sda

Создадим файл конфигурации GRUB:

grub-mkconfig -o /boot/grub/grub.cfg

Выход из системы(chroot) и отмонтирование файловой системы

Выйдем из chroot сессии:

Отмонтируем файловую систему:

Перезапустим Arch Linux:

Подключение по SSH

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

ssh имя_пользователя@ip_сервера

Источник

Начальная установка сервера Arch Linux

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

1: вход в систему как root

Когда IP-адрес и root-пароль установлены, войдите на сервер как главный пользователь, или root. На компьютере Mac вход можно выполнить через терминал, на ПК – через PutTTy.

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

The authenticity of host ‘123.45.67.890 (123.45.67.890)’ can’t be established.
ECDSA key fingerprint is 79:95:46:1a:ab:37:11:8e:86:54:36:38:bb:3c:fa:c0.
Are you sure you want to continue connecting (yes/no)?

Наберите «yes», затем введите root-пароль.

2: изменение пароля

На данный момент root-пароль установлен по умолчанию и был выслан при регистрации сервера. Первое, что нужно сделать – изменить его на свое усмотрение.

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

После изменения пароля входить на VPS как root-пользователь больше не понадобится. Теперь нужно создать нового пользователя и передать ему все root-привилегии на сервере.

Читайте также:  Virtualbox linux mint 1920 1080

Для нового пользователя можно выбрать любое имя. В данном руководстве используется имя «exampleuser».

Флаг «-m» создает домашний каталог для нового пользователя.

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

4: root-права

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

Выполняя какую-либо задачу с нового пользователя, рекомендуется использовать фразу «sudo» перед командой. Данная фраза полезна по двум причинам: 1) она предупреждает любые разрушающие систему ошибки; 2) она сохраняет все запущенные с её помощью команды в файл /var/log/secure, который при необходимости можно просмотреть.

Затем необходимо отредактировать конфигурацию sudo. Vi, текстовый редактор, который используется для данного файла, не распознает клавиш со стрелкой. Для перемещения вниз используется клавиша «j», вверх – «k», влево – «h», вправо – «l». Кроме того, текст можно отредактировать при помощи клавиши «а» и удалить, нажав «Escape» и затем «х».

Найдите раздел под названием user privilege specification («настройка пользовательских привилегий»).

# User privilege specification
root ALL=(ALL) ALL

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

Нажмите Escape, и затем Shift ZZ, чтобы сохранить изменения и выйти.

5: конфигурирование SSH

Теперь нужно повысить уровень безопасности сервера.

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

Найдите следующие разделы и внесите необходимую информацию. Убедитесь, что строки также были раскомментированы, в противном случае изменения не вступят в силу (слова и фразы файла можно найти, нажав Control-W):

Port 25000
PermitRootLogin no

Port: хотя порт 22 используется по умолчанию, его можно заменить любым номером в диапазоне от 1025 до 65536. В данном примере используется порт 25000. Не забудьте записать новый номер порта. В дальнейшем он понадобится при входе на сервер. Данное изменение усложнит вход для неавторизованных пользователей.

PermitRootLogin: чтобы деактивировать вход с root, измените в данной строке yes на no. С этого момента на сервер можно войти только через нового пользователя.

6: финальная перезагрузка

Перезагрузите SSH, чтобы привести новые порты и настройки в исполнение:

Чтобы проверить новые настройки (не выходите из root), откройте новое окно терминала и войдите как новый пользователь.

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

ssh -p 25000 exampleuser@123.45.67.890

Убедившись, что на сервер можно войти с помощью нового пользователя, можете выйти из root.

Источник

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