Domain path: /www/domain.com/www/root/
## Servers
server {
listen 80 default;
server_name localhost;
index index.php;
if ($host ~* "([^\/]+)\.([^\.\/]+\.[^\.\/]+)" ) {
set $prefix /$2/$1/root;
}
root /www$prefix;
location ~ \.php$ {
fastcgi_pass CGI_FARM_NAME_HERE;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_read_timeout 120;
fastcgi_next_upstream error timeout invalid_header;
include fastcgi_params;
}
location ~ /\.ht { deny all; }
location ~* \.(jpg|jpeg|gif|png|swf|ico)$ {
gzip off;
expires 5d;
}
location ~* \.(js|css)$ {
expires 6d;
}
}
Lenovo Active Protection System (APS) е онова нещо, на което ще сте благодарни когато изпуснете лаптопа си от високо… не много високо
При местене и съответно изпускане на лаптопа, APS изключва хард диска, като това увеличава шансовете Ви да извадите от него непокътнатата си информация след тежко падане.
Как се инсталира под Ubuntu 11.10:
sudo apt-get install hdapsd tp-smapi-dkms
Надявам се никога да не Ви се налага да използвате възможностите на Lenovo Active Protection System.
Това е първият ми пост, който е по-скоро въпрос, отколкото решение на даден проблем.
Проблем:
Как да направим shared hosting с Nginx + PHP-FastCGI?
Условия:
1. Всеки потребител да има собствена директория и да не може да излиза от нея когато е логнат през SSH.
2. Да няма стартиран FastCGI процес за всеки различен потребител. Тоест, всички потребители да споделят един и същ FastCGI процес.
3. Не трябва при разглеждане на директориите с PHP скрипт, потребителя, който е пуснал скрипта да има достъп до останалите хостинг акаунти на машината.
Това, което мисля е, че точки 2 и 3 са взаимно изключващи се, но тъй като нямам цялостно решение на проблема си, приемам всякакви съвети.
или
Където /dev/hdc1 е partition-a, който искаме да форматираме
Как да накараме mdadm да ни информира ако имаме проблем с някой от RAID масивите?
Елементарно:
mdadm --monitor --scan --mail=MAIL@DOMAIN.com --delay=3600 --daemonize --test
Елементарно
/var/qmail/bin/qmail-qstat
Пример за това колко мейла има в опашката:
[12:04:03] blagomir@butterfly [~] #: /var/qmail/bin/qmail-qstat
messages in queue: 44
messages in queue but not yet preprocessed: 0
Пример, с който да покажем до къде изпращаме мейли:
[13:30:06] blagomir@butterfly [~] #: /var/qmail/bin/qmail-qread
16 Jul 2011 10:30:29 GMT #4199501 640 <info@domain.bg>
remote MAILBOX@DOMAIN.org
18 Jul 2011 08:17:14 GMT #4530632 643 <info@domain.bg>
remote MAILBOX@DOMAIN.org
If you wish to use GUI for fdisk, just use cfdisk
Както може би знаете, при изпълнението на всеки cron, output-а се изпраща до системния потребител изпълнил cron-a. Точно за това днес получих алерт от един от сървърите, че има необичайно голям mail файл за един от потребителите на машината.

Лесно решение на проблема. Отиваме в папката с mailboxes и разбира се потвърждаваме големината на файла:
server:~# cd /var/spool/mail
server:/var/spool/mail# ls -lh
total 3.8G
-rw------- 1 mail mail 3.8G 2011-04-27 09:13 user
-rw------- 1 root mail 5.2K 2011-04-05 16:45 root
Лесно го затриваме
В моя случай изпразваме съдържанието на файла:
server:/var/spool/mail# echo > user
Тези команди ще ви помогнат да се защитите от DoS атака. Посредством тях, ще блокирате всяко IP, което за 60 секунди има повече от 20 връзки (connections) към текущата машина:
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 20 -j DROP
Резултат от командата:
[root@server ~]# netstat -alpn| grep ":80"| awk '{ print $5 }'| cut -d: -f4| sort| uniq -c | sort -n
1 *
3 66.249.72.131
16 81.100.74.82
17 82.12.246.158
19 212.183.140.13
19 78.148.123.94
20 85.211.47.252
20 86.166.141.234
20 87.97.215.7
20 89.253.191.173
20 91.92.170.172
20 94.156.57.170
20 94.169.158.18
22 77.78.11.99
Разбира се това е само пример и можете да смените стоностите за секунди (60) и брои връзки (20).
Имайте впредвид, че максималните стойности за –seconds са 60, а за –hitcount са 20
За да премахнете правило (RULE) от iptables използвайте следните команди.
Лист на всички правила в iptables:
iptables -L INPUT -n --line-numbers
[root@server ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 state NEW recent: UPDATE seconds: 60 hit_count: 20 name: DEFAULT side: source
2 tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 state NEW recent: SET name: DEFAULT side: source
3 fail2ban-SSH tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
4 DROP all -- 67.195.0.0/24 0.0.0.0/0
[root@server ~]#
За да изтрием правилото за блокиране на IP-тата в този случай пишем:
Преди известно време си играх с DKIM и ми трябваше начин да верифицирам дали домейна, който подписвам е валиден.
Намерих този интересен tool, който свърши чудесна работа