pecl imagick не устанавливается

В Debian, при установке модуля imagick из pecl ошибка:

checking ImageMagick MagickWand API configuration program… configure: error: not found. Please provide a path to MagickWand-config or Wand-config program.
ERROR: `/tmp/pear/cache/imagick-2.2.2/configure —with-imagick’ failed

Нет API к ImageMagick.
Решается установкой пакета libmagick9-dev

Восстановление данных innodb с помощью Percona

К сожалению, восстановить таблицу в innodb не всегда просто, но есть замечательная утилита — Percona data recovery tool for innodb
Нам важно иметь *.ibd файл таблицы, а так же знать структуру таблицы (можно вытащить из старого бекапа, к примеру).

Дропаем таблицу, предварительно сохранив ibd файл, создаем ее.
Восстанавливать будем на примере таблицы comments, базы mysubercartbiz_db.

Качаем утилиту и распаковываем

cd /usr/src
wget http://launchpad.net/percona-data-recovery-tool-for-innodb/trunk/release-0.4/+download/percona-innodb-recovery-tool.tar.gz
tar xzf percona-innodb-recovery-tool.tar.gz
cd percona-data-recovery-tool-for-innodb-0.5

Теперь нам нужно знать структуру таблицы и задать ее в файле include/table_defs.h. Воспользуемся встроенным скриптом.

./create_defs.pl —host localhost —user debian-sys-maint —password aE7rsIkxc992fUKJ —db mysubercartbiz_db —table comments > include/table_defs.h

Собираем

make

Копируем файл comments.ibd

cp /data/comments.ibd ./

Парсим данные

./page_parser -f comments.ibd -5

Где -f путь до файла
-5 — версия MySQL

У нас создалась папка pages-1318745314 (или подобная). С кучей *.page файлов.
Нам нужны файлы из папки pages-1318745314/FIL_PAGE_INDEX
Для начала нужно объединить файлы в папках. Делаем так:

find pages-1318745314/FIL_PAGE_INDEX/0-61/ -type f -name ‘*.page’ | sorn -n | xargs cat > pages-1318745314/FIL_PAGE_INDEX/0-61/pages_concatenated
find pages-1318745314/FIL_PAGE_INDEX/0-62/ -type f -name ‘*.page’ | sort -n | xargs cat > pages-1318745314/FIL_PAGE_INDEX/0-62/pages_concatenated

И т.д., в зависимости от количества папок.

Далее, с помощью программы constraints_parser форматируем в нужный для импорта вид:

./constraints_parser -5 -f pages-1318745314/FIL_PAGE_INDEX/0-61/pages_concatenated > comments.dat
./constraints_parser -5 -f pages-1318745314/FIL_PAGE_INDEX/0-62/pages_concatenated >> comments.dat

В итоге мы получим файл comments.dat с данными.
Теперь нужно импортировать его. Подключаемся к MySQL с пользователем, у которого есть file_priv. Это root, а так же debian-sys-maint (по умолчанию).

И импортируем данные (пример запроса будет выдан при выполнении скрипта constraints_parser.

LOAD DATA INFILE ‘/usr/src/percona-data-recovery-tool-for-innodb-0.5/comments.dat’ REPLACE INTO TABLE `comments` FIELDS TERMINATED BY ‘\t’ OPTIONALLY ENCLOSED BY ‘»‘ LINES STARTING BY ‘comments\t’ (cid, pid, nid, uid, subject, comment, hostname, timestamp, status, format, thread, name, mail, homepage);

Застваляем работать мультитач на EeePC 1201N в Debian/Ubuntu/Mint

Все достаточно просто.

Вставляем команду в /etc/gdm/Xsessions (Если используется Gnome)

xinput set-int-prop «SynPS/2 Synaptics TouchPad» «Synaptics Two-Finger Scrolling» 8 1 1

Вот так:

echo ‘»SynPS/2 Synaptics TouchPad» «Synaptics Two-Finger Scrolling» 8 1 1’ >> /etc/gdm/Xsessions

Все. После рестарта системы у нас всегда будет работать мультитач.

Установка модулей nginx_mod_h264_streaming и ngx_http_secure_download в nginx в Debian

Для данных модулей нужны версии nginx не ниже 0.7.9. К сожалению, в репозиториях их нет. Поэтому будем собирать вручную.

Для начала сохраняем старый конфиг:

cp /etc/nginx/nginx.conf /etc/nginx.conf

Копируем файл запуска:

cp /etc/init.d/nginx /etc/nginx.init

Удаляем старую версию nginx:

apt-get remove —purge nginx -y

Собирать будем в каталоге /usr/src

cd /usr/src

Качаем nginx и распаковываем

wget http://nginx.org/download/nginx-0.8.55.tar.gz
tar xzf nginx-0.8.55.tar.gz

Качаем модуль nginx_mod_h264_streaming-2.2.7 и распаковываем

wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz
tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz

Качаем модуль nginx_http_secure_download и распаковываем

wget https://github.com/replay/ngx_http_secure_download/tarball/master -O ngx_http_secure_download.tar.gz
tar xzf ngx_http_secure_download.tar.gz

Для работы с rewrite, нам потребуется модуль PCRE. Устанавливаем

apt-get install libpcre3 libpcre3-dev libpcrecpp0

Так же потребуется mhash

apt-get intall libmhash-dev

Начинаем сборку

./configure —conf-path=/etc/nginx/nginx.conf —error-log-path=/var/log/nginx/error.log \
—pid-path=/var/run/nginx.pid —lock-path=/var/lock/nginx.lock \
—http-log-path=/var/log/nginx/access.log —http-client-body-temp-path=/var/lib/nginx/body \
—http-proxy-temp-path=/var/lib/nginx/proxy —http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
—with-debug —with-http_stub_status_module —with-http_flv_module —with-http_ssl_module \
—with-http_dav_module —add-module=/usr/src/nginx_mod_h264_streaming-2.2.7 \
—add-module=/usr/src/replay-ngx_http_secure_download-8ddc19d —sbin-path=/usr/sbin

Если появится ошибка:

error: ngx_http_request_t has no member named zero_in_uri ngx_http_streaming_module.c

То применяем патч: http://www.freebsd.org/cgi/cvsweb.cgi/ports/www/nginx-devel/files/extra-patch-ngx_http_streaming_module.c?rev=1.1;content-type=text/plain

И собираем заново.

Далее

make
make install

Возвращаем конфиг и сценарий запуска

mv /etc/nginx.conf /etc/nginx/nginx.conf
mv /etc/nginx.init /etc/init.d/nginx

Проблема с python2.7-minimal в Ubuntu

После обновления, при установке любого пакета выдается ошибка:

Setting up python2.7-minimal (2.7.1-5ubuntu2) …
Linking and byte-compiling packages for runtime python2.7…
E: pycompile:240: Requested versions are not installed
dpkg: error processing python2.7-minimal (—configure):
subprocess installed post-installation script returned error exit status 3
Errors were encountered while processing:
python2.7-minimal
E: Sub-process /usr/bin/dpkg returned an error code (1)

То есть обновление прошло несовсем гладко.

Фиксится так.
Открываем файл /usr/share/python/debpython/version.py
И 26ю строку приводим к виду:

SUPPORTED = [(2, 6), (2, 7)]

И устанавливаем пакет, как и хотели ранее.

Запрет открытия файлов со слешем на конце

Проблема в том, что открываются файлы: http://site.com/file.php/
Со слешем вконце.

В итоге «съезжает» дизайн и т.д.

По-задумке требуется, чтобы отображалась 404, если такой директории нет.

Есть замечательная опция AcceptPathInfo
Смысла переводить не вижу.

По-умолчанию, опция включена. Чтобы показывалась 404, если такого каталога нет, нужно опцию выключить.

Если нужно для всех сайтов отключить, делаем

AcceptPathInfo Off

прямо в конфиге апача.

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

Установка и настройка transmission + web интерфейс в Debian

В репозитории версии нет веб интерфейса. Будем ставить из squeeze.

sed -i ‘s/lenny/squeeze/’ /etc/apt/sources.list

Обновляем информацию о пакетах

apt-get update

Ставим transmission-common (сам клиент) и transmission-daemon (веб-морду).

apt-get install transmission-common transmission-daemon

Возвращаем на круги своя:

sed -i ‘s/squeeze/lenny/’ /etc/apt/sources.list
apt-get update

Клиент доступен по адресу

http://SERVER_IP:9091

Конфиг-файл находится по адресу

/etc/transmission-daemon/settings.json

Для доступа извне, нужно отключить white-list:

«rpc-whitelist-enabled»: false,

Логин и пароль:

«rpc-password»: «test»,
«rpc-username»: «transmission»,

Реоладим transmission

invoke-rc.d transmission-daemon reload

Апгрейд PHP 5.2 до 5.3 в Debian

Бывает так, что нужно обновить php 5.2 (в Debian — 5.2.6) до версии 5.3.

Предостерегаю Вас от сторонних репозиториев (дотвеб и прочее). Все делается стандартными средствами.

Поехали.

Для начала меняем sources.list:

vi /etc/apt/sources.list

Заменяем lenny на squeeze. Сохраняем.

Обновляем информацию о пакетах:

apt-get update

Обновляем до версии 5.3

apt-get —reinstall install php5-*

Готово. Если все остальное ПО Вы планируете ставить из lenny репозитория, то изменяем обратно sources.list и обновляем информацию о пакетах.

Белая страница в phpmyadmin

Часто такая ошибка вызвана тем, что включен eaccelerator или APC.

CentOS

vi /etc/httpd/conf.d/phpmyadmin.conf

И в самый низ блока Directory добавляем:

php_admin_value eaccelerator.enable 0

И перезапускаем Апача:

/etc/init.d/httpd restart

Debian 5 Lenny

vi /etc/apache2/conf.d/phpmyadmin.conf

И в самый низ блока Directory добавляем:

php_admin_value eaccelerator.enable 0

Перезапускаем Апача:

/etc/init.d/apache2 restart

Если установлен APC, то вставляем:

php_admin_flag apc.enabled Off

Проблема с установкой AVG в Debian

Если ОС у Вас 64 битная, то могут возникнуть проблемы при установке AVG:

/usr/bin/avgctl: line 17: /opt/avg/avg8/bin/avgctl: No such file or directory

В таком случае нудно установить пакет ia32-libs командой

aptitude install ia32-libs

И заново поставить AVG

Roundcube — максимальный размер файла

Если в RoundCube появляется ошибка: Невозможно загрузить файл — значит нужно увеличить параметры

post_max_size
и
upload_max_filesize
в /usr/share/roundcube/.htaccess
Перед этим увеличив в php.ini и перезагрузив Apache

Удаление сертификатов в Mozilla Thunderbird

Как удалить информацию о принятых сертификатов в Mozilla ThunderBird?

База данных сетификатов хранится в файле cert8.db в папке
C:\Users\%USERNAME%\AppData\Roaming\Thunderbird\Profiles\

На Windows 7/Vista

В Linux
/home/$USER/.thunderbird/xxx.default/

Нужно удалить этот файл.

Если не поможет — запускаем Mozilla Thunderbird. Идем в раздел ИнструментынастройкиДополнительныеСертификаты.
Жмем просмотр сертификатов — вкладка серверы. И удаляем не нужные нам сертификаты.