31 янв. 2012 г.

Принудительный перезапуск IIS без рестарта компьютера

Открываем консоль (Win+R, cmd) и выполняем команду:

iisreset /RESTART

У этой команды есть и другие опции:

iisreset [имя_сервера] /ключ

/RESTART - рестарт IIS

/START - старт IIS

/STOP - остановить все сервисы IIS

/REBOOT - перезагрузить компьютер

/REBOOTONERROR - перезагрузить компьютер, если при старте, стопе, рестарте происходит ошибка

/NOFORCE - без принудительного завершения процесса IIS

/TIMEOUT:val - указывает время (в сек) ожидания удачного рестарта, если служба не перезапустилась и указан ключ /REBOOTONERROR, то по истечении времени компьютер будет перезагружен

/STATUS - отображение статуса службы

/ENABLE - разрешение рестарта IIS на локальном компьютере

/DISABLE - запрет рестарта IIS на локальном компьютере

Изменить пароль админа (admin) Sugar CRM через MYSQL

Заходим на сервере в мускуль и выполняем команды:

Используем БД шугара (ваше имя может отличаться):

use sugarcrm;

Меняем пароль:

UPDATE users SET user_hash = MD5('new_password_here') WHERE id = 1;

Дело в шляпе.

30 янв. 2012 г.

Повышение безопасности PHP с помощью директивы disable_functions и при этом сохранение работоспособности Wordpress

У PHP есть замечательная директива конфигурационного файла -  disable_functions, которая позволяет запретить выполнение определенных (в т. ч. и потенциально опасных) функций.

Для использования такой полезной функции открываем php.ini (по дефолту) командой:

nano /etc/php.ini

Далее изменяем строчку или добавляем, если нет:

disable_functions=exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source

Во многих источниках рекомендуют еще отключать функцию curl_exec, но если сделать так, то Wordpress не будет корректно работать.

Ошибка Error Message: 2712 - can't create the directory в vRanger

Недавно переустановил vRanger и при попытке бекапа в директорию, где был старый репозиторий (на NAS) выбивало следующую ошибку:

An internal error occurred during execution, please contact Quest support if the error persists.  Error Message: 2712 - can't create the directory

Решил проблему путем добавления подпапки из этой директории в качестве репозитория в новом vRanger.

Восстановление пароля администратора (admin) Wordpress с помощью MYSQL

Был недавно такой таск - нужно было проверить после некоторых манипуляций работу Wordpress. А сделать это без админского аккаунта нельзя. Но были доступы к MYSQL на сервере. Спрашивать доступы у клиента было тоже не возможно, потому пришлось немного взломать вордпресс :)

Заходим в мускуль:

mysql -uroot -p

Далее переходим в нужную базу (какая именно нам нужна можно посмотреть в тексте файла wp-config.php, который находится в корневой директории сайта)

use имя-базы;

Посмотреть, какие у нас есть БД можно с помощью:

show databases;

Смотрим таблицы, если нужно:

show tables;

Если случай как у меня, ти смотрим и сохраняем себе где-нибудь старый пароль:

select * from wp_users;

Меняем на пароль ‘password’ (пароль вордпресс хранит в виде хэша, потому записать просто значение пароля не получится):

UPDATE wp_users SET user_pass='5f4dcc3b5aa765d61d8327deb882cf99' WHERE ID = 1;

Делаем свои благие или черные дела и, если случай как у меня, после всего меняем хэш пароля на старый с помощью предыдущей команды (подставив туда старый хэш, ессно).

20 янв. 2012 г.

Если в Plesk Panel не работает unsuspend domain ошибка: The domain is still suspended for the following reason: This user account and user's domain were suspended

Недавно столкнулся с такой вот проблемкой.

При попытке unsuspend домена выдается ошибка 

The domain is still suspended for the following reason: This user account and user's domain were suspended

При этом с пользователем всё отлично. Plesk на винде.

Решает довольно просто - идем в консоль (cmd) и выполняем команду:

%plesk_bin%\domain.exe --on example.com

%plesk_bin% обычно находится в C:\Program Files\Parallels\Plesk\admin\bin, но может быть и по другому пути - смотря где у вас установлен Plesk.

Управление очередью писем (queue) в Exim (удаление, просмотр статистики)

Для просмотра, сколько писем в очереди exim служит команда:

exim -bpc

А эта команда показывает информацию о письмах в очереди (время в очереди, размер сообщения, message-ID который нужен для очистки, отправитель и список получателей)

exim -bp

Удаление писем из очереди:

exim -Mrm {message-ID}

Для удаления всех писем из очереди (полезно при очистке сервера от спама):

exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | bash

18 янв. 2012 г.

Ошибка Rkhunter - Warning: The file exists on the system, but it is not present in the rkhunter.dat file

Если при сканировании системы rkhunter'ом выгребаете ошибку типа Warning: The file exists on the system, but it is not present in the rkhunter.dat file, то ее можно исправить, выполнив команду от рута:

rkhunter --propupd

17 янв. 2012 г.

