Сообщения

Сообщения за 2015

Memcached socket + systemd + selinux + Bitrix

Изображение
Установка Установка и настройка на примере ОС Fedora с включенным SELinux. sudo dnf install php-pecl-memcached.x86_64 phpMemcachedAdmin.noarch memcached.x86_64 phpMemcachedAdmin нужен для мониторинга - не обязателен.
Для того, чтобы memcached стал доступен в настройках "композитного сайта" в Битриксе, надо установить менее продвинутую клиентскую библиотеку (без d в конце названия):
sudo dnf install php-pecl-memcache.x86_64 НастройкаВ некоторых источниках говорится, что если используется один сервер, то лучше настроить memcached через socket. Для использования memcached в качестве сокета на Linux с systemd и SELinux нужно проделать довольно многое. Исчерпывающей инструкции я не нашёл, поэтому предлагаю свой вариант.
Для начала скопируем системный сервис-файл в пользовательское пространство, где его можно безопасно править:
sudo cp /usr/lib/systemd/system/memcached.service /etc/systemd/system/memcached.service Переходим к редактированию. Например, в консоли с помощью редактор…

Canon LBP 2900B + Linux Mint 17

Изображение
Установка этого и многих других аналогичных лазерных принтеров Canon похожа на прохождение квеста. Но главное - это знать, что настроить его реально!
Дополнение от 16.01.2016.После публикации этой заметки, добрые люди мне скинули ссылку на статью Установка драйвера Canon CAPT для принтеров Canon LBP. В ней некий автор автоматизировал всё, что приведено в моей заметке и даже нечто большее. Так что, если вы не боитесь запускать чужие sh-скрипты, то это может сэкономить ваше время.
Для начала отправляемся на официальный сайт в поисках драйвера (т.к. в сам linux эти драйвера не включены). Да, сначала я поискал свою модель на http://www.openprinting.org/printer/Canon/Canon-LBP_2900B. Я нашёл только официально предлагаемый драйвер для своего принтера - "Драйвер принтера CAPT для Linux версии 2.70" на сайте Canon. После скачивания, распаковываем архив Linux_CAPT_PrinterDriver_V270_uk_EN.tar.gz и переходим в каталог с deb пакетами (Linux_CAPT_PrinterDriver_V270_uk_EN/64-bit_Driver/D…

Запуск скрипта php в старой версии PHP

В Fedora используется самое новое ПО. Но что делать, если разработчику нужно наладить работу скрипта для старой версии PHP? Можно применить doker.
1. Устанавливаем doker по инструкции http://docs.docker.com/engine/installation/fedora/, только yum заменяем на dnf (конфиг репозиториев всё ещё в названии содержит yum).
2. Отыскиваем подходящий контейнер. Например, для PHP 5.3 мне подошёл этот - https://hub.docker.com/r/tomsowerby/php-5.3/.
3. Запускаем скрипт, например так:
docker run -it --rm --net=host --name phpinfo -v "$PWD":/home/oleg/vhosts/site/www -w /home/oleg/vhosts/site/www tomsowerby/php-5.3:cli php info.php Результат отобразится на экране. Опция --net=home позволяет приложению получить доступ к localhost основной системы.

Fedora: установка KeePass2 + KeeFox

Изображение
О чём речьKeePass2 - программа для ведения базы паролей. Очень удобная - рекомендую. С ней вам не нужно будет записывать пароли на бумажках (и терять потом) или в блокнотиках. Всё будет систематизировано, автоматизировано и надёжно. А KeeFox - плагин для Firefox'а, который творит волшебство - отыскивает в вашей базе нужный пароль и предлагает к заполнению форм на сайтах.

Установка KeePass2 в Fedora Для установки достаточно в консоли ввести команду:
sudo dnf install keepass Будут также установлены необходимые зависимости.
Установка KeeFox Устанавливайте через штатный механизм установки дополнений в Firefox (Дополнения/Расширения/Поиск среди дополнений).
Настройка KeeFox В настройках нужно прописать путь к исполняемому файлу KeePass. В Fedora это:
/usr/lib/keepass
Настройка KeePass2 в Fedora Рекомендую сразу поставить плагин для автоматического создания бэкапов - DataBaseBackup. Создаёте каталог для плагинов KeePass:
sudo mkdir /usr/lib/keepass/plugins sudo chmod 744 /usr/lib/…

Bitrix24 API - разбор демо приложения третьего типа

Изображение
Вводная Пользователям CRM Bitrix24 зачастую хочется передавать накапливаемые в этой системе данные на какой-то сторонний ресурс для дальнейшей их обработки. Так, мне, например, понадобилось наладить экспорт закрытых сделок на сайт, который занимается учётом затрат на производство. В данном случае можно поступить двумя способами: во-первых, можно на стороннем сайте сделать кнопку, которая запрашивала бы из битрикса сделки (пока не рассматриваем реализацию); во-вторых, можно заставить битрикс самостоятельно отправлять данные по сделке сразу при её закрытии (по событию). Второй вариант более привлекателен, - всё работает в реальном времени без участия человека (никаких кнопок для передачи данных нажимать не нужно).
Бизнес-процесс Встал вопрос, как реализовать выгрузку данных из битрикс24 по событию. Первый вариант, который я проверял, это сделать отправку через так называемый "бизнес процесс". На момент написания статьи добраться до бизнес процессов стало довольно сложно: в …

