Основные отличия CentOs 8 от CentOs 7 - стоит ли обновлять и переходить.

Версия CentOs 8 вышла 24 сентября 2019 года, я узнал про неё 26 сентября вечером, а 27 начал устанавливать и тестировать. Прочитав про 8-ую версию нашёл информацию что поменялось, сейчас же попробовав новую версию сам, вижу что в Интернете написан ряд мифов. В частности firewalld никто не выпиливал, и его всё так же необходимо останавливать при установке httpd(apache) или открывать порты. Тем не менее предлагаю по-порядку о моём первом знакомстве с CentOs 8.

Устанавливался CentOs 8 в виртуальную машину Hyper-V на Windows 10 x64 на ПК с процессором intel i5-4570 3.2 Ghz и оперативной памятью 8 Гб. В интернете я нашёл 2 образа диска в виде iso-файлов с названиями CentOS-8-x86_64-1905-boot(размером 534 Mb) и CentOS-8-x86_64-1905-dvd1(размером 6.64Gb). С первого файла инсталлировать не получилось, поскольку видимо в файле не содержится необходимых пакетов и было необходимо указать путь к репозитарию, какой было необходимо указать путь я поискал в поисковых системах, но ничего из найденного не подошло, поэтому я решил скачать более полный образ размером 6.64Gb и уже дальнейшую инсталляцию проводил с него.

Перед установкой зашёл в настройки сети и переключил флажок на ON. Роутер локальной сети выдал IP адрес. Так же настроил часовую зону. Касаемо разметки диска заметил что на виртуально созданный диск размером 30Gb CentOs 8 предложил мне создать swap раздел 3Gb(такой размер предлагается как для минимальной установки так и для версии сервер), для теста я не стал его менять, хотя сомневаюсь что для минимальной установки под PHP,MySQL(mariadb) и работу сайтов требуется более 1Gb.

В интернете я нашёл информацию что из 8-ой версии операционной системы CentOs убрали среду KDE. Поскольку при первой установке я забыл выбрать, что хочу поставить минимальную версию - соответственно устанавливаться стала версия для сервера, в которой устанавливалось порядка 1300 с лишним пакетов. Пронаблюдав за процессом установки KDE я действительно не заметил. Есть ли она там на самом деле говорить не буду, поскольку в детали пакетов при установке не заходил.

После завершения установки CentOs 8 предложил перезапустить ПК, для этого потребовалось нажать кнопку reboot. Вот только после перезагрузки сервер так и не запустился. Посередине экрана появились 3 точки которые поочерёдно сменяли друг друга. Затем на чёрном экране появилась возможность ввода текста, без каких либо сообщений с стороны системы, например такие как предложение ввести логин и пароль. ПК повисел в таком состоянии минут 10, после чего я решил отказаться от идеи посмотреть на визуальный интерфейс и решил переустановит систему указав минимальный вариант установки, остальные настройки идентичные. Проблем не возникло и после перезагрузки CentOs 8 предложил ввести логин с паролем.

После авторизации первым делом проверил ip адрес и пинги, такие команды как ip addr и ping помогли мне это сделать, которые остались в коробке и не куда не делись. С Интернет соединением всё было впорядке, яндекс пинговался. Далее выполнил обновление системы командой yum upgrade - всё прошло гладко, обновилось 30 с чем то пакетов.

Устанавливаем Bitrix на CentOs 8

Важно! Обратите внимание, я устанавливаю Bitrix без использования Bitrix-Env! В том числе иногда делаю это на серверах с которых работают реальные сайты. Делаю это по привычке, поскольку не вижу необходимости в Bitrix-Env и исходя из первого опыта установки Bitrix-Env когда на только что установленный CentOs 7 на сервер Bitrix-Env выдал ошибки в ходе установки, хотя всё делалось по инструкции. Пришлось писать в тех поддержку, к вопросу о установке Bitrix-Env я не возвращался, поскольку в этом до текущего момента не было необходимости.

Поскольку на работе я занимаюсь созданием сайтов на bitrix, момент запуска данного фреймворка меня интересовал в одну из первых очередей. Начал с установки сервера базы данных командой you install mariadb mariadb server и запустил его командой systemctl start mariadb всё прошло гладко. Из коробки поставилась 10-ая версия mariadb, что достаточно приятно. Далее командой mysql зашёл в клиента базы данных выбрал базу данных командой use mysql; и поменял пароль root пользователя командой UPDATE `user` SET Password=PASSWORD('NewPassword') WHERE User='root';(для тех кто не вкурсе, изменения вступают в силу после перезагрузки сервера баз данных MySQL, которую можно выполнить командой systemctl restart mariadb, следующее использование клиента базы данных под root пользователем необходимо выполнять командой mysql -p после которой система предложит ввести пароль пользователя баз данных MySQL).

