Супер дешевые VDS
Появился новый промо-тариф за 1 евро, на котором доступен мой образ vestacp-multiphp. А также новый шаблон Debian-10-HestiaCP с версиями php от 5.6 до 8.0. Заказать можно по ссылке. Количество ограничено.
Появился новый промо-тариф за 1 евро, на котором доступен мой образ vestacp-multiphp. А также новый шаблон Debian-10-HestiaCP с версиями php от 5.6 до 8.0. Заказать можно по ссылке. Количество ограничено.
При прошивке через esphome датчик aht10 измеряет показания только при старте платы, дальнейшие значения температуры и влажности не меняются. Глюк давний, но исправлять его ни кто не спешит. Единственный выход сейчас — костыльное решение проблемы. Нужно убедить esp что она получила неверные значения и передергивала датчик, как при ошибке.
Нужно найти файл с кодом библиотеки. У меня он лежит в
/.local/lib/python3.7/site-packages/esphome/components/aht10/aht10.cpp
В нем меняем
static const uint8_t AHT10_DEFAULT_DELAY = 8; // ms, for calibration and temperature measurement
static const uint8_t AHT10_HUMIDITY_DELAY = 40; // ms
Вместо 5 и 30 мс по умолчанию
И все «ESP_LOGVV» меняем на «ESP_LOGD»
Теперь раз в 60 секунд датчик будет полностью передергиваться
[D][sensor:092]: 'AHT10 Temperature': Sending state -7.03297 °C with 2 decimals of accuracy
[D][sensor:092]: 'AHT10 Humidity': Sending state 85.10036 % with 2 decimals of accuracy
[D][aht10:062]: Attemps 0 at 1435623
[D][aht10:073]: ATH10 Unrealistic humidity (0x0), retrying...
[D][aht10:062]: Attemps 1 at 1435670
[D][aht10:066]: AHT10 is busy, waiting...
[D][aht10:062]: Attemps 2 at 1435714
[D][aht10:082]: Answer at 1435757
[D][sensor:092]: 'AHT10 Temperature': Sending state -7.02972 °C with 2 decimals of accuracy
[D][sensor:092]: 'AHT10 Humidity': Sending state 87.78839 % with 2 decimals of accuracy
Error: PTR record domain.net should be a fully qualified domain name (FQDN)
В файле /usr/local/vesta/func/domain.sh находим
if [ $t = 'CNAME' ]; then
И перед этим вписываем
if [ $t = 'PTR' ]; then
tree_length=2
fi
Принтер древний, современными ОСями не поддерживается. Соберем драйвер 2004 года из сорцев.
Сам драйвер capt-0.1.tar.gz
Распаковываем
# tar xzf capt-0.1.tar.gz
Открываем Makefile любым текстовым редактором и в опции gcc добавляем -std=gnu89
Далее
# make
# make install
# service cups restart
Далее добавляем принтер в систему через GUI. Драйвер LBP-810 появится там в списке.
В свойствах принтера обязательно меняем URI принтера на
file:/dev/null
В /opt/php73/ у нас собран php. Нужно в него добавить memcache и memcached
Скачиваем сорцы из pecl
/opt/php73/bin/pecl download memcached
/opt/php73/bin/pecl download memcache
Установка memcached
Для установки memcached нам потребуется libmemcached. Ствим из сорцев в отдельный каталог
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -xzf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure --prefix=/opt/libmemcached
make
make install
Распаковываем сорцы и собираем модуль memcached
tar zxvf memcached-3.1.5.tgz
cd memcached-3.1.5
./configure --with-libmemcached-dir=/opt/libmemcached --with-php-config=/opt/php73/bin/php-config
make
Если все отработало без ошибок, то в каталоге modules появится memcached.so. Копируем его и добавляем в php.ini
extension = /opt/php73/lib/php/extensions/no-debug-non-zts-20180731/memcached.so
Установка memcache
Распаковываем и собираем
tar -xzf memcache-4.0.5.2.tgz
cd memcache-4.0.5.2
/opt/php73/bin/phpize
./configure --with-php-config=/opt/php73/bin/php-config
make
Если все отработало без ошибок, то в каталоге modules появится memcache.so. Копируем его и добавляем в php.ini
extension = /opt/php73/lib/php/extensions/no-debug-non-zts-20180731/memcache.so
P.S Если получаем ошибку Autoconf version 2.68 or higher is required, то соберем ещё autoconf
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
tar xzf autoconf-2.68.tar.gz
cd autoconf-2.68
./configure --prefix=/opt/autoconf
make
make install
Сбекапим бинарники которые устанавливались из репозитория, и создадим симлинки
mv /usr/bin/autoconf /usr/bin/autoconf.bak
ln -s /opt/autoconf/bin/autoconf /usr/bin/autoconf
mv /usr/bin/autom4te /usr/bin/autom4te.bak
ln -s /opt/autoconf/bin/autom4te /usr/bin/autom4te
Пол планеты сидит на карантине, из-за этого возросла нагрузка на магистральные узлы связи, поэтому сейчас правильным решением будет размещать свои проекты на территории РФ.
Виртуальные серверы в РФ по выгодным ценам и с быстрой активацией можно приобрести по этой ссылке.
На них также доступен мой шаблон vestacp-multiphp, в котором доступен выбор версии php от 5.3 до 7.3. Указывайте в комментариях к заказу vestacp-multiphp.
Скидка на первый платеж по промокоду covid-19 — 50%!!!!! на виртуальные и выделенные серверы в России.
P.S. Сидите дома. Не болейте. ^^
Пример configure
./configure --prefix=/opt/php73 --with-config-file-path=/etc --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=mysqlnd --with-pdo-mysql --with-pdo-sqlite --enable-calendar --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-bcmath --with-bz2 --enable-ctype --enable-shmop --enable-soap --enable-mbstring --enable-soap --enable-sockets --enable-wddx --enable-exif --enable-ftp --enable-pdo --enable-pcntl --enable-mbregex --with-gettext --with-iconv --with-mhash --with-gd --with-curl --with-libxml-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-zlib --without-libzip --enable-mbstring --with-xsl --with-openssl --enable-ftp --enable-exif --enable-cgi --enable-zip --with-readline --enable-simplexml --enable-intl --with-pcre-regex=/opt/pcre2 --with-config-file-scan-dir=/opt/php73/etc
Для его успешного выполнения ставим devel пакеты на основе получаемых ошибок.
Pcre2 собираем из исходников, т.к нужной версии в репах centos 6 нет.
# wget ftp://ftp.pcre.org/pub/pcre/pcre2-10.30.tar.gz
# tar -xf pcre2-10.30.tar.gz
# cd pcre2-10.30
# ./configure --prefix=/opt/pcre2 \
--docdir=/usr/share/doc/pcre2-10.30 \
--enable-unicode \
--enable-pcre2-16 \
--enable-pcre2-32 \
--enable-pcre2grep-libz \
--enable-pcre2grep-libbz2 \
--enable-pcre2test-libreadline \
--disable-static
# make
# make install
После успешного configure для php делаем make и make install
UPD: Если у вас в wordpress не отправляется почта через контактную форму функцией mail(), то pcre2 качаем версии 10.33.
На наших выделенных серверах и VDS теперь доступен шаблон с VestaCP и версиями php от 5.3 до 7.3. Установка через техподдержку.
Проходите по ссылке или кликайте на баннер вверху страницы, в комментариях к заказу напишите что вам нужен шаблон с vestacp-multiphp.
Нужно примонтировать live iso образ на сервере. Найти в нем файлы initrd, vmlinuz и squashfs. Скопировать их в каталог PXE и прописать в pxelinux.cfg/default. В debian-10-live у меня получилось вот так.
label debian-live
menu label debian-live
kernel http://192.168.0.1/images/live/vmlinuz-4.19.0-5-amd64
append initrd=http://192.168.0.1/images/live/initrd.img-4.19.0-5-amd64 boot=live fetch=http://192.168.0.1/images/live/filesystem.squashfs root=/dev/ram0
В конфиг dnsmasq добавляем
dhcp-option-force=66,192.168.0.1 # ip сервера
dhcp-option-force=67,gpxelinux.0 # загрузчик
Перезапускаем dnsmasq
service dnsmasq restart
Создаем каталог для pxe
mkdir /usr/local/pxe
mkdir /usr/local/pxe/pxelinux.cfg
Устанавливаем tftp
pkg install tftp-hpa
В /etc/inetd.conf добавляем
tftp dgram udp wait root /usr/local/libexec/in.tftpd in.tftpd -p -s /usr/local/pxe
Вписываем
echo 'inetd_enable="YES"' >> /etc/rc.conf
Запускаем inetd
/etc/rc.d/inetd start
Скачиваем и распаковываем syslinux
fetch http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.05.tar.gz
tar -xf syslinux-4.05.tar.gz
Копируем файлы
cd syslinux-4.05
cp gpxe/gpxelinux.0 /usr/local/pxe/
cp com32/menu/menu.c32 /usr/local/pxe/
cp com32/menu/vesamenu.c32 /usr/local/pxe/
cp com32/modules/reboot.c32 /usr/local/pxe/
cp com32/modules/chain.c32 /usr/local/pxe/
cp memdisk/memdisk /usr/local/pxe/
Образы будем грузить по http, т.к tftp очень медленный. Ставим nginx.
pkg install nginx
Создаем каталог с образами и симлинк на него в nginx
mkdir /usr/local/pxe/images/
ln -s /usr/local/pxe/images/ /usr/local/www/nginx/images
Вписываем
echo 'nginx_enable="YES"' >> /etc/rc.conf
И стартуем
service nginx start
Заливаем наши образы в /usr/local/pxe/images/
В файле /usr/local/pxe/pxelinux.cfg/default создаем конфиг меню с нашими образами. У меня получился такой
ui menu.c32
menu title PXE Boot Menu
label boothdd
menu label Boot from Hard Drive
localboot 0
label memtest
menu label memtest
kernel memdisk
initrd http://192.168.0.1/images/Memtest86-4.3.7.iso
append iso raw
label mfsbsd
menu label mfsbsd
kernel memdisk
initrd http://192.168.0.1/images/mfsbsd-12.0-RELEASE-amd64.iso
append iso raw
label debian-10
menu label debian-10
kernel http://192.168.0.1/images/debian10/linux
append vga=normal initrd=http://192.168.0.1/images/debian10/initrd.gz --
label rescue
menu label rescue
kernel http://192.168.0.1/images/debian10/linux
append vga=normal initrd=http://192.168.0.1/images/debian10/initrd.gz rescue/enable=true --
linux и initrd.gz для установщика debian можно взять тут
Теперь можно пробовать грузится с PXE, если все сделали правильно то появится меню с выбором загружаемого образа.