October 27

pppoe over wifi

привет. сегодня быстро поднимаем pppoe поверху вайфая, да, приключился у меня такой случай. в консоли через sudo:
<pre class="brush: bash; gutter: true">pppoeconf</pre>

вводим данные, по большому счету на этом всё.

теперь когда нам нужно подключится набираем:
<pre class="brush: bash; gutter: true">pon dsl-provider</pre>

положить сессию можно выполнив
<pre class="brush: bash; gutter: true">poff</pre>

вариант автоматического поднятия не рассматриваю, так как незачем, да и вы при желании можете сделать это самостоятельно за несколько секунд.

January 18

Блокировка сайта пользователя IspManager

Для того чтобы заблокировать какой-то один сайт пользователя на сервере с IspManager достаточно выполнить следующее:

  1. Открыть конфиг Apache для редактирования: nano /etc/apache2/apache2.conf
  2. Найти в конфиге блок отвечающий за локацию сайта на сервере и отредактировать её: <directory /var/www/user_name/data/www/site.name></directory>
    #php_admin_value open_basedir "/var/www/user_name/data:."
    AllowOverride none
    Deny from all
    ErrorDocument 403 /disabled/index.html
    /li>
  3. Перезапустить Apache: /etc/init.d/apache2 restart
January 12

запретить пользователям выполнять perl скрипты (ispmanager)

Для того чтобы запретить пользователям выполнять из под себя perl скрипты – достаточно просто сделать следующее:
server# whereis perl
perl: /usr/bin/perl /etc/perl /usr/lib/perl /usr/lib64/perl /usr/share/perl /usr/share/man/man1/perl.1.gz
server# chmod 700 /usr/bin/perl

Вот и все, становится намного меньше проблем)

January 7

как пропинговать блок адресов

Переодически сталкиваюсь с такой штукой – есть подсеть, пользователи из нее уезжают, но не спеша, соответственно имеем трудности с тем, чтобы отследить насколько она жива в тот или иной момент, но на самом то деле, выяснить это можно довольно быстро, Continue reading

September 3

warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory

сегодня наступил вот на такие грабли:
warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory

при этом команда sasldblistusers2 отрабатывает красиво, как и должно быть, ведь файлик то существует:
Continue reading

August 29

простая авто замена по файлу или куче файлов в одной папке (linux)

мне не спится и неймется, посему сделаю еще одну маленькую мэму (а звучит то как):
чего надо: поменять что-то одно на что-то другое в одном или куче файлов в папке, можно дрочится с командой find, не вы не подумайте, я не против неё, она мне даже по душе, но меньше чем вот эта кроха на perl:
perl -p -i -e 's/то_что_надо_поменять/то_на_что_меняем/g' /путь_к_папке_или_файлу/...

самое главное потом нажать Enter, без него не работает 😀

August 28

не много про rsync

бывает так, что в жизни из головы вылетают ключи ко всяким полезным программкам, в данном случае моё про rsync

rsync -av /home/username/files_dir login@domen.ua:backups

злобная буква “а” в данном случае заменяет ряд ключей:
r – синхронизировать рекурсивно.
l – при синхронизации сохранять символические ссылки
p – сохранять права на файлы
t – сохранять время изменения
g – сохранять группу
o – сохранять владельца
D – сохранять файлы устройства и спец файлы

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

-e “ssh -p1111” – где 1111 номер порта

более добрая “v” как и ранее держит нас в курсе событий выводя информацию о ходе процесса. стоит еще упомянуть о том, что можно использовать дополнительный ключ “z” – он предназначен для сжатия передаваемой информации, но если вы перегоняете фильмы или архивы, то большого толку от него не будет

July 19

Ставим и настраиваем систему мониторинга. под хитрым названием Monit

Итак, поехали.

Шаг номер один – Установка:
apt-get install monit
Как бы просто и говорить нечего, главное не втыкать а отредактировать файлик:
nano /etc/default/monit
Указав там значение равное одному, для того чтобы монит воскресал стартовал вместе с системой, в итоге имеем:
startup=1
еще не плохо сменить дефолтное время проверки с его раз в три минуты на гуманное и нужное – раз в 30ть секунд, ибо как не как а в жизни и на практике уже получше:

было:
# CHECK_INTERVALS=180
стало:
CHECK_INTERVALS=30

