Мне не встречался хостинг с Arch Linux в качестве VDS. Но существуют хостинги с поддержкой пользовательских образов. Вот один из них.
Это НЕ абузоустойчивых хостинг, ещё он находится в РФ. Но вы посмотрите на их цены – я за виртуальных хостинг плачу почти столько же.
Создать виртуальный сервер совсем нетрудно. Переходите к вкладке «Виртуальные серверы», выбираете «Заказать» (кстати, там есть тестовый период в 3 дня – совершенно бесплатный).
Если вы умеете работать без графического интерфейса и у вас нет планов по запуску ресурсоёмких приложений (WPScan, IVRE или что-то подобное в множество потоков), то начального тарифного плана вполне хватит. Служебные процессы сервера после установки системы занимают всего лишь около 80-90 мегабайт оперативной памяти. Если вы выбрали тариф с 1 гигабайтом оперативной памяти, то для приложений и работы вам будет доступно примерно 900 гигабайт. Если вам обязательно нужен графический интерфейс, то начинать нужно с 2 гигабайт оперативной памяти.
Создание VDS
Вряд ли этот этап вызовет особые трудности. Разве что, можно порекомендовать заранее приобрести доменное имя (если оно вам нужно, поскольку вы всегда будете иметь доступ к вашему серверу, в том числе и к веб-серверу, по IP). Не будем подробно останавливаться на этапе создания сервера, это действительно просто, поэтому только последовательные скриншоты:
В принципе, не важно какой образ здесь выбрать - всё равно бы мудем устанавливать свою собственную ОС:
Практически сразу, после создания сервера, приходят два письма на почту с учётными данными. Если бы нам хотелось Debian, то прямо сейчас можно было бы начать работать – подключиться по SSH и размещать файлы веб-сервера.
Подключение пользовательского образа к VDS
Нам нужно написать письмо в службу тех поддержки, в нём попросить подключить пользовательский образ и предоставить на него прямую ссылку. Найти прямую ссылку на образ Arch Linux вы можете на этой странице https://www.archlinux.org/download/
Кстати, все пользовательские образы других пользователей доступны публично, давайте посмотрим, что там есть:
Кто-то даже ставил Kali Linux.
Когда заказанный пользовательский образ появится в списке, то переходим к виртуальной машине:
Останавливаем её и нажимаем там Диски. Теперь выбираем там ISO:
Выбираем имя образа, важно, чтобы диск стоял в начале загрузке, нажимаем ОК:
Теперь диски выглядят так, причём первым в загрузке идёт именно ISO образ Arch Linux:
Возвращаемся к списку виртуальных машин и запускаем нашу машину.
Переходим к VNC и видит привычную нам заставку Arch Linux:
Загружаемся, учётные данные не нужны, поскольку будет произведён автоматический вход от имени рута:
Настройка подключения к Интернету
Проверим наличие подключения к Интернету:
Подключения нет, поскольку нам выдан белый статический IP адрес и этот адрес нужно настроить вручную.
Посмотрим имя сетевого интерфейса:
ip a
Имя – ens3.
Чтобы узнать данные вам IP адрес, маску подсети и адрес шлюза, то в панели управления виртуальной машиной перейдите к вкладке IP адреса:
После этого назначение статичного IP делается следующей командой (сам IP, маску подсети и имя сетевого интерфейса замените на свои):
ip a add 185.117.153.79/255.255.252.0 dev ens3
Тем не менее, этом этапе у вас ещё не будет соединения с Интернетом. Нам нужно прописать шлюз по умолчанию (адрес шлюза замените на свой):
ip route add default via 185.117.152.1
И… всё равно на этом этапе ещё не будет интернета. Нужно прописать DNS сервер.
Для этого откройте файл
vim /etc/resolv.conf
и добавьте туда строку:
nameserver 8.8.8.8
Наконец-то, теперь можно проверять:
ping ya.ru
Сделанные таким образом изменения пропадут после перезагрузки.
Разметка дисков
Теперь, когда есть подключение к Интернету, перейдём к разметке жёстких дисков.
Давайте посмотрим, как называется жёсткий диск:
fdisk -l
Он называется /dev/vda
Давайте его полностью очистим, для этого:
gdisk /dev/vda
Для перехода в экспертный режим там введите
x
Затем для удаления GPT введите
z
Дважды согласитесь, чтобы полностью очистить диск.
Переходим в программу для разметки диска:
cfdisk /dev/vda
Выберите dos:
Создаём новый раздел:
Загрузочный раздел будет размером 200 мегабайт (занятыми при этом будут менее 100 мегабайт, поэтому для уверенности или если планируете эксперементировать с загрузчиком, ядрами, то можно выбрать больше - 300-500 мегабайт):
Выбираем primary:
Делаем его загрузочным (Bootable):
Стролочкой вниз переходим к свободному месту и выбираем New для создания ещё одного раздела:
Размер не меняю – будет занято всё свободное место:
Выбираем primary:
ВАЖНО: такое понятие как файл подкачки для виртуальной машины KVM не применим. Т.е. даже если вы его создадите, то виртуальная машина не сможет его использовать. Поэтому пропускаем шаг создания файла подкачки.
Сохраняем сделанные изменения:
Набираем yes:
Должно получиться примерно так:
Выходим:
Смотрим наши диски:
fdisk -l
Форматируем наши разделы:
mkfs.ext2 /dev/vda1 mkfs.ext4 /dev/vda2
Монтируем диски следующими командами:
mount /dev/vda2 /mnt mkdir /mnt/boot mount /dev/vda1 /mnt/boot
Установка Arch Linux на VDS
Начинаем саму установку:
pacstrap -i /mnt base base-devel
Создаём файл fstab (отвечает за монтирование дисков при старте системы):
genfstab -U -p /mnt >> /mnt/etc/fstab
Настройка системы
Выполним следующую команду:
arch-chroot /mnt
Устанавливаем Vim:
pacman -Sy vim
Теперь в файле locale.gen нам нужно раскомментировать две строки, для этого
vim /etc/locale.gen
Ищем там и раскомментируем строки:
en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8
После этого выполняем:
locale-gen
Создадим locale.conf и экспортируем локаль:
echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8
Установим Time Zone, связав информацию о временной зоне с localtime:
Выбираем город и делаем ссылку:
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Устанавливаем аппаратные часы на UTC:
hwclock --systohc --utc
Устанавливаем имя хоста (у вас точно другое имя хоста – оно такое же, как и имя домена):
echo suip.biz > /etc/hostname
Настраиваем сеть
Помните чуть ранее мы настраивали подключение к Интернету? Теперь нам нужно сделать это же для свежеустановленной ОС.
Скопируйте файл с образцами настройки статического IP:
cp /etc/netctl/examples/ethenet-static /etc/netctl/static.ens3
Отредактируем этот файл:
vim /etc/netctl/static.ens3
Достаточно поменять имя сетевого интерфейса, прописать свой статичный IP, адрес шлюза, маску подсети и DNS сервер.
Вот пример моего файла:
Description='A basic static ethernet connection' Interface=ens3 Connection=ethernet IP=static Address=('185.117.153.79/22') #Routes=('192.168.0.0/24 via 192.168.1.2') Gateway='185.117.152.1' DNS=('8.8.8.8') ## For IPv6 autoconfiguration #IP6=stateless ## For IPv6 static address configuration #IP6=static #Address6=('1234:5678:9abc:def::1/64' '1234:3456::123/96') #Routes6=('abcd::1234') #Gateway6='1234:0:123::abcd'
Здесь:
ens3 – имя моего сетевого интерфейса
185.117.153.79/22 – это IP и сокращённая запись маски подсети.
185.117.152.1 – шлю по умолчанию.
8.8.8.8 – DNS сервер.
Настраиваем автоматическое задействование этих настроек после перезапуска.
netctl enable static.ens3
Устанавливаем пароль рута:
passwd
Создаём нового пользователя с sudo:
useradd -m -g users -G wheel,video -s /bin/bash <имя пользователя>
Установка sudo с pacman:
pacman -S sudo
Раскомментируйте группу wheel из sudoers «%wheel ALL=(ALL)», чтобы пользователи сразу после создания могли sudo:
vim /etc/sudoers
Примечание: у меня по какой-то причине этот файл «только для чтения». Если у вас эта же проблема, то для сохранения в vim команда должна выглядить wq! или же после перезагрузки не забываем залогиниться под рутом, чтобы подправить этот файл. Иначе пользователи не смогут использовать sudo.
Установите пароль для созданного пользователя:
passwd <имя пользователя>
Загрузчик
Поскольку мы используем MBR, а не GPT давайте установим загрузчик GRUB BIOS:
pacman -S grub-bios
Установите и настройте GRUB на /dev/vda:
grub-install --recheck /dev/vda grub-mkconfig -o /boot/grub/grub.cfg
Выйдем из chroot, размонтируем смонтированные разделы и перезагрузимся:
exit umount -R /mnt/boot umount -R /mnt shutdown -h now
После этого вернитесь к панели управления виртуальными серверами, отключите машину, отключите ISO и запустите сервер. Последний раз переходим к VNC только для того, чтобы убедиться, что всё в порядке, и чтобы настроить подключение по SSH.
Если вас встречает такое окно приветствия, значит всё отработало на отлично!
Входим со своими учётными данными и проверяем наличие Интернет-подключения.
Я залогинился под рутом, поэтому не использую sudo, если вы залогинились под обычным пользователем, то ко всем следующим командам добавляйте sudo.
Устанавливаем SSH в Arch Linux VDS
pacman -S openssh
Включаем SSH и добавляем в автозагрузку:
systemctl start sshd.socket systemctl enable sshd.socket
Если хотите поменять порт, то это делается так:
systemctl edit sshd.socket
Там можно указать только порт:
[Socket] ListenStream=23456
Другие настройки, как обычно, в файле /etc/ssh/sshd_config. Но директива ListenAddress будет игнорироваться (если выбрано прослушивание сокета).
Оция PermitRootLogin — может ли root входить в систему посредством SSH:
PermitRootLogin no
Чтобы настроить беспарольный доступ, обратитесь к статье «Настройка SSH в BlackArch».
На этом установку сервера можно считать завершённый. Теперь можно отключиться от VNC и перейти в SSH клиента для настройки веб-сервера и прочего.
Чтобы получился именно BlackArch делаем так:
curl -O https://blackarch.org/strap.sh sudo bash ./strap.sh pacman -S blackarch-mirrorlist
Вся доступная информация по теме Arch Linux / BlackArch на VDS по тэгу VDS / VPS.
Близкие статьи
- Настройка статического IP адреса в Arch Linux / BlackArch (100%)
- Настройка статического IPv6 адреса в Arch Linux / BlackArch (100%)
- Варианты установки BlackArch (59.7%)
- Создание загрузочной флешки BlackArch / Arch Linux (59.7%)
- Установка BlackArch, часть первая: Установка BlackArch в VirtualBox (59.7%)
- LEMP (Nginx, PHP, MariaDB/MySQL и phpMyAdmin) в Arch Linux: установка, создание виртуальных хостов, защита паролем папок, включение SSL (RANDOM - 57.5%)
> ВАЖНО: такое понятие как файл подкачки для виртуальной машины KVM не применим. Т.е. даже если вы его создадите, то виртуальная машина не сможет его использовать. Поэтому пропускаем шаг создания файла подкачки.
Извините, лютый бред. Судя по всему, автор текста спутал KVM с чем-то вроде контейнеризации LXC, в которой действительно swap необходимо настраивать (и ограничивать максимум его использования конкретным контейнером) не в контейнере, а на хост-машине.
А внутри KVM - без проблем. У меня все виртуалки с небольшим свопом.
Приветствую! Спасибо за верное замечание! Очевидно, что вы правы.
Пытаюсь вспомнить, как я пришёл к этой глупости… Видимо, в справке хостера речь шла об автоматически развёртываемых ОС, и их шаблон установки не предусматривала файл подкачки – где-то что-то такое было, сам бы я такое не придумал…