Еще один способ сменить пароль MySQL

Полетел MySQL. При рестарте сервер запускается без сообщений. В логах пусто.

Сокет не создается. В общем ковырялся, ничего не нашел =)

Решил проблему с помощью

# dpkg-reconfigure mysql-server-5.0

Заодно и пароль сменил по запросу клиента. =)

Установка PHP как мод FastCGI в FreeBSD

Оказывается, все просто. Для начала заходим в порты и устанавливаем:

# cd  /usr/ports/www/mod_fcgid

# make

# make install

После чего открываем конфиг апача

# vi /usr/local/etc/apache22/httpd.conf

И вставляем в конец:

 LoadModule fcgid_module libexec/apache22/mod_fcgid.so 
 AddHandler fcgid-script .fcgi

Сохраняем и выходим.
Далее рестартим апач:

#  /usr/local/etc/rc.d/apache22 restart

Если у нас есть ISPManager, то открываем файл ispmgr.conf

# vi /usr/local/ispmgr/etc/ispmgr.conf

И добавляем туда

Option ForcePhpFastCgi

Сохраняем и выходим.

Перезапускаем панель командой

# killall -9 ispmgr

И радуемся жизни =)

Не забываем, что чтобы перенести сайты на FastCGI, для начала нужно дать на это права пользователю (делается в свойстах), а затем переназначаем режим PHP сайту.

Успехов!

Настрока логов nginx

Довольно часто нужно определить, какой сайт флудят. Очень просто определить по access_log’y Nginx’a.

Но хоста там нет. Исправляем этот недочет:

# nano /etc/nginx/nginx.conf

В блоке http:

log_format main '$remote_addr - $remote_user [$time_local] 
$status "$host" "$request" $body_bytes_sent 
"$http_referer" "$http_user_agent" "$http_x_forwarded_for"'; 

access_log  /var/log/nginx/access.log main;

И рестартим:

# /etc/nginx/nginx.conf

В итоге получим вид:

my.ip.add.r — — [06/Nov/2010:01:35:54 +0600] 200 «site.ru» «GET /administrator/templates/favicon.ico HTTP/1.0» 1150 «-» «Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12» «my.ip.add.r»

Установка roundcube в Debian Lenny

Устанавливаем данные веб почтовый агент в Debian Lenny. Для начала нужно подключить репозиторий lenny-backports:

# vi /etc/apt/sources.list

И вставляем:

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

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

# apt-get update Читать далее «Установка roundcube в Debian Lenny»

Поиск и замена — Nano

Очень полезная есть штука в nano — поиск и замена.

Допустим, есть файл apache2.conf, в котором нужно 1к сайтов перенести с 8080 порта на 80. Конечно, можно через sed, но гораздо удобнее через nano.

Открываем файл:

# nano apache2.conf

Жмем ALT+R

Вводим, что ищем, затем на что меняем. Клавишей Y мы подтверждаем одну замену, а клавишей A — заменить все.

Проверка SSL и ключа

Чтобы проверить соответствие сертификата ключу (проверить ssl и ключ) в SSH вводим:

# openssl x509 -noout -modulus -in /путь/до/сертификата/cert.crt | openssl md5
# openssl rsa -noout -modulus -in
/путь/до/ключа/my_key.key | openssl md5

Если совпадает хеш MD5 — значит сертификат соответсвует ключу.

Так же есть удобный онлайн сервис проверки ssl и ключа:

https://www.sslshopper.com/certificate-key-matcher.html

Ошибка: virtualhost уже существует

Если столкнулись с такой ошибкой, то нужно вручную удалить домен из /etc/apache2/apache2.conf и /etc/nginx/nginx.conf в Debian/Ubuntu

Далее перезагружам:

# /etc/init.d/apache2 restart

# /etc/init.d/nginx restart

# killall -9 ispmgr

Возможно, выйдет ошибка:

Ошибка: rotate уже существует

Удаляем записи из

/usr/local/ispmgr/etc/rotate.conf

И на всякий случай, перезапускаем ISPManager:

# killall -9 ispmgr

MySQL и внешний доступ

Для того, чтобы открыть доступ к MySQL извне в Debian GNU/Linux, открываем файл /etc/mysql/my.cnf

и после строки [mysqld] вставляем:

bind-address = 0.0.0.0

Если хотите, чтобы MySQL слушал порт 3306 на всех IP, или же задать конкретный IP адрес, чтобы повесить его именно на него.

ISPManager удаление файлов сессий PHP

Очень часто сталкиваюсь с тем, что забивается все место или inodes файлами сессий PHP. А их удаление может занимать более суток.

Вот так можно решить проблему путем добавления задания в cron (crontab -e).

Если PHP стоит как FastCGI:

@hourly /usr/bin/find /var -wholename «*/data/bin-tmp/*» -type f -cmin +360 -print0 | xargs -r -0 rm >/dev/null 2>&1

Если же PHP как модуль Apache:

@hourly /usr/bin/find /var -wholename «*/data/mod-tmp/*» -type f -cmin +360 -print0 | xargs -r -0 rm >/dev/null 2>&1

Можно и так, но почему-то не всегда работает:

@hourly /usr/bin/find /var -wholename «*/data/tmp/*» -type f -cmin +360 -print0 | xargs -r -0 rm >/dev/null 2>&1

Редактор nano — переход на заданную строку

Очень часто мы видим ошибки, которые выдаются на экран\консоль с указанием ошибки синтаксиса в определенном файле. Выдается его имя и номер строки, на котором, собственно, ошибка.

Открываем файл в редакторе (я довольно часто предпочитаю nano, чем vim, т.к. он более «простой и понятный») и листаем до определенной строки (комбинация CTRL+C укажет нам текущий номер строки).

Но если файл довольно большой, крутить устанем 🙂

Так вот та самая комбинация, которая сократит время поиска строки:

ALT+G

Так и хочется написать «Наше всё» 🙂