nginx hotlinking

kwiecień 27th, 2008

Dziś kawałek konfiguracji nginx, która ma uniemożliwić ‘hotlinkowanie’ np obrazów.

Wykorzystany zostanie do tego moduł ‘map’

Najpierw sekcja http

http {
map $referer $forbidden {
hostnames;
default 1;
*.eqax.pl 0;
}
...

W ten sposób zdefiniowano, że tylko $http_referer zawierający *.eqax.pl będzie będzie zezwalał na pobieranie poniżej określonej zawartości.

Poniżej w sekcji server

set $referer "";
if ($http_referer ~* '^http://([^:/]+)') {
set $referer $1;
}
...

Pozostało jedynie określić jakie pliki mają być chronione (kryterium to rozszerzenie)
location ~ \.(jpg|jpeg|gif|avi|png|mov|mpg|mpeg|pdf)$ {
if ($forbidden) {
rewrite ^ http://www.eqax.pl/stollen.jpg;
}
expires 1w;
}

Od razu ‘przy okazji’ przekazano dyrektywę odnośnie okresu cache’owania w/w plików.

wtorek

kwiecień 9th, 2008

Niestety wiosenna edycja Forum IBM ominęła mnie, ponieważ pół poniedziałku, cały wtorek i pół środy spędziłem na poznawaniu “Mercury Quality Center”. Nie będę rozpisywał się o narzędziu ponieważ jestem zdegustowany a całą funkcjonalność można opisać jednym zdaniem:

“Wielkie narzędzie do w pełni automatycznego ręcznego przeprowadzania testów … plus raportowanie” super i do tego ‘leciutkie’ (już nieduży klaster wystarcza)

PLD + apache2 + suexec + fcgi + php = działa

kwiecień 2nd, 2008

Oj poświęciłem nieco czasu i nerwów aby zmusić cały komplet software wymieniony w tytule posta do działania.

Continue Reading »

Gdy MySQL wymądrza się

marzec 30th, 2008

Dziś trafiłem na dziwne zachowanie MySQL, próbował zabezpieczyć się przed moimi działaniami na wszystkie sposoby :)

Są dwa pliki z kodem SQL, jeden czysty ‘create’ a drugi to ‘insert’, musiałem rozszerzyć nieco pewne tabele o klucze obce ale nie chciało mi się zmieniać porządku tworzenia ich więc dodałem wymagane kolumny aby potem za pomocą ALTER TABLE dodać klucze obce.

Niespodzianka

ALTER TABLE messages_customer ADD CONSTRAINT messages_customer_key2 FOREIGN KEY (customer_id) REFERENCES user_accounts(id) ON DELETE CASCADE ON UPDATE CASCADE;
ERROR 1452 (23000) at line 778: Cannot add or update a child row: a foreign key constraint fails (`adnet_full/#sql-40d6_d2d8`, CONSTRAINT `messages_customer_key2` FOREIGN KEY (`customer_id`) REFERENCES `user_accounts` (`id`))

Ponieważ w żadnej z tabel nie ma jeszcze danych. Okazuje się, że trzeba “przytępić” nieco wbudowane triggery mysql czyli

SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE messages_customer ADD CONSTRAINT messages_customer_key2 FOREIGN KEY (customer_id) REFERENCES user_accounts(id) ON DELETE CASCADE ON UPDATE CASCADE;

SET FOREIGN_KEY_CHECKS=1;

I już da się rozszerzyć tabelę.

error

marzec 18th, 2008

Błąd przy instalacji poprzez PLD RescueCD

Fatal: Kernel doesn't support initial RAM disks

Okazuje się, że problemem jest brak brak odpowiednich wpisów w /etc/modprobe.conf Wystarczyło cp /etc/modprobe.conf /a/etc/modprobe.conf

[root@rescue /boot]# geninitrd -v /boot/initrd-2.6.16.45-1smp.gz 2.6.16.45-1smp
Using /dev/cciss/c0d0p2 as device for rootfs
Using modules: kernel/drivers/scsi/scsi_mod.ko.gz kernel/drivers/block/cciss.ko.gz kernel/fs/jbd/jbd.ko.gz kernel/fs/mbcache.ko.gz kernel/fs/ext3/ext3.ko.gz
/bin/initrd-busybox -> /tmp/initrd.TzuDmy/bin/initrd-busybox
Loading module [scsi_mod] without options.
Loading module [cciss] without options.
Loading module [jbd] without options.
Loading module [mbcache] without options.
Loading module [ext3] without options.
Adding rootfs finding based on root= option support.

Tada … skleroza nie boli ale stresuje ;)

Pogoda

marzec 18th, 2008

Zawsze i wszędzie powtarzam … nienawidzę śniegu, określam to nawet mianem białego niecenzuralnego organu płciowego …

Jeśli chce słońca i gorąca to udaję się w tropiki, jeśli słońca to nad morze, jeśli mrozu i śniegu to na daleką północ, jeśli śniegu to w polskie góry,
ale nie w Warszawie w centrum Polski w strefie umiarkowanej a muszę znosić po tarczki wiosny z zimą.

Nienawidzę śniegu !!! NIENAWIDZĘ śnieg poniżej 2000m nad poziomem morza powinien zostać zakazany i już !

część adnet

marzec 3rd, 2008

Od jakiegoś czasu na potrzeby eqax.pl rozwijam komplet skryptów które dumnie ochrzciłem ‘AdNet Infrastructure’, jest to kilkaset kilo perl’a oraz bash’a, które parsuje metapliki wypluwane przez automatykę bazy danych i inne ustrojstwa.

Aktualnie okazało się, że należało obsługiwać już kolejną bazę danych w pgsql, więc postanowiłem stworzyć coś co ułatwi backupy. Dodam, że lokalizacja backupów jest dość specyficzna ponieważ mają lądować (jak inne) bezpośrednio w specjalnej strukturze katalogów która potem jest linkowana i mapowana do katalogów domowych użytkownika.

Wersja tutaj opisywana jest testowa zabawa raczej ponieważ to co wiedziałem o pgsql to w większości zapomniałem :) proszę więc o komentarze i uwagi :)

AdNet-pgsql_backup

motto

marzec 2nd, 2008

hasło na dziś:

“jak mi się nie chce nawet iść spać” najlepiej oddaje stan ducha ;)

‘Chamstwa nie zniese’ ciąg dalszy

luty 21st, 2008

Oj starzeję się chyba albo wszelkiej maści idioci, debile i prostacy wypełźli ze swych nor czując nadchodzącą wiosnę.

Continue Reading »

Upgrade stacji roboczej

styczeń 30th, 2008

Postanowiłem nieco zmodernizować komputer, który wykorzystuję jako stację roboczą.

Dotychczas wykorzystywany AMD 3500+ z 1GB RAM nie był już w stanie w rozsądnym czasie podołać mieleniu kerneli i OpenOfficów :) Pora na wirtualizację oraz wielordzeniowość. Nie zapadła jeszcze decyzja czy będzie to AMD czy Intel, ale skłaniam się ku Intelowi ponieważ chciałbym wykorzystać SLi nVidii (ATI i linuks ciągle nie lubią się szczególnie), jedyny niesmak to ceny DDR3 ;(

Dual Core / Quad Core, ilość cache, ilość zaimplementowanych funkcji … ojoj dużo analiz i porównań ;) aktualnie nie chce mi się więc zacząłem od nieuniknionego czyli wymiany zasilacza … Continue Reading »

Next »