Изменить 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

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

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

cat /etc/rpm/platform

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

http://geckich.blogspot.com/

Установка и настройка 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
http://geckich.blogspot.com/

Установка 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’

http://geckich.blogspot.com/