Январь 11

Raspberry Pi OS locale

ошибка и не до конца оформленный перевод в консоли

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_GB.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

Лечится добавлением записи в файл

sudo nano /etc/default/locale
LC_CTYPE=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8 
LC_ALL=en_US.UTF-8

взято тут

Август 1

Настраиваем L2TP VPN-сервер на платформе Linux (Debian / Ubuntu) для подключение роутеров xiaomi

Как я вытягивал камеры с очень серого IP малой кровью

Инструкция

Для работы с IPsec мы будем использовать пакет strongSwan, установим его:

apt install strongswan

Затем откроем файл настроек /etc/ipsec.conf и добавим в его конец следующие две секции:

conn rw-base
fragmentation=yes
dpdaction=clear
dpdtimeout=90s
dpddelay=30s

conn l2tp-vpn
also=rw-base
ike=aes128-sha256-modp3072
esp=aes128-sha256-modp3072
leftsubnet=%dynamic[/1701]
rightsubnet=%dynamic
mark=%unique
leftauth=psk
rightauth=psk
type=transport
auto=add

Первая секция задает общие параметры: включает фрагментацию IKE и настраивает протокол обнаружения мертвых узлов (Dead Peer Detection, DPD), отвечающий за обнаружение неактивных клиентов. Вторая относится уже к L2TP-соединениям, указывая использовать транспортный режим IPsec, аутентификацию по общему ключу и задает используемые шифры. Приведенные значения являются рекомендуемыми и взяты из официальной документации strongSwan.

Общий ключ следует указать в файле /etc/ipsec.secrets, добавив в него следующую строку:

%any %any : PSK "mySharedKey"

Где mySharedKey — общий ключ, так как от него зависит безопасность вашей VPN-сети мы рекомендуем использовать в качестве ключа случайно сгенерированную строку из букв, цифр и спецсимволов. Для этого можно воспользоваться командой:

openssl rand -base64 18

Результатом ее выполнения станет случайная строка длинной в 18 символов.

l2tp-vpn-server-debian-ubuntu-001.pngПосле внесения указанных настроек перезапустим службу:

systemctl restart strongswan

В Ubuntu имя службы несколько иное — strongswan-starter, поэтому команда будет иметь вид:

systemctl restart strongswan-starter

Настраиваем L2TP

Для реализации функций L2TP-сервера предназначен пакет xl2tpd, для его установки выполните:

apt install xl2tpd

Затем откройте файл настроек /etc/xl2tpd/xl2tpd.conf, раскомментируйте и приведите к следующему виду опции:

[global]
port = 1701
auth file = /etc/ppp/chap-secrets
access control = no
ipsec saref = yes
force userspace = yes

[lns default]
exclusive = no
ip range = 10.2.2.100-10.2.2.199
hidden bit = no
local ip = 10.2.2.1
length bit = yes
require authentication = yes
name = l2tp-vpn
pppoptfile = /etc/ppp/options.xl2tpd
flow bit = yes

Большая часть опций относится к настройке протокола L2TP и требует понимания его работы, поэтому мы на них останавливаться не будем. Разберем те опции, которые имеют существенное значение. Параметр auth file указывает на файл с данными для аутентификации, а pppoptfile — набор опций для PPP-соединения, которое используется внутри L2TP-туннеля, name — имя сервера, которое будет использоваться для поиска аутентификационных данных в файле chap-secrets.

Опции local ip и ip range отвечают за локальный адрес сервера в VPN-сети и диапазон адресов для выдачи удаленным клиентам. Здесь можно использовать два подхода: выдавать клиентам адреса из диапазона локальной сети офиса и включить ProxyARP, в этом случае настраивать маршрутизацию на клиентах не требуется, они будут как-бы включены в общую сеть офиса на канальном уровне (L2), либо выдавать адреса из непересекающегося диапазона и использовать маршрутизацию. Автоматизировать создание маршрутов для Windows-клиентов можно с использованием PowerShell.

Для настройки PPP перейдем в /etc/ppp и скопируем стандартный файл настроек:

cd /etc/ppp
cp options options.xl2tpd

Затем открываем файл /etc/ppp/options.xl2tpd на редактирование и приводим к следующему виду. Опции перечислены в порядке их следования, нужно раскомментировать их и указать нужное значение, если опция отсутствует, то ее следует добавить в конце файла.

asyncmap 0
auth
crtscts
lock
hide-password
modem
mtu 1460
lcp-echo-interval 30
lcp-echo-failure 4
noipx
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
multilink
mppe-stateful

Если вы будете использовать ProxyARP то дополнительно раскомментируйте опцию:

