Мар 222016
 

Термопринтер Через COM Linux, Unix, Debian, Ubuntu, CentOS

Первоначально, надо, что бы Ваш Unix определил COM порт к которому мы подключили принтер.

Проверить можно это командой:

lsusb
ls /dev

Внимательно читаем документация к принтеру, и там должны быть похожие команды.

После пытаемся отправлять текст:

echo -ne "Проверяем как же работает текстовка\n" > /dev/ttyUSB0

Частичная обрезка:

echo -ne $'\x1B\x6D' > /dev/ttyUSB0

Полная обрезка:

echo -ne $'\x1B\x69' > /dev/ttyUSB0

Остальные команды смотрите в документации, они вводятся аналогично.

Мар 192016
 

Установка DKIM в ISPmanager ( Debian, Ubuntu )

Добрый день.

Появилась такая проблема — письма отправленные сервера попадают в спам. По большей части проблема была в некорректной SPF и PTR записях (сделанных не мной). Но я решил дополнить еще и DKIM записью.

Вот краткая заметка, как я это делал.

/usr/local/ispmgr/sbin/pkgctl -D cache
killall -9 ispmgr

1. Заходим в панель управления сервером и переходи на вкладку «Возможности», устанавливаем «OpenDKIM — фильтр DKIM». Если не получается через панель, устанавливаем вручную:
Debian/Ubuntu:

# sudo apt-get install opendkim

Для Debian/Ubuntu необходимо установить дополнительный пакет:

# sudo apt-get install opendkim-tools

Centos/RH:

# yum install opendkim

2. Генерируем этот самый DKIM ключ и сертификат:
Debian/Ubuntu:

# cd /etc/exim4/ssl/
# /usr/bin/opendkim-genkey -D /etc/exim4/ssl -d domain.com -s dkim -r

Centos/RH:

# cd /etc/exim/ssl
# opendkim-genkey -D /etc/exim/ssl -d domain.com -s dkim -r

где domain.com — это ваш домен.

3. Перезагрузим exim:

# sudo /etc/init.d/exim4 restart/

4. Заходим опять в панель управления сервером, на вкладке «Почтовые домены» выбираем нужный домен и жмем кнопку «Изменить» и ставим галочку «Включить DKIM».

Теперь радуемся, что наши письма подписаны и с меньшей вероятностью попадут в спам листы популярных почтовых служб.

Фев 082015
 

Дополнительный ip для интерфейса (ifconfig alias)

Добавляем несколько ip адресов в разный Unix системах.

FreeBSD

Установка адреса алиас через интерфейс:
ifconfig fxp0 alias 192.168.111.110
Удалить существующий алиас с интерфейса:
ifconfig fxp0 -alias 192.168.111.110
Установка алиаса при загрузки системы (rc.conf)
ifconfig_em0_alias0="inet 192.168.111.110"

Debian/Ubuntu

Прописываем алиас на интерфейс (eth0 — оригинальный, eth0:0, eth0:1 — дополнителные)
ifconfig eth0:0 192.168.111.110 up
Установка алиаса при загрузке системы (/etc/network/interfaces)

auto eth0:0
iface eth0:0 inet static
name Ethernet alias LAN card
address 192.168.1.11
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0

auto eth0:1
iface eth0:1 inet static
name Ethernet alias LAN card
address 192.168.10.11
netmask 255.255.255.0
broadcast 192.168.10.255
network 192.168.10.0
Удалить существующий алиас с интерфейса:
ifconfig eth0:0 down
Авг 192014
 

Потратил на чтение документации достаточно времени, заставляя Samba работать с символическими ссылками. Предлагаю Вам свое решение.

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

sudo nano /etc/samba/smb.conf

В начале секции [global] пишем.

unix extensions = no
wide links = yes
follow symlinks = yes

Не забываем перезагрузить демон:

service smbd restart
/etc/init.d/samba restart

Данное решение очень удобно если Вам надо работать с файлами в разных частях системы.
Не забывайте про безопасность, она очень важна в системе.

Июл 162014
 

Решение проблемы с обрезанными массивами в PHP

 

Решил написать сегодня небольшую, но очень важную статью об параметрах которые находятся в PHP:

post_max_size = 512M

Максимально допустимый размер данных, отправляемых через методом POST. Этот параметр влияет на объем передаваемых данных методом POST, так же важно учитывать его при реализации загрузки файлов через скрипты, в частности на размер файла эта директива и влияет. По умолчанию данный параметр стоит 8Мб.

post_max_vars = 2000

Если про post_max_size все хорошо описано в мануале и он есть по умолчанию в конфигурации php, то про параметр post_max_vars глухая тишина. Так что же это такой за параметр. Post_max_vars указывает интерпретатору сколько будет обрабатываться строк в POST запросе, ограничение стоит по умолчанию 200 строк.
Для крупных проектов, особенно реализованных на таких тяжеловесах как Битрикс это довольно мало.
Поэтому, если вы столкнулись с проблемой, когда при сохранении данных вы получается обрезанный POST массив или массив в котором только часть передаваемых строк, значит вам нужно не искать ошибку в вашем скрипте, а менять параметры на сервере. Если такой возможности нет, значит надо переделывать скрипт так, что бы он не превышал лимитов.

max_input_vars = 2000

Сколько входных переменных может быть принято в одном запросе (ограничение накладывается на каждую из глобальных переменных $_GET, $_POST и $_COOKIE отдельно). Использование этой директивы снижает вероятность сбоев в случае атак с использованием хеш-коллизий. Если входных переменных больше, чем задано директивой, выбрасывается предупреждение E_WARNING, и все последующие переменные в запросе игнорируются. Это ограничение применяется к каждому уровню вложенности входного многомерного массива.
Ограничение стоит по умолчанию 200 строк.

Поменяем в php.ini.
Параметр post_max_size уже там указан, и достаточно найти его поиском и поменять, тогда как post_max_vars придется дописать, например под post_max_size, с max_input_vars мы поступим таким же образом.