PHP setlocale русский язык Debian

Если не работает функция setlocale в php в Debian с русскими или любыми другими символами, то делаем следующее:

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

apt-get update

Устанавливаем пакет locales-all

apt-get install locales-all

и перезапускаем Апач

invoke-rc.d apache2 restart

Установка xCache в CentOS

К сожалению, в пакетах нет, поэтому будем устанавливать вручную.

Устанавливаем gcc, если еще не установлен:

yum install gcc -y

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

cd /usr/src

Качаем версию по PHP 5.1.x/5.2.x:

wget http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.gz

Для PHP 5.3:

http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz

Распаковываем:

tar xzf xcache-1.2.2.tar.gz && cd xcache-1.2.2

Собираем информацию об окружении php:

phpize

Конфигурируем, собираем, устанавливаем:

./configure —enable-xcache
make
make install

Увидим запись, к примеру:

Installing shared extensions: /usr/lib64/php/modules/

Добавляем в конец файла /etc/php.ini

extension = xcache.so
xcache.size= 60M

По остальным параметрам смотрим здесь:
http://xcache.lighttpd.net/wiki/XcacheIni

Убеждаемся, что модуль установлен:

php -m | grep XCache

И перезапускаем Apache2:

service httpd restart

Убираем за собой

cd && rm -rf /usr/src/xcache-1.2.2*

Конвертация дампа базы из latin1 в cp1251

У нас есть дамп базы (dump.sql) в кодировке latin1.

Конвертируем с помощью iconv:

iconv -f UTF-8 -t ISO-8859-1 dump.sql > dump.cp1251.sql

Если появилась ощибка:

iconv: illegal input sequence at position

То добавляем опцию «-c», чтобы данный символ просто пропускался:

iconv -f -c UTF-8 -t ISO-8859-1 dump.sql > dump.cp1251.sql

Не отправляется и не принимается почта PostFix

Почта не отправляется и не принимается. Порт 25й открыт, в mail.err ничего нет, но есть в mail.info:

postfix/qmgr[3940]: warning: connect to transport spamfilter: No such file or directory

Решение:
Желательно удалить spamassasin и postgrey, если не используется. Далее перезапускаем postfix:

# postfix reload

Повторно ставим письма в очередь:

# postsuper -r ALL

И снова перезапускаем postfix:

# postfix reload

Стоит обратить внимание на /etc/postfix/master.cf

И закооментировать эту строчку, если есть:

-o content_filter=spamfilter:dummy

Ну и перезапустить Postfix

Установка mod_security в Debian

К сожалению, данного модуля для Apache в Debian Lenny нет, поэтому опять подключаем Squeeze (кто уже перешел — тому, естественно, не нужно).

Меняем lenny на squeeze:
# sed -i «s/lenny/squeeze/» /etc/apt/sources.list

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

И устанавливаем libapache-mod-security:
# aptitude install libapache-mod-security -y

Настраиваем Mod_Security2
Открываем файл /etc/apache2/apache2.conf
# vi /etc/apache2/apache2.conf

И вставляем правила, к примеру:

# mod_security configuration directives
# …
# Turn the filtering engine On or Off
SecFilterEngine On
# Some sane defaults
#Check if URL characters where encoded
SecFilterCheckURLEncoding On
#Check UTF-8 encoding
SecFilterCheckUnicodeEncoding Off
#Allow 1 byte characters
# Accept almost all byte values
SecFilterForceByteRange 0 255

# Server masking is optional
# SecServerSignature «Microsoft-IIS/0.0»
SecAuditEngine RelevantOnly
# The name of the audit log file
SecAuditLog /var/log/apache2/audit_log
# You normally won’t need debug logging
# Debug level set to a minimum
SecFilterDebugLog /var/log/apache2/modsec_debug_log
SecFilterDebugLevel 0
# Should mod_security inspect POST payloads
SecFilterScanPOST On
# By default log and deny suspicious requests
# with HTTP status 500
SecFilterDefaultAction «deny,log,status:500»