proxyarp

Также для Windows-клиентов можно передать настройку DNS-серверов, для этого добавьте опции:

ms-dns 192.168.1.1
ms-dns 192.168.1.2

Это позволит настроить первичный и альтернативный DNS-сервера в системе.

Сохраним все внесенные изменения и перезапустим службу L2TP-сервера:

systemctl restart xl2tpd

Строку со следующим сообщением можно проигнорировать, на работу VPN-сервера она не влияет:

xl2tpd[843]: setsockopt recvref[30]: Protocol not available

Заключительным этапом настройки будет создание учетных записей для удаленных клиентов, для этого откроем файл /etc/ppp/chap-secrets и внесем следующую строку:

ivanov   l2tp-vpn   Pa$$word_1   *

Первым указываем логин, затем имя службы, оно должно совпадать с тем, которое мы указали в опции name в xl2tpd.conf, после него идет пароль и IP-адрес клиента, символ * обозначает что можно присвоить любой адрес из выбранного диапазона. Если же требуется выдать клиенту постоянный адрес, то его следует указать явно, и он не должен входить в динамический диапазон указанный в ip range, например:

petrov   l2tp-vpn   Pa$$word_1   10.2.2.99

Для доступа к L2TP-серверу следует разрешить в брандмауэре входящие подключения к портам 500 UDP, 1701 UDP и 4500 UDP.

И инструкция для переброски портов доступа в интернет клиента VPN через сервер VPN

nano /etc/ppp/ip-up добавляем

iptables -t nat -A POSTROUTING -s $5 -j MASQUERADE
iptables -A FORWARD -s $5 -j ACCEPT

nano /etc/ppp/ip-down добавляем

iptables -t nat -D POSTROUTING -s $5 -j MASQUERADE
iptables -D FORWARD -s $5 -j ACCEPT

добавлено 22.02.2024

все то же самое, но если вы хотите параллельно использовать pptp

apt install pptpd
sudo systemctl enable pptpd
sudo systemctl start pptpd
sudo systemctl status pptpd

/etc/ppp/chap-secrets и внесем следующую строку:

petrov1   pptp   Pa$$word_1   10.2.2.97

https://moron.1side.ru/lokalnye-seti/obedinenie-setej-s-pomoshhyu-vds-i-vpn-pptp.php
Ноябрь 10

xmlreader.so php70

ошибка при загрузке модуля

PHP Startup: Unable to load dynamic library '/opt/php70/lib/php/modules/xmlreader.so' - /opt/php70/lib/php/modules/xmlreader.so: undefined symbol: dom_node_class_entry in Unknown on line 0

вызвана сортировкой файлов загружаемых модулей

решается

xmlreader.ini

; configuration for php xml module
; priority=20
;extension=xmlreader.so

и

dom.ini

extension=dom.so
extension=xmlreader.so

Июль 15

debian 10 wkhtmltopdf qt

Он запускает Debian Stretch 9.2 64bit, и на 10 тоже

sudo apt update
    sudo apt install xfonts-75dpi xfonts-base gvfs colord glew-utils libvisual-0.4-plugins gstreamer1.0-tools opus-tools qt5-image-formats-plugins qtwayland5 qt5-qmltooling-plugins librsvg2-bin lm-sensors 
    sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.stretch_amd64.deb
    sudo dpkg -i wkhtmltox_0.12.5-1.stretch_amd64.deb
    sudo cp /usr/local/bin/wkhtmltopdf /usr/bin/
    sudo cp /usr/local/bin/wkhtmltoimage /usr/bin/
wkhtmltopdf -V
  wkhtmltopdf 0.12.5 (with patched qt)
Июнь 17

php version on debian 10 vestacp

ну для начала как запустить весту на Debian

curl -O http://c.myvestacp.com/vst-install-debian.sh

bash vst-install-debian.sh

далее несколько версий php краду ибо нечено

https://itblog.webdigg.org/163-how-to-install-multiple-php-versions-on-vestacp/

Tutorial is for Debian and Ubuntu.

First pre-required step for Debian 9 Strech:

apt-get update
apt install apt-transport-https ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list'

First pre-required step for Debian 8 Jessie:

apt-get update
apt install apt-transport-https ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ jessie main" > /etc/apt/sources.list.d/php.list'

First pre-required step for Ubuntu:

apt-get update
apt install apt-transport-https ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Then in your browser go to https://launchpad.net/~ondrej/+archive/ubuntu/php/
Under Adding this PPA to your system click Technical details about this PPA, select your Ubuntu version, and two lines that you get from field box below add to /etc/apt/sources.list.d/php.list

