Install php-mongodb for PHP 7.3 on CentOS 7

yum install -y php73-php-devel php73-php-pear
sudo /opt/remi/php73/root/usr/bin/pecl install mongodb
cp /opt/remi/php73/root/usr/lib64/php/modules/mongodb.so /usr/lib64/php/modules/
chmod +x /usr/lib64/php/modules/mongodb.so
echo extension=mongodb.so > /etc/php.d/20-mongodb.ini

UPD. Альтернативный вариант:

yum install --enablerepo=remi,remi=php73 install php-pear php-devel
sudo pecl install mongodb
echo extension=mongodb > /etc/php.d/30-mongodb.ini

===
Перепечатка материалов блога разрешается с обязательной ссылкой на blog.coolsoftware.ru

Mikrotik Multicast

У роутера MikroTik проявилась особенность: когда комп подключен в сеть по Wi-Fi, mDNS то работает, то не работает. Т.е. avahi-resolve то резолвит имя подключенного в той же сетке Raspberry Pi с установленным avahi, то нет. Сложилось впечатление, что теряются пакеты. В итоге выяснилось, что так оно и есть. Проблема решается включением Multicast Helper = “full” в настройках интерфейса wlan:

===
Перепечатка материалов блога разрешается с обязательной ссылкой на blog.coolsoftware.ru

Howto start avahi-daemon on WSL2

~$ sudo service dbus start
 * Starting system message bus dbus                              [ OK ]
~$ sudo service avahi-daemon start
 * Starting Avahi mDNS/DNS-SD Daemon avahi-daemon                [ OK ]

===
Перепечатка материалов блога разрешается с обязательной ссылкой на blog.coolsoftware.ru

Музыка

===
Перепечатка материалов блога разрешается с обязательной ссылкой на blog.coolsoftware.ru

Run minidlna after mount external usb drive on Raspberry Pi

Предполагаю, что монтируется диск с UUID=a1234567 в /mnt/hdd1. Т.е. соответствующая строка в /etc/fstab выглядит так:

UUID=a1234567    /mnt/hdd1       ext4    defaults    0       0

Для получения UUID диска можно воспользоваться командой: sudo blkid

1. Удаляем (или комментируем) соотв. строку в fstab.

2. Создаем файл /etc/systemd/system/mnt-hdd1.mount со следующим содержанием:

[Unit]
Description=Mount HDD1
[Mount]
What=/dev/disk/by-uuid/a1234567
Where=/mnt/hdd1
Type=ext4
Options=defaults
[Install]
WantedBy=multi-user.target

3. Разрешаем сервис mnt-hdd1.mount:

sudo systemctl enable mnt-hdd1.mount

4. Проверяем статус:

sudo systemctl status mnt-hdd1.mount

5. Если не запущен, то запускаем:

sudo systemctl start mnt-hdd1.mount

6 Создаем файл /etc/systemd/system/minidlna.service. Добавляем в него следующие строки:

[Unit]
Description=Minidlna Daemon
After=mnt-hdd1.mount
Wants=mnt-hdd1.mount
[Service]
Type=forking
# Uncomment the line below for 60 seconds delay.
# ExecStartPre=/bin/sleep 60
ExecStart=/etc/init.d/minidlna start
[Install]
WantedBy=multi-user.target

7. Разрешаем сервис minidlna.service:

sudo systemctl enable minidlna

8. Перегружаемся, проверяем:

df -h
sudo systemctl status minidlna

===
Перепечатка материалов блога разрешается с обязательной ссылкой на blog.coolsoftware.ru

vsftpd: 530 Login incorrect

Аккаунт для доступа по ftp лучше (imho) делать без доступа к шелу:

useradd ftpuser -s /sbin/nologin

или, если пользователь уже есть:

usermod -s /sbin/nologin ftpuser

Но при этом получаем ошибку: 530 Login incorrect

Причина: в соответствии с настройками в /etc/pam.d/vsftpd пользователь должен иметь шел, перечисленный в /etc/shells. /sbin/nologin, разумеется, в /etc/shells не содержится.

Фикс: комментируем следующую строчку в /etc/pam.d/vsftpd:

#auth       required    pam_shells.so

===
Перепечатка материалов блога разрешается с обязательной ссылкой на blog.coolsoftware.ru