У цій статті ми розглянемо чисту установку з нуля і в базову настройку сервера CentOS 8 в мінімальній конфігурації.

Що нового в CentOS 8?

24 вересня 2019 року, вийшов реліз 8-ий версії CentOS. CentOS – дистрибутив Linux, заснований на комерційному Red Hat Enterprise, компанії Red Hat і сумісний з ним.

Розглянемо найбільш великі зміни в релізі CentOS 8:

  • Використовується ядро ​​Linux ядро 4.18.
  • Перехід з пакетного менеджера ням на dnf. В даний момент ням існує як алиас до dnf.
  • Виконано поділ основного сховища на 2 – це BaseOS і AppStream. Зроблено це для того, щоб у користувача з’явилася можливість встановлювати різні версії пакетів на сервер. BaseOS працює як і раніше.
  • Оновилося все ПО, в тому числі і ядро. У базовому репозиторії тепер встановлюється php версії 7.2 (нарешті).
  • заміна iptables на nftables. Особисто я поки що з другим не працював безпосередньо, тому не можу сказати, добре це чи погано. Єдиний момент, якщо потрібно буде переносити якісь проекти на нову ОС, доведеться розбиратися з правилами, так як є сервера з чистим iptables.
  • мережеві скрипти не використовуються за замовчуванням для настройки мережі, тепер управління мережею покладено на Менеджер мережі.
  • За замовчуванням устаналівается веб-інтерфейс управління сервером кокпіт (Зручно для новачків).
  • Для управління контейнерами використовується podman (замість docker і mobdy).
  • Нова версія стека TCP / IP 4.16 з поліпшеною продуктивністю і підтримкою алгоритмів контролю BBR і NV.
  • Нові версії дсітрібутівов:

Установка CentOS 8 за допомогою ISO-образу

