Ошибка “sh: 1: source: not found” при выполнении через PHP

Выполняя php-скриптом команду

exec("source vars");

вылетала ошибка

sh: 1: source: not found

Хотя сама команда source является встроеной в bash и напрямую с консоли все выполняется. Варианты с sudo, su и прочими танцами с бубном не помагали.
Как оказалось проблема в том, что в Debian 7 по умолчанию как интерпретатор sh используется dash

Debian and derived Linux distributions such as Ubuntu ship a version of ash, known as dash (Debian Almquist shell), as the default /bin/sh, although Bash is the default login shell for interactive use.

Читати далі

Отключить Basic авторизацию для каталога в Apache

На сервере настроена Basic авторизация доступа к http средствами Apache, но есть одна директория к которой нужно получать доступ без запроса логина и пароля.
Чтобы исключить этот каталог можно воспользоваться файлом .htaccess
Что мы имеем на входе: Apache 2.2.22, Debian 7 и такой конфиг :

cat /etc/apache2/sites-enabled/000-default
.......

AuthType Basic
  AuthName "Authentication Required"
  AuthUserFile ".password"
  Require valid-user
......

Читати далі

Ускоряем PHP. Установка eAccelerator в Debian

Для удовлетворения потребностей 1C Bitrix в мощи сервака я извращался как мог, но быстрее чем за 3сек страница не грузилась – время генерации самой страницы 1.1сек, это после того как удалось уменьшить время отработки MySQL почти в 2 раза

Пришлось таки ускорять сам PHP.
Будем пробовать с помощью eAccelerator на базе Debian 7.3(amd64) + Apache 2.2.22 + PHP 5.3
Официальная страница модуля: https://github.com/eaccelerator/eaccelerator

Читати далі

Ускоряем INSERT в 1С-Bitrix

После установки этого безобразия (1C-Bitrix) заметил, что медленно отрабатывает генерация страниц..
Копнув в лог заметил много таких вставок в БД

TIME: 0.0178248882 SESSION: blkqvjd37heib431532gddfip5  CONN: Resource id #49
INSERT INTO b_stat_hit.......

И каждая из них выполняется по 15-50мс
Погуглив нашел решение.

Читати далі

RRDTool: ERROR: This RRD was created on another architecture

При переносе с одного сервера на другой файлов .rrd выскочила такая ошибка:

ERROR: This RRD was created on another architecture

Не нравится ему переход с 32бит на 64бит.
Для исправления сего можно сделать дамп rrd, а потом его отресторить на новом месте.
Бекапим:

for f in *.rrd; do rrdtool dump ${f} > ${f}.xml; done

На новом сервере востанавливаем

Читати далі

Asterisk: логируем cel и cdr в mysql через odbc

Устанавливаем недостающие пакеты unixODBC

apt-get install unixODBC unixODBC-dev libmyodbc

Настройки ODBC:

cat /etc/odbcinst.ini
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1
cat /etc/odbc.ini
[asterisk-connector]
Description = MySQL connection to 'asterisk' database
Driver = MySQL
Database = ast
Server = localhost
UserName = user
Password = pass
Port = 3306

Читати далі

Screenshot сайта с консоли Linux

Появилась задачка отслеживать как меняется дизайн сайта на протяжении недели с шагом в 3часа.
Можно конечно запускать wget по расписанию, но не сильно удобно смотреть потом 100500 файлов.
После поиска по просторам инета был найден простенький способ.
Для этого нам понадобится какой-то сервер (рабочая машина) на Linux.

Для захвата изображения будем использовать програмку CutyCapt

CutyCapt is a small cross-platform command-line utility to capture WebKit’s rendering of a web page into a variety of vector and bitmap formats, including SVG, PDF, PS, PNG, JPEG, TIFF, GIF, and BMP

В итоге мы получим картинку с сайтом отрендереном движком WebKit. Однако требуется Xserver для рендера.

Читати далі