Локализация (перевод) драйверов PPD

Изображение
Производители печатного оборудования офисного уровня (принтеров, МФУ и т.п.), к сожалению, далеко не всегда радуют пользователей операционных систем отличных от Windows. Иногда, даже если есть драйвер PPD для CUPS для нужной модели принтера, он не доступен на родном языке пользователя. Я использую русскую локаль (ru_RU) и в данной заметке покажу, как можно к родному английскому языку драйвера добавить перевод на русский язык. Информации по этой теме в интернете крайне мало. Я нашёл только статью "PPD Extensions" и раздел "Globalized PPD Support" в документации CUPS.
Реальный пример Уважающий себя производитель Konika Minolta выкладывает драйвера для своего оборудования в том числе и для Linux. Но вот для модели Bizhub C452 доступны драйвера только для нескольких европейских языков, среди которых нет русского. Я скачал архив BHC652PPDLinux_200000002MU.zip, в котором в отдельных каталогах для каждого языка располагались драйвера в виде файлов KOC652opn.ppd и KOC652U…

Создание RPM пакета для Fedora

Изображение
Иногда встречаются полезные программы, доступные только в виде исходных кодов (и/или в виде установочных пакетов для других ОС), но есть необходимость их установки на несколько компьютеров. Чтобы не выполнять компиляцию на каждом компьютере отдельно, можно на одном подготовить установочный пакет и установить его штатными средствами на других компьютерах.
Ниже приведён пример создания RPM пакета для Fedora 21 (для других версий Fedora процедура не отличается) из исходных текстов очень приятной и полезной программы Boomaga версии 0.7.0.
Готовим инструменты сборки RPM Для начала я попытался установить необходимые инструменты (как мне посоветовала статья "How to create a GNU Hello RPM package"):
sudo dnf install @development-tools но эта команда не выполнилась, ссылаясь на отсутствие группы development-tools. Тогда я установил всё другой командой, которую мне подсказала статья "Создание RPM пакетов из исходников":
sudo dnf groupinstall "Development Tools" и…

Подключение дополнительных возможностей phpMyAdmin

Изображение
После обыкновенной установки phpMyAdmin через менеджер пакетов Fedora (sudo dnf install phpMyAdmin) мы получаем базовую настройку этого полезного инструмента. Ниже приведена инструкция, как подключить другие полезные возможности phpMyAdmin через его же настройки (в браузере переходим на страницу http://phpmyadmin (или ту, на которую вы назначили свою установку phpMyAdmin) и авторизуемся).
1. Создаём служебную таблицу Нажимаем ["Создать БД" -> "Импорт" -> "Обзор"], указываем файл /usr/share/phpMyAdmin/create_tables.sql и "Вперед". После этого будет создана таблица phpmyadmin.
2. Создаём свой профиль настроек Переходим на главную страницу (нажимаем на домик или надпись "phpMyAdmin"). Затем "Настройки" -> "Скрипт настройки". Эта ссылка притаилась внизу в разделе "Дополнительные настройки".
Попадаем в кладовую дополнительных возможностей:
Нажимаем "Новый сервер", проходим по всем вкладкам. …

Не отображаются встроенные Яндекс карты

Изображение
Начиная с версии Firefox 35, у пользователей появилась возможность силами браузера "просить" сайты не следить за ними (описание). Это имеет довольно неожиданный эффект для встроенных в сайт Яндекс карт - они просто не отображаются, оставляя пустое поле на странице и недоумение у посетителя.
При обращении к странице со встроенной картой в firebug можно наблюдать предупреждение: "Ресурс на «https://api-maps.yandex.ru/2.1/?lang=ru_RU» был заблокирован, так как включена защита от отслеживания."

Чтобы не ломать вёрстку и не вводить в заблуждение посетителей сайта, надо предусмотреть проверку (включена ли такая функция защиты в Firefox) и выдавать предупреждение с понятной инструкцией, как можно карту всё-таки увидеть (нажать в адресной строке Firefox на иконку щита -> Настройки -> Отключить защиту для этого сайта).

Мультиязычное приложение Phonegap

Изображение
Выбор техники перевода Приложение Phonegap представляет собой обычную html-страницу и JavaScript файл. Многоязычность можно достигнуть несколькими путями.
1. Например, можно сделать по одной страничке html на каждый язык. Что-то типа index-ru.html, index-en.html и подгружать нужную из главной index.html.
Минусы такого подходаОчень сложно будет вносить одинаковые изменения в разные файлы по мере развития программы.Невозможно одновременно работать программисту и переводчику (если это разные люди). Очень сложно будет делать изменения по текстам, к которым уже сделан перевод. Плюс такого подходаПереводчику будет легко переводить и сразу видеть изменения (в браузере). 2. Можно пойти другим путём - возложить задачу перевода на JavaScript. На HTML делать только каркас приложения, а все тексты подгружать средствами JavaScript.
Минусы подходаОчень легко где-то ошибиться программисту и тогда в нужном месте html-страницы будет либо пусто, либо не тот перевод.Переводчику будет очень сложно работ…