RedOS: обновление httpd из исходников

Как оказалось (по советам данным на linux.org.ru), наиболее правильным вариантом обновления существующей инсталляции httpd, является «опакечивание» исходных кодов в rpm, а затем штатная его установка. В этом случаем мы избавляемся от проблем с выбором правильных ключей и путей, которые пришлось бы устанавливать руками при компиляции/сборке httpd из исходников. Итак поехали:

Сначала как обычно подготовим среду сборки:

dnf install rpmdevtools rpmlint
dnf install apr-devel apr-util-devel libuuid-devel lua-devel openldap-devel
dnf install apr-util-ldap
dnf install perl libxml2-devel

Затем создадим структуру каталогов для сборки:

rpmdev-setuptree

Далее скачиваем исходные коды httpd:

wget https://dlcdn.apache.org/httpd/httpd-2.4.62.tar.bz2

И теперь «опакечиваем» их в rpm:

rpmbuild -tb httpd-2.4.62.tar.bz2

Если сборка вываливается с ошибками, то необходимо смотреть файл config.log и до устанавливать необходимые зависимости (смотря на что ругается)

Если сборка прошла успешно, то в папке ~/rpmbuild/RPMS/x86_64 будут пакеты готовые к установке. Устанавливать их можно штатно:

rmp -U *.rpm --force

ключ —force в данном случае нужен для того, чтобы установщик не ругался на уже существующие файлы настройки httpd (вот тут осторожно! лучше сначала попробовать без этого ключа и посмотреть ошибки)

Убедимся что версия обновилась:

httpd -V
обновление httpd из исходников

Вот и всё, остается перезапустить сервис httpd

Установка PHP 7.4 на RedOS 8.0

Ситуация: после обновления с RedOS 7.3 до RedOS 8.0, обновился и интерпретатор PHP с 7.4. до 8.1, что к сожалению сломало работу сайта на Bitrix. Нужна установка PHP 7.4 на RedOS 8.0

Задача: сделать даунгрейд PHP 8.1 на PHP 7.4

Решение: Штатным образом в RedOS 8.0 отсутствует возможность установки PHP 7.4, Но! так как RedOS по сути своей совместим с RedHat/CentOS, значит возможно использовать сторонние репозитарии http://rpms.remirepo.net.

Создадим в папке /etc/yum.repos.d файл remi.repo с содержимым:

# Repository: http://rpms.remirepo.net/
# Blog:       http://blog.remirepo.net/
# Forum:      http://forum.remirepo.net/

[remi]
name=Remi's RPM repository for Enterprise Linux 7 - $basearch
mirrorlist=http://cdn.remirepo.net/enterprise/7/remi/mirror
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

И файл remi-php74.repo:

# This repository only provides PHP 7.4 and its extensions
# NOTICE: common dependencies are in "remi-safe"

[remi-php74]
name=Remi's PHP 7.4 RPM repository for Enterprise Linux 7 - $basearch
baseurl=http://rpms.remirepo.net/enterprise/7/php74/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

После чего останется удалить php8:

dnf remove php php-common

И установить взамен php 7.4:

dnf install -y php74-php php74-php-gd php74-php-fpm php74-php-pdo php74-php-json php74-php-imap php74-php-intl php74-php-json php74-php-soap php74-php-bcmath php74-php-xmlrpc php74-php-mysqlnd php74-php-mbstring php74-php-zip
dnf install php74-php-fpm
systemctl enable php74-php-fpm
systemctl start php74-php-fpm
systemctl restart httpd

После чего можно увидеть результат:

установка PHP 7.4 на RedOS 8.0
установка PHP 7.4 на RedOS 8.0

Установка OpenSSH из исходных кодов на RedOS

Задача: необходимо обновить существующую установку демона sshd на ОС RedOS (установка sshd из исходников).

Решение:

Подготавливаю необходимый инструментарий и окружение:

dnf install libtool svn expat-devel pcre pcre-devel openssl-devel -y
dnf install zlib-devel
dnf install pam-devel
dnf install libselinux-devel

Скачиваю на сайте https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/ необходимую версию sshd, распаковываем её в папку и переходим в неё:

tar -xzf openssh-9.8p1.tar.gz
cd openssh-9.8p1

Конфигурируем, cобираем, устанавливаем:

./configure --with-md5-passwords --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh --with-pam --with-selinux
make
make install

После установки нужно перестартовать демон и посмотреть версию sshd:

service sshd restart
ssh -V
установка sshd из исходников

Продвинутая отправка почты из консоли

Есть множество статей как отправить почту из консоли терминала Linux. Но в основной своей массе, это всё касается уже настроенного почтового сервера. А если нужно отправить почту используя настройки SMTP с авторизацией, указанием кодировки и вложением в виде файла? Их есть у меня (с). Ниже пример:

echo "Test text" | mail -e 'set content_type=text/html' -v -S sendcharsets=utf-8,iso-8859-1 -s "Результат тестирование" -S smtp="асываo.ru:587" -S ssl-verify=ignore -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user="vlg1-Noreply@interrao.ru" -S smtp-auth-password='ываывываы' -S from=noreply@ывывсывс.ru ывсывсыв@сывасывсыв.ru </var/tmp/res.html

Этот пример вышлет письмо в кодировке UTF-8, со вложенным файлом res.html. Авторизация по логину-паролю, с шифрованием start SSL.

как отправить почту из консоли терминала Linux

Другие статьи на эту тему тут

SSL certificate problem при клонировании git

При клонировании при помощи git репозитария, возникла ошибка «SSL certificate problem». Обычно это означает что корневой сертификат не является доверенным. В моём случае, всё хорошо, просто тов. Касперский лезет туда куда не нужно бы лезть — а именно для того чтобы перехватывать трафик пропускает весь трафик на порту 433 через себя, подсовывая свой корневой сертификат. Отключить сиё в виду определенных причин я не могу, потоэтому придётся научить git игнорировать ошибки проверки сертификата. Сделать это можно двумя способами: длинным и коротким:

git config --global http.sslVerify false

Ну а далее, как обычно:

git clone https://git.xn--укацукацук.xn--p1ai/donpadlo/3dmodels.git

Git чуть ругнётся, но клон сделает:

SSL certificate problem

Еще кое-что о git можно почитать тут

1 5 6 7 8 9 59