Так як я проводив установку операційної системи на віртуальній машині КВМ, Попередньо я скачав інсталяційний ISO-образ з одного з офіційних дзеркал (https://www.centos.org/download/mirrors/) І примонтировать його для установки на віртуальному сервері (при установці на фізичний сервер залийте інсталяційний образ СentOS на USB флешку). Відразу скажу, процес установки CentOS 8, Не відрізняється від установки попередньої версії і дана стаття розрахована на те, що буде служити помічником для користувачів, які виконують подібне вперше.

У рекомендованих вимоги зазначено, що для установки CentOS 8 необхідно мінімум 10 Гб місця на диску і 512 Мб RAM на одне ядро ​​процесора

Перезапустивши віртуальну машину з примонтировать чином, я увійшов в VNC-консоль. Першим кроком, вам буде запропоновано вибрати подальші дії. Так як ви виконуємо установку, нам цікавий перший пункт меню:

Install CentOS Linux 8.0.1905

Встановіть CentOS Linux 8.0.1905

Вибравши його, у вас запуститься процес установки:

запуск установки centos 8

В процесі поки все необхідне програмне забезпечення завантажується, можна просто спостерігати за процесом, від вас не потрібно ніяких дій.

І коли чорний екран зміниться на інтерактивний з логотипом CentOS, Пора брати в руки мишу і клавіатуру.

мова установки centos 8

У привітанні, система попросить вас вибрати мову, я завжди ставлю Англійська (Англійська), тому що мені так зручніше працювати (та й не розумію, навіщо взагалі ставити російську мову на сервері). Натисніть кнопку “Продовжити”. У наступному меню потрібно вибрати основні параметри для установки CentOS.

параметри установки centos 8

Для запуску установки, обов’язково налаштувати тільки один пункт “Місце призначення”, Там ви вказуєте розбивку диска, але я віддаю перевагу так само, відразу налаштувати мережу і дату з часом.

вибір часового поясу в centos

Залежно від вашого часового поясу, ви встановлюєте свої параметри, для мене це Москва.

Щоб налаштувати мережу, переходимо до пункту “Ім’я мережі та хоста”

настройка мережі при установці centos 8

В полі “Ім’я хоста” вказуємо ім’я сервера і для конфігурації мережевих інтерфейсів натискаємо “Налаштувати”

автоматично підключати мережу

У головній вкладці, потрібно відзначити галочкою “Автоматично під’єднуватися до цієї мережі, коли вона доступна”, Це потрібно для того, щоб мережевий інтерфейс піднімався автоматично.

Перейдіть у вкладку “Налаштування IPv4” (або IPv6 якщо ви використовуєте цей протокол) налаштуйте IPадресу, маску підмережі та шлюз:

задати статичний ip адресу при установці centos 8

Для введення конкретного IP, Потрібно вибрати метод “Вручну” і натиснути кнопку “Додати”, Після чого у вас з’явиться можливість ввести потрібні дані. Зберігши всі, ми повернемося до початкового вікна налаштувань мережі

мережу в centos підключена

Як можна побачити на скріншоті, IP адреса додався і мережевий інтерфейс вже піднято (стан Connected).

Наступним кроком ми перейдемо до розбивці диска:

настройка диска при установці centos 8

Для прикладу установки я скористався автоматичним розбиттям від розробників CentOS. Якщо ви хочете розбити диск по-своєму, потрібно вибрати пункт “На замовлення”.

Так як на моїй віртуальній машині, раніше була встановлена ​​ОС, система установки побачила це. Я видалив розділи попередньої операційної системи в наступних відкриваються меню:

очищення розділів на диску при установці centos 8

повернути дисковий простір

Видалити розділи можна кнопкою “Видалити все”, Після чого буде потрібно натиснути кнопку “Відвоювати простір”, Щоб розмір дискового простору стало актуальним.

Список пакетів для установки вибирається в пункті Software Selection. Якщо ви плануєте використовувати CentOS 8 в якості сервера, досить вибрати Minimal Install, а з додавань Standard і Guest Agents (якщо ви ставите гостьову ОС у віртуальній машині).

Після вищеописаних дій, можна запускати установку кнопкою “Почати встановлення”

почати установку centos 8

В процесі вже самій розпакування і установки необхідних компонентів, вам буде потрібно вказати пароль для корінь-Користувач і можна створити додаткового користувача, але це не обов’язковий пункт.

задати пароль root і створити Нова користувачів при установці centos 8

Натисніть на кнопку “Кореневий пароль”, Введіть і повторіть пароль і натисніть “Готово”, Щоб повернутися до установки:

пароль користувача root

Спочатку я ставлю просте пароль, щоб в разі проблем з мережею, я міг легко його ввести в VNC-консолі і виправити проблеми. Після того, як система буде встановлена, пароль рекомендується змінити на більш складний. установка CentOS 8 у мене зайняла близько 5-7 хвилин і коли у вікні установки загориться кнопка “Reboot”, це означає, що все було встановлено і потрібно перезапустити сервер.

перезавантаження сервера після устаноовкі centos 8

На цьому установка CentOS 8 завершена.

Базова настройка CentOS 8 після установки

Базова настройка CentOS 8 практично не відрізняється від настройки CentOS, я роблю базові настройки однакові на всіх серверах.

CentOS 8: Установка оновлень і інструментів адміністратора

Як вже зазначалося раніше, в CentOS 8 на заміну ням, прийшов dnf.

Dnf – це наступне покоління додатки YUM, Менеджер пакетів для дистрибутивів Linux на основі Об / хв-пакети. раніше dnf використовувався в дистрибутивах Fedora, А тепер і в CentOS 8.

Перша дія, яке я виконую на знову встановленому сервері, це оновлення системи:

dnf update -y

Якщо образ свіжий, то швидше за все у вас не буде пакетів для оновлень як в моєму випадку:

[root@centos var]# dnf update

Last metadata expiration check: 0:21:47 ago on Wed 09 Oct 2019 02:36:45 PM +06.
Dependencies resolved.
Nothing to do.
Complete!

Якщо у вас виявляться поновлення, обов’язково їх встановіть.

Наступним кроком, підключимо репозиторій EPEL і встановимо необхідні утиліти для зручного адміністарірованія сервера:

dnf install epel-release -y
dnf install mc wget screen nano net-tools bind-utils curl lsof vim -y

Мені для комфортного адміністрування вистачає цього набору утиліт, ви можете встановити свої звичні утиліти.

Автоматичне оновлення системи я не включаю, так як завжди встановлюю необхідні оновлення вручну. Якщо ви хочете налаштувати автоматичне оновлення, встановіть пакет dnf-автоматичний:

dnf install -y dnf-automatic

Щоб перевірити активні завдання на оновлення системи введіть:

systemctl list-timers *dnf-*

відключення SELinux

На початковому етапі я завжди відключаю SELinux (Для застосування зміни потрібно перезавантажити сервер):

nano /etc/sysconfig/selinux
reboot

відключення SELinux нальоту, можна виконати командою:

setenforce 0

Налаштування мережі в CentOS 8

Так як мережа я налаштував на етапі установки системи, настройка її в даний момент не потрібно (детальна стаття з налаштування мережі в CentOS). Хочу лише сказати, що в CentOS 8, Мережа керується тільки через Network Manager і утиліту nmcl. Мережеві сценарії за замовчуванням не підтримуються. Якщо чесно, в своїй роботі я завжди відключав Н.М. і не використав, для мене це не зручний інструмент, тепер доведеться розбиратися і з ним.

Перевірка статусу мережі:

[root@server ~]# systemctl status NetworkManager

● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-10-07 08:23:11 MSK; 3h 37min ago
Docs: man:NetworkManager(8)
Main PID: 870 (NetworkManager)
Tasks: 3 (limit: 5060)
Memory: 4.7M
CGroup: /system.slice/NetworkManager.service
└─870 /usr/sbin/NetworkManager --no-daemon

Установка і зміна hostname

Якщо ви не задали коректний ім’я хоста сервера при установці або просто хочете змінити, це можна виконати декількома способами. Змініть його в файлі / etc / ім’я хосту або поміняйте за допомогою команди:

hostnamectl set-hostname нужный_хостнейм

Налаштування firewalld в CentOS 8

Додамо в довірені зони на брандмауер, Потрібні для початкової роботи сервіси (SSH і HTTP / HTTPS):

firewall-cmd –-add-service=ssh
firewall-cmd --permanent –-add-service=http
firewall-cmd --permanent –-add-service=https

Налаштування часу і годинного поясу (time-zone)

Щоб подивитися поточний час і time-zone, потрібно ввести команду дата:

[root@centos var]# date

Wed Oct 9 13:03:00 MSK 2019

ми вказали часовий пояс при установці самої системи, тому у нас час по Москві. щоб поміняти часовий пояс, Потрібно скористатися відповідною командою:

timedatectl set-timezone Europe/Moscow

де замість Європа / Москва ви можете вказати свій варіант, наприклад:

[root@server network-scripts]# date
Пн 7 жовтня 12:46:09 MSK 2019

[root@server network-scripts]# timedatectl set-timezone Asia/Almaty
[root@server network-scripts]# date

Mon Oct 7 15:46:22 +06 2019

Для синхронізації часу використовується хронід, Ми включимо його і додамо в автозавантаження через systemctl:

systemctl start chronyd
systemctl enable chronyd

[root@server network-scripts]# systemctl status chronyd

● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-10-07 16:13:48 +06; 9s ago
Docs: man:chronyd(8)
man:chrony.conf(5)
Main PID: 31700 (chronyd)
Tasks: 1 (limit: 5060)
Memory: 1.1M
CGroup: /system.slice/chronyd.service
└─31700 /usr/sbin/chronyd

Налаштування історії команда в bash_history

Для зручного перегляду історії, я завжди додаю пару рядків в .bashrc, Щоб надалі можна було легко орієнтуватися в звітах.

Під час налаштування за замовчуванням, висновок історії виглядає наступним чином:

[root@centos ~]# history

1 dnf repolist
2 dnf install epel-release

Тобто ми бачимо, що виконувалося на сервері, але не бачимо час і точну дату, для мене це критично, так як доступ до серверів можуть мати кілька фахівців. Тому наведемо історії до приємного вигляду:

відкриємо файл /root/.bashrc і додамо в нього потрібні рядки:
nano /root/.bashrc

export HISTSIZE=10000
export HISTTIMEFORMAT="%h/%d/%y - %H:%M:%S "

Тепер при перевірці історія, ми бачимо точний час виконання тієї чи іншої команди:

[root@centos ~]# history

1 Oct/07/19 - 16:16:29 dnf repolist
2 Oct/07/19 - 16:16:29 dnf install epel-release

Cockpit: Веб-інтерфейс управління сервером в CentOS 8

Як ми вже згадували, в CentOS 8 встановлено веб-інтерфейс управління сервером cockpit. Він також управляється через systemctl. Ви можете запустити його і додати в автозгрузку:

# systemctl enable cockpit.socket
# systemctl start cockpit.socket

За замовчуванням веб сервер Cockpit слухає на порту 9090. Додайте цей порт в дозволені:

# firewall-cmd --get-active-zones
# firewall-cmd --add-port=9090/tcp --zone=MY_ACTIVE_ZONE --permanent
# firewall-cmd --reload

Для доступу до веб-інтерфейсу Cockpit, відкрийте в браузері URL адреса https: // your-CentOS8-IP: 9090 і авторизуйтесь.

Cockpit - веб інтерфейс управління сервером centos 8

За допомогою веб-інтерфейсу Cockpit ви можете дивитися завантаження свого сервера, управляти мережами і сховищами, контейнерами, дивитися логи.

На цьому моя типова настройка CentOS сервера закінчена, далі я виконую настройки згідно технічного завдання за різними проектами і зазвичай вони відрізняються.

Leave a Reply

Your email address will not be published. Required fields are marked *