Шаг номер два – Конфиги:
Далек в лес за правдой ходить не будем, а зальем простенький конфиг, в данном случае мониторинг будет работать для nginx, apache, exim, mysql, ssh, ftp (proftpd), named (bind9), hdd (отслеживаем свободное место). Так сказать. все просто и со вкусом.

Поехали:

rm -v /etc/monit/monitrc
nano /etc/monit/monitrc

set daemon 30
set logfile syslog facility log_daemon
set mailserver localhost # fallback relay

set eventqueue
basedir /var/monit # set the base directory where events will be stored
slots 100 # optionaly limit the queue size
#
set mail-format {
from: monit@имя_твоего_сервера
Subject: monit alert - $EVENT $SERVICE
message:Action-> $ACTION
$DATE
$DESCRIPTION
}

set alert твое_мыло #кому пишем
set httpd port 2812 and # на каком порт ему жить
use address твой_ip_адрес # на каком адресе живет вебморда
allow твой_логин:твой_пароль # логин и пароль для доступа разделены двоеточием

# Proftpd

check process proftpd with pidfile /var/run/proftpd.pid
start program = "/etc/init.d/proftpd start"
stop program = "/etc/init.d/proftpd stop"
if failed port 21 protocol ftp within 2 cycles then alert
if failed port 21 protocol ftp within 5 cycles then restart
if 5 restarts within 5 cycles then timeout

# Exim

check process exim with pidfile /var/run/exim4/exim.pid
start program = "/etc/init.d/exim4 start"
stop program = "/etc/init.d/exim4 stop"
if failed port 25 protocol smtp within 1 cycles then alert
if failed port 25 protocol smtp within 2 cycles then restart
if 5 restarts within 5 cycles then timeout

# Bind

check process named with pidfile /var/run/bind/run/named.pid
start program = "/etc/init.d/bind9 start"
stop program = "/etc/init.d/bind9 stop"
if failed host 127.0.0.1 port 53 type tcp protocol dns then alert
if failed host 127.0.0.1 port 53 type udp protocol dns then alert
if failed host 127.0.0.1 port 53 type tcp protocol dns within 5 cycles then restart
if failed host 127.0.0.1 port 53 type udp protocol dns within 5 cycles then restart
if 5 restarts within 5 cycles then timeout

# SSHD

check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/ssh start"
stop program "/etc/init.d/ssh stop"
if failed port 22 protocol ssh within 2 cycles then alert
if failed port 22 protocol ssh within 5 cycles then restart
if 5 restarts within 5 cycles then timeout

# Nginx

check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
if failed host твой_ip_адрес port 80 type tcp protocol http within 2 cycles then alert
if failed host твой_ip_адрес port 80 type tcp protocol http within 5 cycles then restart
if 5 restarts within 5 cycles then timeout

# Apache

check process httpd with pidfile /var/run/apache2.pid
start program = "/etc/init.d/apache2 start"
stop program = "/etc/init.d/apache2 stop"
if cpu > 60% for 3 cycles then alert
if cpu > 90% for 5 cycles then restart
if totalmem > 350.0 MB for 1 cycles then alert
if totalmem > 400.0 MB for 5 cycles then restart
if children > 80 for 1 cycles then alert
if children > 100 for 2 cycles then restart
if failed host твой_ip_адрес port 8080 type tcp protocol http then alert
if failed host твой_ip_адрес port 8080 type tcp protocol http within 5 cycles then restart
if 10 restarts within 10 cycles then timeout

# Mysqld

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if cpu > 60% for 2 cycles then alert
if cpu > 70% for 5 cycles then restart
if failed host 127.0.0.1 port 3306 protocol mysql within 2 cycles then alert
if failed host 127.0.0.1 port 3306 protocol mysql within 5 cycles then restart
if 5 restarts within 5 cycles then timeout

# HDD
check device HDD_Usage with path /dev/simfs
if space usage > 50 % then alert
if space usage > 55 % then alert
if space usage > 60 % then alert
if space usage > 65 % then alert
if space usage > 70 % then alert
if space usage > 75 % then alert
if space usage > 80 % then alert
if space usage > 85 % then alert
if space usage > 90 % then alert
if inode usage > 80 % then alert
if inode usage > 85 % then alert
if inode usage > 90 % then alert

проверяем синтаксис:
monit -t
Control file syntax OK

Если все ок, то дальше делаем
/etc/init.d/monit restart
На этом настройка закончена, нас ждем управление с вебморды, в которую мы согласно этому конфигу и попадем перейдя по
http://твой_ip_адрес:2812/

Enjoy!