Готово. Документация и другие примеры доступны на сайте.

Возвращаем обратно lenny (кому нужно):

# sed -i «s/squeeze/lenny/» /etc/apt/sources.list

И рестартим Apache:

# invoke-rc.d apache2 restart

Установка python oursql в Debian/Ubuntu

К сожалению, в оффициальных репо данного пакета нет, поэтому будем ставить из PPA:

Открываем наш sources.list:

# vi /etc/apt/sources.list

И вставляем строки:

deb http://ppa.launchpad.net/habnabit/hab-ppa/ubuntu lucid main
deb-src http://ppa.launchpad.net/habnabit/hab-ppa/ubuntu lucid main

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

# apt-get update

После чего устанавливаем пакет python-oursql

# apt-get install python-oursql

Установка python 3 в Debian

В lenny 3й версии нет, поэтому будем устанавливать из squeeze:

# vi /etc/apt/sources.list

Меняем lenny на squeeze

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

# apt-get update

И устанавливаем 3ю версию питона:

# apt-get install python3.1

Не забываем вернуть обратно lenny, если требуется

Не работает Nginx

Процессы активны (nginx запущен), но сайты не работают.
В логах встречаются ошибки вида:

[alert] 17289#0: open socket #14 left in 39

Лечится путем увеличения параметра worker_connections в /etc/nginx.conf (в CentOS) и в /etc/nginx/nginx.conf (в Debian).

После чего рестартим nginx.

Установка Lame в Debian

К сожалению, пакета lame в репозиториях Debian нет, но есть замена: toolame и twolame

Устанавливаем как обычно:

# apt-get update && apt-get install toolame

Если клиенту нужен именно Lame (для работы с Mpeg 3), то добавляем в /etc/apt/sources.list

Для lenny:

deb http://www.debian-multimedia.org lenny main non-free

Для squeeze

deb http://www.debian-multimedia.org lenny main non-free

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

apt-get update

И устанавливаем

apt-get install lame

Установка SoX в Debian

http://sox.sourceforge.net/

SoX — Sound eXchange программа для работы с звуковыми файлами.

Присутствует в репозиториях Debian, так что установка проста:

# apt-get update && apt-get install sox

Все подхватится автоматически.

Fatal error Allowed memory size of

Такая ошибка означает, что скрипт пытается запросить больше памяти, чем ему разрешено.

Решение: нужно увеличить размер memory_limit в php.ini

В Debian:

Если php используется как модуль апача:

/etc/php5/apache2/php.ini

Если php используется как CGI или FastCGI:

/etc/php5/cgi/php.ini

Если PHP используется как CLI:

/etc/php5/cli/php.ini

В CentOS:

/etc/php.ini

Как узнать размер файлов и папок в Linux?

Чтобы посмотреть размер файлов в папке Linux (а так же размер самих папок) в удобочитаемом формате (ГБ, КБ, МБ или байты) достаточно открыть консоль (командную строку) или подключиться к серверу по SSH и ввести несколько простых команд, о которые рассмотрим ниже.

Читать далее «Как узнать размер файлов и папок в Linux?»

Назначение домену определенного IP адреса

Если Вы добавили домен в панель управления хостингом, но не сменили записи в DNS (хотите проверить, что все работает без ошибок), то делаем следующее:

В Windows:

Можете отредактировать файл:

C:\Windows\System32\drivers\etc\hosts

Добавить запись вида:

xxx.xx.xx.xx site.com

В Linux:

Отредактировать файл /etc/hosts

Добавить запись вида:
xxx.xx.xx.xx site.com

Где, xxx.xx.xx.xx — IP Вашего сервера, а site.com — имя Вашего домена.

В таком случае, введя в браузер имя Вашего домена, Вы будете перенаправлены на Ваш сервер. Такая система работает в обход DNS.