Add php repository

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

Second pre-required step for both Debian and Ubuntu:

apt-get update
a2enmod proxy_fcgi setenvif

For PHP 5.6

apt-get install php5.6-apcu php5.6-mbstring php5.6-bcmath php5.6-cli php5.6-curl php5.6-fpm php5.6-gd php5.6-intl php5.6-mcrypt php5.6-mysql php5.6-soap php5.6-xml php5.6-zip php5.6-memcache php5.6-memcached php5.6-zip
update-rc.d php5.6-fpm defaults
a2enconf php5.6-fpm
systemctl restart apache2
cp -r /etc/php/5.6/ /root/vst_install_backups/php5.6/
rm -f /etc/php/5.6/fpm/pool.d/*
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-56.stpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-56.stpl
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-56.tpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-56.tpl
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-56.sh -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-56.sh
chmod a+x /usr/local/vesta/data/templates/web/apache2/PHP-FPM-56.sh

For PHP 7.0

apt-get install php7.0-apcu php7.0-mbstring php7.0-bcmath php7.0-cli php7.0-curl php7.0-fpm php7.0-gd php7.0-intl php7.0-mcrypt php7.0-mysql php7.0-soap php7.0-xml php7.0-zip php7.0-memcache php7.0-memcached php7.0-zip
update-rc.d php7.0-fpm defaults
a2enconf php7.0-fpm
systemctl restart apache2
cp -r /etc/php/7.0/ /root/vst_install_backups/php7.0/
rm -f /etc/php/7.0/fpm/pool.d/*
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-70.stpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-70.stpl
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-70.tpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-70.tpl
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-70.sh -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-70.sh
chmod a+x /usr/local/vesta/data/templates/web/apache2/PHP-FPM-70.sh

For PHP 7.1

apt-get install php7.1-apcu php7.1-mbstring php7.1-bcmath php7.1-cli php7.1-curl php7.1-fpm php7.1-gd php7.1-intl php7.1-mcrypt php7.1-mysql php7.1-soap php7.1-xml php7.1-zip php7.1-memcache php7.1-memcached php7.1-zip
update-rc.d php7.1-fpm defaults
a2enconf php7.1-fpm
systemctl restart apache2
cp -r /etc/php/7.1/ /root/vst_install_backups/php7.1/
rm -f /etc/php/7.1/fpm/pool.d/*
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-71.stpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-71.stpl
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-71.tpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-71.tpl
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-71.sh -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-71.sh
chmod a+x /usr/local/vesta/data/templates/web/apache2/PHP-FPM-71.sh

For PHP 7.2

Some information

In latest version of VestaCP

Version: 0.9.8 (amd64) Release: 24
PHP 7.2 installed by default.
apt-get install php7.2-apcu php7.2-mbstring php7.2-bcmath php7.2-cli php7.2-curl php7.2-fpm php7.2-gd php7.2-intl php7.2-mysql php7.2-soap php7.2-xml php7.2-zip php7.2-memcache php7.2-memcached php7.2-zip
update-rc.d php7.2-fpm defaults
a2enconf php7.2-fpm
systemctl restart apache2
cp -r /etc/php/7.2/ /root/vst_install_backups/php7.2/
rm -f /etc/php/7.2/fpm/pool.d/*
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-72.stpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-72.stpl
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-72.tpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-72.tpl
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-72.sh -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-72.sh
chmod a+x /usr/local/vesta/data/templates/web/apache2/PHP-FPM-72.sh

For PHP 7.3

apt-get install php7.3-apcu php7.3-mbstring php7.3-bcmath php7.3-cli php7.3-curl php7.3-fpm php7.3-gd php7.3-intl php7.3-mysql php7.3-soap php7.3-xml php7.3-zip php7.3-memcache php7.3-memcached php7.3-zip
update-rc.d php7.3-fpm defaults
a2enconf php7.3-fpm
systemctl restart apache2
cp -r /etc/php/7.3/ /root/vst_install_backups/php7.3/
rm -f /etc/php/7.3/fpm/pool.d/*
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-73.stpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-73.stpl
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-73.tpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-73.tpl
wget http://dl.mycity.tech/vesta/php-fpm-tpl/PHP-FPM-73.sh -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-73.sh
chmod a+x /usr/local/vesta/data/templates/web/apache2/PHP-FPM-73.sh

php-fpm-73 failed to start issue

put file https://raw.githubusercontent.com/hestiacp/hestiacp/develop/install/deb/php-fpm/dummy.conf -> /etc/php/7.3/fpm/pool.d and restart php-fpm

UPDATE:

UPDATE

For PHP 7.4

apt-get install php7.4-apcu php7.4-mbstring php7.4-bcmath php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-intl php7.4-mysql php7.4-soap php7.4-xml php7.4-zip php7.4-memcache php7.4-memcached php7.4-zip
update-rc.d php7.4-fpm defaults
a2enconf php7.4-fpm
systemctl restart apache2
cp -r /etc/php/7.4/ /root/vst_install_backups/php7.4/
rm -f /etc/php/7.4/fpm/pool.d/*
wget https://github.com/t0rik/vesta-php-fpm-74/raw/master/PHP-FPM-74.stpl -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-74.stpl
wget https://raw.githubusercontent.com/t0rik/vesta-php-fpm-74/master/PHP-FPM-74.tpl
 -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-74.tpl
wget https://raw.githubusercontent.com/t0rik/vesta-php-fpm-74/master/PHP-FPM-74.sh -O /usr/local/vesta/data/templates/web/apache2/PHP-FPM-74.sh
chmod a+x /usr/local/vesta/data/templates/web/apache2/PHP-FPM-74.sh
Март 6

How to fix curl: (35) error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol

с переходом на новые стандарты ssl новые системы не поддерживают ssl 1.0 а некоторые старые машины никогда не обновятся до новых сертификатов потому понижаем минимальные требования в DEBIAN 10 например так

nano /usr/lib/ssl/openssl.conf

и меняем

MinProtocol = TLSv1.2

на 
MinProtocol = TLSv1.0

Февраль 5

MSSQL microsoft from debian

Итак пришло время выносить их систему в наш мир — 🙁

sqlcmd -S localhost -U [LOGIN] -P [PASWORD] -Q «BACKUP DATABASE [REALNAME_BD] TO DISK = N’/var/opt/mssql/data/[REALNAME_BD]_$(date +»»).bak’ WITH NOFORMAT, NOINIT, NAME = ‘[REALNAME_BD]’, SKIP, NOREWIND, NOUNLOAD, STATS = 10″

копии создаются и даже загружаются на винде

с Debian все сложнее иногда он хочет удалит старые файлы потому что винда есть винда и она очень сильно матерится на реальное имя файлов и базы а не на то ка мы ее назвали или переименовали

кроме всего прочего есть еще вот такой интересный случай

копию из венды нельзя залить восстановить в линуксе да вайлы и каталоги 🙂

нужно прописать полный путь

sqlcmd -S localhost -U [LOGIN] -P [PASWORD] -Q «RESTORE DATABASE [REALNAME_BD] FROM DISK = ‘/var/opt/mssql/data/[REALNAME_BD].bak’ WITH MOVE ‘[REALNAME_BD]’ TO ‘/var/opt/mssql/data/[REALNAME_BD].mdf’, MOVE ‘[REALNAME_BD]_log’ TO ‘/var/opt/mssql/data/[REALNAME_BD]_Log.ldf’

Июнь 30

www.sslforfree.com умер да зравствует free SSL

и так котортко https://www.sslforfree.com/ просит 50$ в месяц :))))))

пользовался им много лет в основном для бедныз заказчиков 🙂

итак
копируем

curl https://get.acme.sh | sh
source ~/.bashrc
cd .acme.sh/
acme.sh --issue -d domen.ru --webroot /var/www/www-root/data/www/domen.ru/

далее прописываете в крон

acme.sh --issue -d domen.ru --webroot /var/www/www-root/data/www/domen.ru/ --force

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

[Tue Jun 30 15:42:07 MSK 2020] Your cert is in /root/.acme.sh/domen.ru/domen.ru.cer
[Tue Jun 30 15:42:07 MSK 2020] Your cert key is in /root/.acme.sh/domen.ru/domen.ru.key
[Tue Jun 30 15:42:07 MSK 2020] The intermediate CA cert is in /root/.acme.sh/domen.ru/ca.cer
[Tue Jun 30 15:42:07 MSK 2020] And the full chain certs is there: /root/.acme.sh/domen.ru/fullchain.cer

Сентябрь 11

Работа с сокетами (check_socket): Fail

для проверки и исправления данной ошибки советуют прописать
в

nano /etc/hosts

127.0.0.1 domain

но у меня в ISPmanager Lite 5.213.0

нет ip этого адреса у домена и получается проверка на доступность дает ответ 200,
а проверка на сокеты 404
потому что 200 дает apache2 или ngnix главной страницы сервера, а не сам bitrix
потому прописать /etc/hosts нужно ваш ip на котором весит домен.
255.255.255.254 domain