Следующий этап - установка PHP. Так же достаточно стандартно yum install php устанавливается версия 7.2.11, что так же порадовало. Кроме того выполнил сразу же yum install php-gd php-pdo php-zlib php-mbstring далее поскольку файл bitrix_server_test.php ругался на отсутствие JSON выполнил ещё yum install php-json после чего необходимо было перезапустить web-сервер командой systemctl restart httpd

Поскольку когда я узнал о выходе CentOs 8-ой версии я решил поинтересоваться её отличиями от предыдущей CentOs 7, я нашёл в интернете информацию, что в новой версии более нет firewalld, не могу сказать с чем связана эта информация, при первом запуске web-сервера apache в CentOs 8 и попытке обратиться к нему из браузера, я заметил что как это и обычно бывает - соединение блокируется. Я решил выключить файрвол, для чего по привычке выполнил в командной строке systemctl stop firewalld после чего в браузере отобразилась начальная страница сайта. Поэтому информация о том что в CentOs 8 отсутствует firewalld - сомнительна.

Далее я планировал создать виртуальные хосты для веб-сервера, в том числе оставить страницу вызываемую по ip адресу в папке /var/www/html/ а сайты на битрикс размещать в папке /home/bitrix/PAPKA_SAITA/, для чего произвёл настройки по аналогии с CentOs 7. Что бы я не пытался написать в directory,- мне не удалось заставить открываться файл index.php с виртуального хоста document root которого был в папке /var/www/test-site.ivru.net при этом в браузере отображалось access denied но разместив виртуальный хост под сайт на bitrix в /var/www/test-site.ivru.net php-файл стал отображаться нормально. Я решил оставить этот вопрос и продолжить устанавливать bitrix

Далее я столкнулся с ситуацией что apache не мог писать в файлы(например с использованием функций fopen и fwrite), причём проверил права и на папке сайта и на файле в который осуществлялась запись стояли права 777. Даже после того как отдал права на папку пользователю apache и его группе, выполнив в командной строке chown -R apache:apache /var/www/test-site.ivru.net всё равно не появилась возможность писать в файлы. 777 на файлы и root directory сайта продолжали стоять. При этом чтение из файлов например через file_get_contents проходит нормально. Оказалось что в дистрибутиве CentOs 8 по умолчанию включен selinux, для меня это было неожиданно поскольку в инсталяторах CentOs 7 по умолчанию selinux был выключен. Для отключения selinux в каталоге /etc/selinux/ необходимо найти файл без расширения - config в котором установить параметр SELINUX=disabled, после чего сохранить и перезапустить CentOs(не могу сейчас сказать можно ли обойтись без перезагрузки).

Продолжая устанавливать bitrix увидел, что не установлена библиотека для работы с MySQL. В CentOs 7 данная библиотека устанавливалась так: yum install php-mysql php-pdo в CentOs 8 php-pdo устанавливается так же, а непосредственно mysql и mysqli устанавливаются как yum install php-mysqlnd. Далее когда мне нужно было что то поправить в php.ini поскольку настройки не вступали в силу после перезагрузки web-сервера apache командой systemctl restart httpd для того чтобы нужные изменения вступили в силу я удалял и снова устанавливал msqylnd, а именно выполнял yum remove php-mysqlnd а затем yum install php-mysqlnd.

Настройка VPN в CentOs 7 и выхода в Интернет

Поскольку иногда захожу на зарубежные сайты букмекерских контор, которые в России блокируются Роскомнадзором, для обхода блокировки использую VPN на серверах размещённых в других странах. Тот факт что я пока не смог разобраться как именно устанавливается VPN на CentOS 8 для меня стало причиной по которым свои сервера я не перевожу на CentOs 8. Обратите внимание я пишу про PPTP VPN а не про OpenVPN. В CentOs 7 установка выполнялась командой yum install pptpd в некоторых случаях предварительно нужно было подключить yum install epel-release. Но в CentOs 8 таким образом pptpd не установился. Позже когда я разберусь как именно это делать дополню статью. Так же сейчас не имеется возможности говорить о настройке iptebles в CentOs 8.

Комментарии

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

Имя:
E-mail:
Текст комментария:

Вы так же можете прочитать следующие статьи: