понедельник, 24 января 2022 г.

Rocky Linux 8. Установка сервера FTP VSFTPD

Установка Vsftpd из пакетов
# dnf install vsftpd
# systemctl enable vsftpd
# systemctl start vsftpd

Бэкапируем файл конфигурации:
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
#nano /etc/vsftpd/vsftpd.conf

Пример конфигурации для индивидуального соединения пользователей Linux к своим каталогам FTP
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
ls_recurse_enable=YES
pasv_min_port=40000
pasv_max_port=40001

 

Перезапускаем сервис для изменения настроек
# systemctl restart vsftpd
 

Добавляем пользователя Linux juniper с паролем xxxxx
# useradd juniper
# passwd juniper

Добавляем пользователя в список пользователей FTP
# echo "juniper" | sudo tee -a /etc/vsftpd.userlist
Создаем каталог для файлов FTP
# mkdir /home/juniper/ftp
# chown -R juniper /home/juniper/ftp
# chmod -R 750 /home/juniper/ftp
# systemctl restart vsftpd

 

Теперь к серверу можно подключиться по протоколу FTP


четверг, 20 января 2022 г.

Установка Zabbix 5.0 в Rocky Linux 8

Перед установкой Zabbix узнаем актуальную стабильную поддерживаемую версию (LTS) продукта. https://www.zabbix.com/ru/manuals
В настоящий момент - это версия 5.0
 


Скачиваем репозитарий и устанавливаем Zabbix:
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent

Производим создание базы данных, необходимой для работы Zabbix. Создаем так же пользователя zabbix с паролем password, который будет работать в базой zabbix.
# mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;

Создаем схему базы данных
# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

Задать пароль доступа к базе для zabbix в файле конфигурации zabbix
# nano /etc/zabbix/zabbix_server.conf
DBPassword=password

Установить временную зону в настройках PHP для веб-интерфейса zabbix
# nano /etc/php-fpm.d/zabbix.conf
php_value[date.timezone] = Europe/Moscow

и дополнительно
php_value[upload_max_filesize] = 20M
Выставляем временную зону так же в основном файле php.ini
# nano /etc/php.ini
date.timezone = Europe/Moscow

Дополнительно меняем для загрузки больших файлов шаблонов в Zabbix
upload_max_filesize = 20M
post_max_size = 16M
max_execution_time = 300
max_input_time = 300


Запуск процессов Zabbix сервера и агента
# systemctl start zabbix-server zabbix-agent php-fpm
# systemctl enable zabbix-server zabbix-agent php-fpm


Для увеличения быстродействия сервера Zabbix:
В файле конфигурации /etc/zabbix/zabbix_server.conf изменяем следующие параметры
# nano /etc/zabbix/zabbix_server.conf
StartPingers=40 #(по умолчанию 1)
CacheSize=1G #(по умолчанию 8M)
StartPollersUnreachable=10 #(по умолчанию 1)
MaxHousekeeperDelete=10000 #(по умолчанию 5000)
Timeout=20 #(по умолчанию 3 или 4)


Отключаем логи доступа к серверу apache
# nano /etc/httpd/conf/httpd.conf
Комментируем строку
CustomLog "logs/access_log" combined

Для мониторинга разных странных китайских железок необходимо, чтобы флаг DF (флаг фрагментации) в IP пакете не ставился. В linux этот флаг ставится по умолчанию. Необходимо запретить установку флага DF:
В файл /etc/sysctl.d/99-sysctl.conf нужно внести строку
net.ipv4.ip_no_pmtu_disc = 1

Корректируем настройки утилиты fping, которую использует Zabbix в своей работе:
# chown root:zabbix /usr/sbin/fping
# chmod ug+s /usr/sbin/fping


Рестартуем zabbix, для применения настроек:
# systemctl restart zabbix-server

Для увеличения производительности MariaDB вставляем в раздел [mysqld] файла /etc/my.cnf.d/mariadb-server.cnf следующие переменные:
symbolic-links=0
skip-name-resolve
max_connections=300
innodb_buffer_pool_size = 2G

# Переменная равная количеству ядер процессора в системе:
innodb_thread_concurrency = 8
Рестартуем Apache:
# systemctl restart httpd

Подключиться к Zabbix по web интерфейсу: http://<IP-адрес>/zabbix

Нажимаем Next step
На данном этапе никаких ошибок быть не должно. Нажимаем Next step.
Тут заполняем поле Password паролем, который установили ранее. Нажимаем Next step.
Просто нажимаем Next Step

 Параметры доступа по умолчанию - Admin/zabbix






 





вторник, 18 января 2022 г.

Rocky Linux 8. Установка SNMP

Установка SNMP выполняется так:
# yum install net-snmp net-snmp-libs net-snmp-utils
# systemctl enable snmpd
# systemctl start snmpd

 

Редактируем конфигурационный файл:

# nano /etc/snmp/snmpd.conf
Строки по умолчанию комментируем
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)

и вписываем что-то свое, например:
syslocation Samara
syscontact Korolev Vyacheslav

Рестартуем сервис:
# systemctl reload snmpd
Проверяем работу запросов snmp
# snmpwalk -v 2c -c public localhost system
Среди прочего должны быть строки, которые были определены выше:
SNMPv2-MIB::sysContact.0 = STRING: Korolev Vyacheslav
SNMPv2-MIB::sysLocation.0 = STRING: Samara

