Caddy и 100к доменов: автоматический SSL при одностраничном конфиге
Я начал использовать Nginx более 20 лет назад, и как-то привык к тому что это решение по умолчанию при выборе веб сервера. В своем пути в IT я начинал с linux администрирования, потом был мелкий онлайн бизнес, работал бизнес аналитиком, продактом, временами что-то программировал для себя. Обстоятельства опять поменялись и год назад я устроился работать девопсом в маркетплейс доменов, по сути такой возврат к истокам. Первая задача которую мне выдали - перевести паркинг с 100к доменами с nginx на caddy. На тот момент я не слышал про Caddy, но был очень хорошего мнения о nginx.
https://habr.com/ru/articles/923150/
Я начал использовать Nginx более 20 лет назад, и как-то привык к тому что это решение по умолчанию при выборе веб сервера. В своем пути в IT я начинал с linux администрирования, потом был мелкий онлайн бизнес, работал бизнес аналитиком, продактом, временами что-то программировал для себя. Обстоятельства опять поменялись и год назад я устроился работать девопсом в маркетплейс доменов, по сути такой возврат к истокам. Первая задача которую мне выдали - перевести паркинг с 100к доменами с nginx на caddy. На тот момент я не слышал про Caddy, но был очень хорошего мнения о nginx.
https://habr.com/ru/articles/923150/
👍2❤1
UEFI & GRUB
1. ESP (EFI System Partition)
🔺 Формат: FAT32, размер ~100–500 МБ.
🔺 Монтируется как
🔺 Содержит файлы загрузчиков:
🔺
🔺
2. Разметка GPT и создание ESP
🔺 Монтирование:
3. Установка GRUB (UEFI)
1. Смонтировать корень и ESP, войти в chroot:
2. Установить пакет GRUB:
🔺 Debian/Ubuntu:
🔺 Arch:
🔺 RHEL/CentOS:
3. Запустить:
🔺 В RHEL/CentOS:
4. Файл
🔺 После изменений:
5. Управление записями UEFI (efibootmgr)
* Просмотр:
* Добавить запись:
🔺 Изменить порядок:
🔺 Удалить:
6. Восстановление GRUB
🔺 Загрузиться с Live-USB, смонтировать
🔺 Переустановить GRUB (см. команды выше).
🔺 Убедиться, что в прошивке UEFI выбрана запись “GRUB” как первичная.
7. Советы
🔺 Проверить монтирование ESP:
🔺 Проверить содержимое ESP:
🔺 Secure Boot:
🔺 Установить
🔺 Проверить статус:
8. Сборка простого
🔺
🔺 Пути
1. ESP (EFI System Partition)
🔺 Формат: FAT32, размер ~100–500 МБ.
🔺 Монтируется как
/boot/efi
.🔺 Содержит файлы загрузчиков:
🔺
/EFI/BOOT/BOOTX64.EFI
(резерв)🔺
/EFI/дистрибутив/…
(например, /EFI/ubuntu/grubx64.efi
).2. Разметка GPT и создание ESP
parted /dev/sda mklabel gpt
parted /dev/sda mkpart ESP fat32 1MiB 551MiB
parted /dev/sda set 1 boot on
mkfs.fat -F32 /dev/sda1
🔺 Монтирование:
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
3. Установка GRUB (UEFI)
1. Смонтировать корень и ESP, войти в chroot:
mount /dev/sdaX /mnt # X — раздел /
mount /dev/sda1 /mnt/boot/efi # ESP
for d in dev proc sys; do mount --bind /$d /mnt/$d; done
chroot /mnt /bin/bash
2. Установить пакет GRUB:
🔺 Debian/Ubuntu:
apt install --reinstall grub-efi-amd64
🔺 Arch:
pacman -Sy grub efibootmgr
🔺 RHEL/CentOS:
yum install grub2-efi shim
3. Запустить:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB --recheck
grub-mkconfig -o /boot/grub/grub.cfg
🔺 В RHEL/CentOS:
grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub2 --recheck
grub2-mkconfig -o /boot/efi/EFI/grub2/grub.cfg
4. Файл
/etc/default/grub
(минимум)
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_CMDLINE_LINUX="quiet splash"
🔺 После изменений:
update-grub
(Debian/Ubuntu) или grub2-mkconfig -o …
в RHEL.5. Управление записями UEFI (efibootmgr)
* Просмотр:
efibootmgr -v
* Добавить запись:
efibootmgr --create --disk /dev/sda --part 1 \
--label "Linux" --loader "\\EFI\\GRUB\\grubx64.efi"
🔺 Изменить порядок:
efibootmgr --bootorder 0002,0001,0003
🔺 Удалить:
efibootmgr --bootnum 0004 --delete-bootnum
6. Восстановление GRUB
🔺 Загрузиться с Live-USB, смонтировать
/
и ESP, chroot как в пункте 3.🔺 Переустановить GRUB (см. команды выше).
🔺 Убедиться, что в прошивке UEFI выбрана запись “GRUB” как первичная.
7. Советы
🔺 Проверить монтирование ESP:
findmnt /boot/efi
🔺 Проверить содержимое ESP:
ls /boot/efi/EFI
🔺 Secure Boot:
🔺 Установить
shim-signed
и grub-efi-amd64-signed
(Ubuntu).🔺 Проверить статус:
mokutil --sb-state
8. Сборка простого
grub.cfg
set default=0
set timeout=5
menuentry "Linux" {
insmod ext2
set root='hd0,gpt2'
linux /vmlinuz-linux root=/dev/sda2 rw quiet
initrd /initramfs-linux.img
}
🔺
hd0,gpt2
— диск 0, второй GPT-раздел (там /
).🔺 Пути
/vmlinuz-linux
и /initramfs-linux.img
— в /boot
.❤2
Vault-secrets-operator
Создавайте секреты Kubernetes из Vault для безопасного рабочего процесса на основе GitOps.
https://github.com/ricoberger/vault-secrets-operator
Создавайте секреты Kubernetes из Vault для безопасного рабочего процесса на основе GitOps.
https://github.com/ricoberger/vault-secrets-operator
❤1👍1
Шпаргалка Mikrotik Config
Я документирую процесс подключения и настройки общих сценариев здесь для всех, кто интересуется Mikrotik
https://codingpackets.com/blog/mikrotik-config-cheatsheet/
Я документирую процесс подключения и настройки общих сценариев здесь для всех, кто интересуется Mikrotik
https://codingpackets.com/blog/mikrotik-config-cheatsheet/
❤1
Выводим список установленных пакетов в Linux по дате
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
👍2❤1
Как Grafanalib помогает управлять дашбордами в масштабе
Для корпоративных организаций данные - это все, но когда им приходится вручную настраивать и переносить информационные панели между средами, данные вскоре превращаются в рутину.
https://www.contino.io/insights/grafanalib
Для корпоративных организаций данные - это все, но когда им приходится вручную настраивать и переносить информационные панели между средами, данные вскоре превращаются в рутину.
https://www.contino.io/insights/grafanalib
❤1
Работа с дисковыми квотами в Debian
Проверка квот на файловой системе
v — режим с подробным выводом результатов работы;
g — проверка только групповых квот, перечисленных в файле /etc/mtab или в указанных файловых системах;
u — проверка только пользовательских квот, перечисленных в файле /etc/mtab или в указанных файловых системах, опцию можно не указывать, т.к. она активна по умолчанию;
m — не пытаться перемонтировать файловую систему только для чтения;
f — форсировать проверку, то есть проверить и записать новые файлы квот на ФС с включенными квотами;
Проверка квот на всех файловых системах где они включены:
Редактирование квоты для пользователя web1 (откроется редактор по-умолчанию):
Редактирование квоты для группы client1 (откроется редактор по-умолчанию):
Показать суммарный отчет по квотам на файловой системе /var
Показать суммарный отчет по квотам на файловой системе /var только для пользователей (-u) в удобном формате (-s)
Вывод команды:
# repquota -u -s /var -c
*** Report for user quotas on device /dev/mapper/sirius-var
Block grace time: 7days; Inode grace time: 7days
Space limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
web2 -- 23809M 31744M 31745M 76599 0 0
web53 -- 609M 3072M 3073M 8804 0 0
Хотя суммарный отчёт и выглядит довольно просто, но некоторые моменты следует разъяснить.
Символы — — во втором столбце позволяют быстро определить, какой предел был превышен (блоков или inode). Если мягкий предел (soft) превышен, вместо — появляется соответствующий + при этом первый символ — представляет предел блоков, а второй — предел inode.
Столбцы grace обычно пустые, но если мягкий предел (soft) превышен, в этом столбце показывается время, оставшееся до завершения периода отсрочки. Если период отсрочки истёк, в этом столбце отображается none (нет).
Проверка квот на файловой системе
/var
quotacheck -vgumf /var
v — режим с подробным выводом результатов работы;
g — проверка только групповых квот, перечисленных в файле /etc/mtab или в указанных файловых системах;
u — проверка только пользовательских квот, перечисленных в файле /etc/mtab или в указанных файловых системах, опцию можно не указывать, т.к. она активна по умолчанию;
m — не пытаться перемонтировать файловую систему только для чтения;
f — форсировать проверку, то есть проверить и записать новые файлы квот на ФС с включенными квотами;
Проверка квот на всех файловых системах где они включены:
quotacheck -vagumf
Редактирование квоты для пользователя web1 (откроется редактор по-умолчанию):
edquota -u web1
Редактирование квоты для группы client1 (откроется редактор по-умолчанию):
edquota -g client1
Показать суммарный отчет по квотам на файловой системе /var
repquota /var
Показать суммарный отчет по квотам на файловой системе /var только для пользователей (-u) в удобном формате (-s)
repquota -g -s /var
Вывод команды:
# repquota -u -s /var -c
*** Report for user quotas on device /dev/mapper/sirius-var
Block grace time: 7days; Inode grace time: 7days
Space limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
web2 -- 23809M 31744M 31745M 76599 0 0
web53 -- 609M 3072M 3073M 8804 0 0
Хотя суммарный отчёт и выглядит довольно просто, но некоторые моменты следует разъяснить.
Символы — — во втором столбце позволяют быстро определить, какой предел был превышен (блоков или inode). Если мягкий предел (soft) превышен, вместо — появляется соответствующий + при этом первый символ — представляет предел блоков, а второй — предел inode.
Столбцы grace обычно пустые, но если мягкий предел (soft) превышен, в этом столбце показывается время, оставшееся до завершения периода отсрочки. Если период отсрочки истёк, в этом столбце отображается none (нет).
❤1