Изменить hostname (имя хоста) на CentOS и Debian/Ubuntu

Открываем файл /etc/sysconfig/network и редактируем

HOSTNAME="www.example.com"

Далее выполняем команду

hostname www.example.com

Потом открываем фал /etc/hosts и редактируем или добавляем если нет такой строки

127.0.0.1 www.example.com localhost localhost.localdomain

А для Debian/Ubuntu:

nano /etc/hostname
sudo /etc/init.d/hostname.sh start

12 янв. 2012 г.

Как узнать версию RPM based системы (CentOS, RedHat, Fedora и т. п.) по папке /etc

Вот недавно нужно было узнать версию (32 или 64 бит) ОС на упавшем серваке. В бекапах была из системных только папка /etc. Нашел способ:

cat /etc/rpm/platform

Значения могут быть такие:
ia32e-redhat-linux = x86_64
i686-redhat-linux = x86_32

Установка и настройка mod_evasive для Apache в CentOS (защита от DOS, DDOS)

mod_evasive - очень интересный модуль для Апача для автоматического бана IP-шников при DOS (DDOS) атаке.

Устанавливаем сам модуль (имеется в виду, что у вас уже установлен и настроен сам Апач):

yum install mod_evasive

Для Debian: aptitude install libapache2-mod-evasive

Далее редактируем конфиг (в принципе, там всё по-умолчанию уже нормально настроено):

nano /etc/httpd/conf.d/mod_evasive.conf

Описание настроек:
  • DOSHashTableSize: это размер хэш-таблицы которая обрабатывает запросы к WWW-серверу.
  • DOSPageCount: число запросов к одной странице от одного и того же IP в течение указаного интервала времени.
  • DOSSiteCount: число запросов ко всем страницам домена, т.е если поступило более 50-ти запросов с одного ай-пи на разные страницы домена — тогда такой ай-пи будет заблокирован.
  • DOSPageInterval: Интервал для директивы DOSPageCount (в секундах)
  • DOSSiteInterval: Интервал для директивы DOSSiteCount (в секундах)
  • DOSBlockingPeriod: На сколько заблокировать ай-пи (в секундах)
  • DOSEmailNotify: может быть использован для уведомления, будет отправлять сообщение по электронной почте о том что такой-то IP был заблокирован.
  • DOSSystemCommand: эта директива используется для выполнения какой-нибудь вашей команды когда IP блокируется. Вы можете использовать это для добавления IP-адреса в таблицу фаервола. (пример: «/sbin/iptables -A INPUT -p tcp —dport 80 -s %s -j REJECT» В %s передается от модуля IP)
  • DOSWhiteList: список белых IP адресов, можно и по маскам (напр. 127.0.0.*)
Единственное что - следует добавить в конец для логов: DOSLogDir /var/log/httpd/mod_evasive
Далее создадим директорию, в которую будут кидаться логи:

mkdir /var/log/httpd/mod_evasive

Редактируем конфиг апача:

nano /etc/httpd/conf/httpd.conf

Добавляем в конфиг строчку для загрузки модуля (для Debian - a2enmod mod-evasive):

LoadModule evasive20_module modules/mod_evasive20.so

Перезагружаем апач чтобы изменения вступили в силу:

/etc/init.d/httpd reload

Всё. Проверяем с помощью скрипта (ставится вместе с модулем):

perl /usr/share/doc/mod_evasive-1.10.1/test.pl

Если первые сколько-то там запросов 200 или 404, а затем 403 - значит, всё настроено правильно и работает. Для Debian скрипт находится в /usr/share/doc/libapache2-mod-evasive/examples/test.pl

5 янв. 2012 г.

Установка apache php mysql на centos 5.7

В принципе, всё просто, но если давно не делал - то туговато вспоминается как заставить апач контачить с пхп :)

В общем, устанавливаем необходимые пакеты командой:

yum install httpd httpd-devel php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml mysql-server
Далее запускаем апач и мускуль и добавляем их в автозагрузку:

/etc/init.d/httpd start
/etc/init.d/mysqld start
chkconfig mysqld on
chkconfig httpd on


Затем правим конфиг апача:

nano /etc/httpd/conf/httpd.conf

Находим строчку, раскомментируем, и вписываем туда своё доманное имя:

#ServerName http://www.example.com:80

Перезагружаем апач, чтобы изменения вступили в силу:

/etc/init.d/httpd reload

Далее для теста создаем файлик в дефолтном виртуалхосте:

nano /var/www/html/phpinfo.php

В файлик записываем:

<?php phpinfo(); ?>

Сохраняем и проверяем: http://ip.address/phpinfo.php

Если видим страничку с информацией о пхп - всё получилось.

Можно еще установить пароль на пользователя root в mysql:

/usr/bin/mysqladmin -u root password 'passwd'

3 янв. 2012 г.

Отключение Windows firewall из командной строки

Открываем консоль (Пуск -> Выполнить -> cmd) и выполняем команду:

netsh advfirewall set allprofiles state off

Всё, злобный вин фаерволл выключен.