Rocky Linux 8. WEB-дашборд Cockpit

Дашборд у Rocky Linux уже предустановлен.
Для его активации нужно выполнить


# systemctl enable –now cockpit.socket


После этого можно обратиться к серверу так:


https://<IP адрес>:9090

 
Затем ввести логин и пароль и получить консоль просмотра и редактирования основной информации сервера





понедельник, 17 января 2022 г.

Установка MariaDB, Apache, PHP7 и PHPMYADMIN на Rocky Linux

1. Узнаем версию дистрибутива:
# cat /etc/*release
Rocky Linux release 8.5 (Green Obsidian)
NAME="Rocky Linux"
VERSION="8.5 (Green Obsidian)"

2.    Устанавливаем базовые пакеты:
# yum install nano wget git net-tools unzip telnet mtr
# yum -y install epel-release

3.    Выключаем SELINUX.
# nano /etc/sysconfig/selinux
Строка, которая не должна быть закомментирована
SELINUX=disabled
4.    Добавляем своего пользователя и добавляем его в sudo
# adduser  korolev
# passwd korolev
# usermod -aG wheel korolev

5.    Устанавливаем автоматическое обновление, касающееся безопасности системы
# nano /etc/dnf/automatic.conf
upgrade_type = security
download_updates = yes
apply_updates = yes

6.    Отключаем firewall
# systemctl disable firewalld
# systemctl stop firewalld

7.    Перезагружаемся:
# reboot

8.    Установка MariaDB.
# yum install mariadb
# yum install mariadb-server

Добавляем в автозапуск и запускаем сервис:
# systemctl enable mariadb.service
# systemctl start mysqld.service

    Задаем пароль root для сервера MySQL
# mysql_secure_installation
    Enter current password for root (enter for none): <просто нажимаем Enter>
    Set root password? [Y/n] Y
    New password: <вводим пароль>
    Re-enter new password: <вводим пароль еще раз>
    Remove anonymous users? [Y/n] Y
    Disallow root login remotely? [Y/n] Y
    Remove test database and access to it? [Y/n] Y
    Reload privilege tables now? [Y/n] Y


9.    Установка Web-сервера APACHE
# yum install httpd
Задание имени серверу
# nano /etc/httpd/conf/httpd.conf
Имя сервера прописывается в директиве ServerName
ServerName zabbix-n.svttk.ru:80
Добавляем сервер Apache в скрипт автозапуска и запускам сервис
# systemctl enable httpd.service
# systemctl start  httpd.service

Проверяем работу Apache обратившись к серверу через http и убеждаемся, что через браузер сервер отвечает (http://<IP-сервера>)
Логи у Apache будут в каталоге /etc/httpd/logs/ и /var/log/httpd/

10.    Устанавка PHP (7 версия)
# yum install php
# yum install php-gd php-odbc php-mysqlnd php-mysqli php-bcmath php-ctype php-mbstring php-json php-xml

Перезапускаем web-сервер
# systemctl restart httpd.service
Создаем файл для проверки работы PHP
# nano /var/www/html/info.php
вписываем туда
<?php phpinfo(); ?>
Теперь при запросе страницы Info.php (http://<IP-сервера>/info.php ) можно увидеть информацию о модуле PHP

11.    Установка PHPMYADMIN
# DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
# URL="$(echo $DATA | cut -d ' ' -f 3)"
# VER="$(echo $DATA | cut -d ' ' -f 1)"
# curl -o phpMyAdmin-${VER}-all-languages.tar.gz https://files.phpmyadmin.net/phpMyAdmin/${VER}/phpMyAdmin-${VER}-all-languages.tar.gz

В текущую папку должен скачаться файл-архив с последней версией PhpMyAdmin
Например, phpMyAdmin-5.1.1-all-languages.tar.gz
Распаковываем архив
# tar xvf phpMyAdmin-5.1.1-all-languages.tar.gz
# rm phpMyAdmin-*.tar.gz

Перемещаем весь архив в папку /usr/share/phpmyadmin
# mv phpMyAdmin-*/ /usr/share/phpmyadmin
# chown -R apache:apache /usr/share/phpmyadmin/

Создаем директорию для временных файлов phpmyadmin
# mkdir /usr/share/phpmyadmin/tmp
# chmod 777 /usr/share/phpmyadmin/tmp

Создаем файл конфигурации из типового:
# cp /usr/share/phpmyadmin/config.sample.inc.php  /usr/share/phpmyadmin/config.inc.php
Редактируем файл конфигурации:
# nano /usr/share/phpmyadmin/config.inc.php
В переменную $cfg['blowfish_secret'] необходимо вписать 32 символа, которые будут использоваться для шифрования пароля в cookies. Например
$cfg['blowfish_secret'] = 'YTRE137dfgsbvqewdsca6eblfjhsgdye';
Создаем базу данных для phpmyadmin:
# mysql < /usr/share/phpmyadmin/sql/create_tables.sql -u root -p
Добавляем конфигурацию Apache для phpmyadmin
# nano /etc/httpd/conf.d/phpmyadmin.conf


Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin/>
   AddDefaultCharset UTF-8
   <IfModule mod_authz_core.c>
     <RequireAny>
      Require all granted
     </RequireAny>
   </IfModule>
</Directory>

Перезапускаем сервер Apache
# systemctl restart httpd.service
Теперь к странице phpmyadmin можно обратиться так:
http://<IP-сервера>/phpmyadmin