Правила FireWall в ISPManager

В Debian ISPManager сохраняет правила в файл /etc/iptables.save
И используется два скрипта:
/etc/network/if-up.d/ispmanager_iptables:

#!/bin/sh
/sbin/iptables-restore /etc/iptables.save

/etc/network/if-down.d/ispmanager_iptables:

#!/bin/sh
/sbin/iptables-save > /etc/iptables.save

При запуске и остановке интерфейса соответственно.

В CentOS ISPmanager сохраняет правила в /etc/sysconfig/iptables
И используется стандартный init скрипт /etc/init.d/iptables

libz.so no version information available

При перезапуске MySQL получаем ошибки (может быть и другое ПО):

/usr/local/lib/libz.so.1: no version information available (required by mysql)

Решается обновлением libz и libxml2.
В DirectAdmin:

cd /usr/local/directadmin/custombuild
./build update
perl -pi -e ‘s/zlib:1.2.3:.*/zlib:1.2.5:/’ versions.txt
perl -pi -e ‘s/libxml2:2.7.6:.*/libxml2:2.7.8:/’ versions.txt
./build update_data
./build zlib
./build libxml2
./build php n

Не работают сессии на одном из доменов

Симптомы: Несколько доменов, сессии работают только на одном. PHP используется как модуль Apache.

При включении режима php как cgi/fastcgi сессии работают. С правами на папки все ОК, сессии создаются, но браузер их «не принимает».

Решение:

Проверить параметр session.cookie_domain в php.ini. Возможно, там указан только один домен.

Браузер принимает cookies, но они для другого домена предназначены. Убираем домен в данном параметре и перезапускаем apache

Установка rar и unrar

В Debian пакеты есть в официальных репозиториях, поэтому их установка проста:

apt-get install rar unrar -y

В CentOS, к сожалению, этих пакетов нет ни в официальных репозиториях, ни в Epel. Зато есть в rpmforge.

Подключаем:  Инструкция

И устанавливаем командой

yum install rar unrar -y

Включение квот в Dovecot

В Dovecot есть возможность показа статистики по используемым ресурсам (сколько места занято, использовано и т.д.)

Все настройки производим в файле /etc/dovecot/dovecot.conf

В блоках protocol imap { } и pop3 нужно раскомментировать:

mail_plugins = quota imap_quota
mail_plugin_dir = /usr/lib/dovecot/modules/imap

А так же в блоке
plugin { } раскомментировать

quota = maildir

И перезапускаем dovecot

/etc/init.d/dovecot restart

mod_pagespeed

Страница проекта: http://code.google.com/intl/ru-RU/speed/page-speed/docs/module.html

Документация: http://code.google.com/intl/ru-RU/speed/page-speed/docs/using_mod.html

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

Модуль доступен в виде исходников — мануал по установке: http://code.google.com/p/modpagespeed/wiki/HowToBuild

А так же в виде пакетов для Debian и CentOS: http://code.google.com/intl/ru-RU/speed/page-speed/download.html

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