How to add IMQ patch to Ubuntu 10.04 Lucid Lynx

Those of you, who are having problems adding IMQ support to recent Ubuntu/Debian release, might consider this blog entry useful :)

I will not discuss what IMQ is and wheater is it good or bad – I will describe how to prepare kernel, iptables packages and how to deploy them to our Debian/Ubuntu system including taking care of making them immune to accidential system upgrade packages replacement.

Kernel package with IMQ support

Before we start – we need few packages that will might be required:

sudo aptitude install fakeroot build-essential kernel-package ncurses-dev

Now we are ready to start: first, we need our current kernel with distro patches. For desktop instance I would use -generic instead of -server:

apt-get source linux-image-2.6.32-22-server

Now, we download imq patch, apply it and compile kernel:

wget http://linuximq.net/patchs/linux-2.6.32-imq-test2.diff

cd linux-2.6.32/

patch -p1 < ../linux-2.6.32-imq-test2.diff

fakeroot time make-kpkg --initrd --append_to_version=imq linux-image

During the compilation process, make-kpkg script will discover unanswered features that we need to check as modules:

  "IMQ" target support (NETFILTER_XT_TARGET_IMQ) [N/m/?] (NEW) m

  IMQ (intermediate queueing device) support (IMQ) [M/y/?] (NEW) M

    IMQ behavior (PRE/POSTROUTING)

      1. IMQ AA (IMQ_BEHAVIOR_AA) (NEW)

    > 2. IMQ AB (IMQ_BEHAVIOR_AB) (NEW)

      3. IMQ BA (IMQ_BEHAVIOR_BA) (NEW)

      4. IMQ BB (IMQ_BEHAVIOR_BB) (NEW)

    choice[1-4?]: 2

    Number of IMQ devices (IMQ_NUM_DEVS) [16] (NEW)

Finally... in parent directory we will find:

linux-image-2.6.32.11+drm33.2imq_2.6.32.11+drm33.2imq-10.00.Custom_i386.deb

If everything went fine and our package is present - we can clean up compiled object files that will not be required anymore, recovering few GB of hard disk space:

./debian/rules clean

in case You forget to generate initrd file, it always might be generated by hand:

sudo -i

cd /boot/

mkinitramfs-kpkg -o initrd.img-2.6.32.11+drm33.2imq 2.6.32.11+drm33.2imq

update-grub

Iptables package with IMQ support

First, the patch - there is no iptables-1.4.4 imq patch available on linuximq.net I'm afraid. I have used iptables-1.4.6-imq patch and fixed it to compile with iptables-1.4.4.

Original patch can be found here.

Changes:

diff -Naurw iptables-1.4.6-imq.diff iptables-1.4.4-imq.diff
--- iptables-1.4.6-imq.diff	2010-01-27 11:53:22.000000000 +0100
+++ iptables-1.4.4-imq.diff	2010-05-08 13:18:21.000000000 +0200
@@ -43,7 +43,7 @@
 +
 +	switch(c) {
 +	case '1':
-+		if (xtables_check_inverse(optarg, &invert, NULL, 0, argv))
++		if (xtables_check_inverse(optarg, &invert, 0, argv))
 +			xtables_error(PARAMETER_PROBLEM,
 +				   "Unexpected `!' after --todev");
 +		mr->todev=atoi(optarg);

Ready to use patch can be downloaded from here using command below:

wget http://nme.pl/pub/patches/iptables-1.4.4-imq.diff

Ok, now since we got patch ready, we can download iptables sources and compile our deb package:

apt-get source iptables
cd iptables-1.4.4

cp ../iptables-1.4.4-imq.diff debian/patch/1009-iptables-1.4.4-imq.diff
echo "1009-iptables-1.4.4-imq.diff" >>debian/patch/series

patch -p0 < ../iptables-1.4.4-imq.diff

dpkg-buildpackage -rfakeroot -uc -b

In case You are recompiling for some reason, one of the distro patches might fail - in this case edit debian/patches/series using Your favourite editor and comment out the following patch:

0902-docs-version-reference.diff    ->    #0902-docs-version-reference.diff

Operation above might be archived by in place edition of debian/patch/series using command below:

sed -i 's/^0902/#0902/' debian/patch/series

When compilation ends, You should get two packages in parent directory: iptables and iptables-dev.

Installation & freezing our changes

Now we can install our packages:

dpkg -i *.deb

It will install following packages:

iptables_1.4.4-2ubuntu2_i386.deb
linux-image-2.6.32.11+drm33.2imq_2.6.32.11+drm33.2imq-10.00.Custom_i386.deb
iptables-dev_1.4.4-2ubuntu2_i386.deb

You might also consider holding packages to be sure that they will not be replaced during standard regular-basis upgrade:

aptitude hold linux-image iptables iptables-dev

IMQ development, status and replacement discussion

It is not true that recent IMQ patches are not stable as I have read on some web pages. Since Jussi joined the IMQ team, problems I have had with 2.6.18-24 kernels have gone to past.

Kernel 2.6.28.9 with iptables 1.4.0 works perfectly stable taking care of huge loads of network traffic. I think that current patch described above will work the same (im making before-production tests currently and it seems to work fine).

On the other hand - IFB - which is meant as replacement for IMQ - as for me - it does not offer the same functionality for bridge environment I need... Of course - I might be mistaken. Thats why - if anyone of You have replaced IMQ with IFB for bridge devices with ingress and egress traffic shaping - I'm very interested in the solution.

Jabber od Google w Pidginie

Coraz więcej osób wyraża w różnych serwisach niezadowolenie z najnowszych usprawnień oferowanych przez GG Network S.A. w swoim sztandardowym produkcie – komunikatorze Gadu-Gadu. Niemniej jednak, większość z nas chcąc czy nie chcąc korzysta z Gadu. Powodem, dla którego nie odchodzimy od niego są dwa główne czynniki – jego popularność oraz wciąż niewielka popularność Jabbera.

Czym jest Jabber?

Jabber, pracujący w oparciu o protokół będący otwartym standardem XMPP działa na zasadzie sieci rozproszonej. Każdy kto dysponuje domeną Internetową może postawić sobie swój własny serwer Jabbera i rozmawiać z innymi użytkownikami Jabbera na całym świecie.

Identyfikator w Jabberze, tzw. JID, ma postać konto@domena – czyli analogicznie do adresów email. Użytkownik łączy się do swojego serwera Jabber. Nie ma serwera globalnego. Nie zdarzy się zatem sytuacja, jaka ma miejsce w sieci Gadu Gadu, kiedy padają ich serwery i w całej Polsce nikt nie może rozmawiać na Gadu.

Serwerów Jabberowych oferujących darmowe konta jest dużo w Internecie. Wielu operatorów hostingowych którzy nie chcą zostawać w tyle, oferuje dla hostowanych u nich naszych domen, jednoczesną obsługę już nie tylko poczty, ale również Jabbera – przykładem jest ovh.pl.

Trzeba jeszcze nadmienić, że Jabber, pomimo braku intensywnego wzrostu użytkowników – nie jest w odwrocie. Protokół XMPP jest powszechnie uważany za bardzo dobry i niedoceniany. Ogólny trend Instant Message’ingu jest taki, że powstające komunikatory nie wymyślają już nowych, zamkniętych protokołów, tylko opierają się o XMPP. Oznacza to, że każdy nowo powstały komunikator będzie w stanie „rozmawiać” z naszym. Jeśli nie będzie – ma niewielkie szanse, żeby wogóle zostać zauważony.

Każdy z nas ma już konto Jabber w Google

Od jakiegoś czasu Google udostępnia nam coraz to więcej nowych usług, które w świetny sposób integrują się ze sobą. Ktoś kto zakłada sobie konto pocztowe w Googlach, automatycznie dostaje do dyspozycji konto w Google Talk, który jest w pełni zgodny z protokołem XMPP. Komunikatora tego można używać z poziomu Gmaila (Chat). Nie jest to jednak zbyt praktyczne. Nic nie stoi jednak na przeszkodzie, aby podłączyć się do tego konta z komunikatora w postaci programu zainstalowanego na naszym komputerze.

Konfiguracja Google Talk w Pidginie

Pidgin może jednocześnie obsługiwać wiele protokołów, a nawet wiele instancji takich samych protokołów. Możemy dzięki temu w jednym pracującym Pidginie mieć jednoczesny dostęp przykładowo do naszego konta Gadu-Gadu, konta na jakimś serwisie Jabberowym oraz Google Talk. Jak to zrobić?

W oknie Pidgina wybieramy z menu pozycję Konta / Zarządzaj:

Naciskamy Dodaj:

I przeprowadzamy właściwą konfigurację:

[nazwa konta] – to sprzed małpki z adresu email :)

[zasób] – warto podać tu inną wartość na każdym komputerze na którym pracujemy – dzięki temu jeśli np. zapomnimy zamknąć komunikator w pracy,  w domu „nie będzie nas rozłączać” i będziemy mogli prowadzić normalne rozmowy.

Jeśli używacie zdjęcia profilu w Google Profileważna uwaga: łącząc się z komunikatora – ikona użytkownika zastąpi tą w Google Profile. Dlatego warto na każdym komunikatorze pamiętać aby to zdjęcie ustawić – inaczej nasze zdjęcie w profilu Google będzie nam znikać.

Google Talk dla konta Google Apps

Jeśli pracujecie na koncie Gmailowym które jest skonfigurowane na Twojej własnej domenie (opis usługi popełniłem w tym wpisie), dobra wiadomość – również możemy skonfigurować sobie Google Talka, ustawienia są następujące:

[nazwa konta] – jak wyżej, czyli to co mamy przed małpką w adresie email

[domena] – nasza domena

Następnie w zakładce Zaawansowane (Advanced), w polu serwer wpisujemy talk.google.com – i to wszystko :)

Bardzo przyjemnym dodatkiem jest możliwość informowania nas przez Pidgina, że mamy nowe maile w Gmailu. Uważam, że to bardzo wygodne. Nowe maile Pidgin pokazuje w następujący sposób:

Integracja aplikacji w obrębie Google

Wspomniałem wcześniej, że Google bardzo fajnie integruje swoje usługi – świetnym przykładem jest pokazywanie statusu Google Talk w jednej z najlepszych aplikacji które oferuje nam Google jak zwykle nieodpłatnie – w Google Readerze (które przybliżyłem we wpisie Internet na bieżąco). Wygląda to tak:

Życzę wszystkim miłego uniezależniania się od Gadu-Gadu! :)

Powiadomienie SMS na OVH

Ten wpis jest zwieńczeniem trzech poprzednich i opisuje w jaki sposób umieścić skrypty na koncie shellowym. Jako, że już wspomniałem, że na chwilę obecną korzystam z usług OVH, uważam, że warto opisać, jak takie powiadomienia u nich uruchomić.

Potrzebne są dane do konta w Gmailu z aktywowanym kalendarzem. Jeśli chodzi o pliki – wystarczy biblioteka kliencka Google oraz przygotowana przeze mnie paczka. Oba pliki umieszczamy na koncie w katalogu domowym, logujemy się za pomocą ssh, po czym wydajemy następujące komendy:

tar jxvf sms-notify.tar.bz2
mkdir -p lib/api
cd lib/api
tar zxvf ~/gdata-2.0.1.tar.gz
cd ..
ln -s api/gdata-2.0.1/src/atom
ln -s api/gdata-2.0.1/src/gdata
cd ~

następnie edytujemy plik z ustawieniami ustawiając konto i hasło dla aplikacji:

nano lib/conf.py

Kiedy już to zrobimy – możemy sprawdzić czy działa pojedyncze powiadomienie:

./lib/sms.py @ovh testowe powiadomienie

SMS powinien przyjść na komórkę po czasie 1 minuty. Jeśli wszystko pójdzie dobrze, możemy wysłać na to konto pocztowe maila, a następnie wymusić pojedyncze sprawdzenie:

./lib/pop2sms.py

Następnie możemy sprawdzić te same operacje z poziomu skryptów CGI; w celu wysłania SMSa – odwiedzamy:

http://www.twoja-domena.pl/cgi-bin/sms.py?q=@gdzieś treść powiadomienia

a kiedy wyślemy sobie na konto maila, możemy sprawdzić czy doszedł, a następnie przekierować do komórki odwiedzając:

http://www.twoja-domena.pl/cgi-bin/pop.py

Jeśli wszystko działa, pozostaje nam tylko zalogowanie do interfejsu zarządzającego OVH i ustawienie crona… Niestety jednak, na ich serwerach sytuacja jest dość nietypowa, ponieważ najczęstszym wywołaniem nie jest wywołanie co minutę, ale co godzinę. Obniża to niestety odrobinę responsywność naszego automatu. W niektórych sytuacjach może to być akurat plus, ale jakby na to nie patrzeć – niestety – wymuszony ograniczeniami… Jeśli ktoś potrzebuje częstszych powiadomień – musi niestety umieścić skrypty w miarę możliwości na innych serwerach (lub ustawić / poprosić kogoś, kto ma konto gdzieś indziej, aby uruchomił u siebie skrypt wykonujący HTTP GET do naszego skryptu pop.py).

Decydując się na wykorzystanie OVH, warto pomyśleć o zmianie nazw plików w katalogu cgi-bin na bardziej losowe, np. sms.py -> sms-d9pVExhQg.py – dzięki temu zabiegowi możemy uniknąć ślepych prób uruchamiania skryptów z katalogu cgi-bin. Dla własnego użytku można dodatkowo ustawić sobie odpowiedni wpis w .htaccess za pomocą mod_rewrite, który będzie łatwiejszy do zapamiętania i wygodniejszy w użyciu.

Oskryptowanie Gmaila

Google nie udostępniło do Gmaila tak wygodnego API jak dla Google Calendar, którego przykład zastosowania umieściłem w poprzednim wpisie. Zastanawiając się jednak chwilę – mamy przecież dostęp do protokołu POP, więc jakieś API się znajdzie ;)

Kontynuując myśl z poprzedniego tekstu – jeśli mam już gotowy skrypt który potrafi wysłać powiadomienie SMS o konkretnej treści, można zrobić skrypt, który jako SMS wyśle np. temat z maila. Et voila:

Wymagania: Python 2.4+, skrypt z sms.py z poprzedniego wpisu.

#!/usr/bin/env python

__author__ = 'mw AT nme.pl'
__version__ = '1.2'
__date__ = 'pią lip 31 13:17:45 CEST 2009'

class setup:
    class google:
        login = 'KONTO@GOOGLE'
        password = 'HASŁO'

import poplib
import email
import email.Header
import sms

class Mailbox:

    def __init__(self):

        self.server = poplib.POP3_SSL('pop.gmail.com', 995)
        self.server.user(setup.google.login)
        self.server.pass_(setup.google.password)
        self.server.set_debuglevel(0)

        # fetch
        count = self.server.stat()[0]
        print count
        if count:
            for i in range(1,count+1):
                (header, msg, octets) = self.server.retr (i)
                mail = email.message_from_string('\n'.join(msg))
                subject = email.Header.decode_header(mail['Subject'])[0]
                if subject[1]:
                    subject = subject[0].decode(subject[1],'ignore')
                else:
                    subject = subject[0]
                #print subject
                sms.parse(subject.split())
                self.server.dele (i)

        # commit
        self.server.quit()

mbox = Mailbox()

Bramka SMS od Google

Oficjalnie Google takiej usługi przynajmniej w Polsce nie udostępnia. Można to jednak osiągnąć w sposób pośredni, który chciałbym dzisiaj przedstawić. Jest bardzo prawdopodobne, że już niebawem, stosowanie takich rozwiązań będzie zbędne, bo ceny usług transmisji danych tanieją, a telefony swoją funkcjonalnością przypominają coraz bardziej PDA.

Spośród aplikacji Google, powiadomienia SMS na tą chwilę możemy otrzymywać jedynie Google Calendar. Dzięki bardzo dobrej polityce tej firmy, do większości ich aplikacji dostępne jest API, które sprawia, że ich integracja ze swoimi rozwiązaniami jest znacznie prostsza. Calendar API jest świetnie udokumentowane, wystarczyła chwila i narzędzie do wysyłania SMS’ów było gotowe.

Do pełni szczęścia potrzebne jest konto w Google, a na nim Gmail i kalendarz. Posiadając własną domenę oraz uruchomione Google Apps, można założyć sobie dedykowane konto np. powiadomienia@domena.pl co jest znacznie elastyczniejszym rozwiązaniem.

Wymagania: Python 2.4+, Python Client Library

#!/usr/bin/python

__author__ = 'mw AT nme.pl'
__version__ = '1.1'
__date__ = 'pią lip 31 10:42:26 CEST 2009'

class setup:
    class google:
        login = 'KONTO@GOOGLE'
        password = 'HASŁO'
    retries = 3

from elementtree import ElementTree
import gdata.calendar.service
import gdata.service
import atom.service
import gdata.calendar
import atom
import getopt
import sys
import string
import time

class CalendarNotify:

    def __init__(self):

        self.cal_client = gdata.calendar.service.CalendarService()
        self.cal_client.email = setup.google.login
        self.cal_client.password = setup.google.password
        self.cal_client.source = 'api'
        self.cal_client.ProgrammaticLogin()

    def reminder(self,event,minutes):

        for a_when in event.when:
            if len(a_when.reminder) > 0:
                a_when.reminder[0].minutes = minutes
            else:
                a_when.reminder.append(gdata.calendar.Reminder(minutes=minutes))
        self.cal_client.UpdateEvent(event.GetEditLink().href, event)

    def event(self,title,where=None):

        try:
            # add event
            event = gdata.calendar.CalendarEventEntry()
            event.title = atom.Title(text=title)
            #event.content = atom.Content(text=content)
            if where:
                event.where.append(gdata.calendar.Where(value_string=where))
            start_time = time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time.time() + 180))
            end_time = time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time.time() + 180 + 60))
            event.when.append(gdata.calendar.When(start_time=start_time, end_time=end_time))
            new_event = self.cal_client.InsertEvent(event, '/calendar/feeds/default/private/full')
            # add reminder
            self.reminder(new_event,1)
        except:
            return False
        return True

def parse(args):

    where = None
    if len(args):
        if args[0][0] == '@':
            where = args.pop(0)

    count = 0
    while count < setup.retries:
        if cal.event(' '.join(args),where):
            break
        count += 1

try:
    cal = CalendarNotify()
except:
    print >>sys.stderr, 'Unable to login to Google Calendar!'
    exit(1)

if __name__ == '__main__':

    args = sys.argv
    name = args.pop(0)

    if not len(args):
        print >>sys.stderr, 'Usage: %s [@where] message\n' % name
        exit(1)

    parse(args)

Uruchamiając skrypt można podać opcjonalny parametr @lokalizacja, a następnie podajemy treść powiadomienia – przykładowa komenda:

./sms.py @firma awaria bazy danych

Mbank Mobile: E-mail jako SMS

Zdecydowałem się na skorzystanie z oferty wirtualnego operatora komórkowego Mbank Mobile, którego najnowsza oferta okazała się być prawie dokładnie taką, jakiej potrzebowałem.

Brakowało mi w ich ofercie informacji – czy (lub w jaki sposób) można wysłać sobie samemu na komórkę, smsy z Internetu. Każdy kto ma styczność z administracją serwerami lub aplikacjami, może potrzebować tego rodzaju powiadomień o problemach lub zdarzeniach.

Jak się okazało po włożeniu karty do telefonu – Mbank Mobile jest wirtualnym operatorem Plusa, zatem wysyłanie maili na 48xxxxxxxxx@text.plusgsm.pl działa normalnie.

Zanim jednak włożyłem kartę do telefonu… przygotowałem sobie rozwiązanie które:

  1. wykorzystuje powiadomienia SMS w aplikacji Google Calendar z poziomu skryptu
  2. uruchomiłem własny mail2sms uzupełniając rozwiązanie o funkcjonalność obsługi dedykowanego konta w usłudze Google Apps
  3. ostatecznie uruchomiłem na swoim koncie w OVH całą usługę

Dla własnych potrzeb zdecydowałem się ostatecznie na rozwiązanie oparte o Google – mam nadzieję, że komuś również się przyda :)

Google Apps: Twoje własne Google

google-apps-circle

Bez zbędnego wstępu – chciałbym Was namówić do wykorzystania kolejnej – darmowej i uzależniającej usługi od Google ;) Artykuł ten zakłada, że użytkownik posiada własną domenę – jeśli nie posiada – warto zapoznać się z poprzednim artykułem który dotyczy rejestracji domeny.

W sierpniu 2006, Google udostępniło światu nową usługę – Google Apps. Jej zadaniem jest umożliwienie wykorzystania aplikacji Google takich jak poczta, współdzielonych kalendarzy czy dokumentów w obrębie własnej domeny oraz przygotowanie jednolitej struktury stron startowych. Usługa ta powoli aczkolwiek systematycznie zyskuje zainteresowanie na rynku, a w lipcu 2009 straciła przypisek Beta – co oznacza, że można ją uznać za w pełni przetestowaną. Stało się to w tym samym momencie, w którym status testowy został zdjęty z takich aplikacji jak Gmail czy kalendarz, co tylko pokazuje, jak bardzo usługa Apps jest z nimi głęboko zintegrowana. Zmiany i aktualizacje są dość częste, dostępny jest kanał RSS (po angielsku).

Google Apps (nie mylić z Google App Engine) dostępne jest w dwóch wersjach – profesjonalnej – przygotowanej dla przedsiębiorstw, oraz standardowej – dla mniejszych społeczności. Wersja profesjonalna jest pozbawiona ograniczeń ilości kont. Wersja standardowa ma takie ograniczenie, ale jest darmowa. Ja mam w mojej instancji ustawiony limit 100 kont użytkowników, ale zaraz obok limitu jest odnośnik do formularza w którym można poprosić o zwiększenie limitu podając ilość kont które będą nam potrzebne wraz z uzasadnieniem prośby. Zdaje się, że obecnie zakładane konta mają domyślnie ograniczenie do 50 kont co i tak jest w pełni wystarczające dla naszych potrzeb.

Co zyskamy rejestrując się w usłudze Google Apps w wersji standard:

  • możliwość zakładania dla siebie i dla swoich bliskich lub znajomych kont w postaci nazwa_konta@twoja_domena
  • możliwość przygotowania serwisu WWW dla swojej domeny w operaciu o Google Sites
  • możliwość stworzenia strony startowej w stylu iGoogle, z widgetami oraz wyszukiwarką Googli, rzecz jasna
  • możliwość przygotowania współdzielonych kalendarzy i dokumentów w obrębie swojej domeny
  • aplikacja Gmail dla każdego konta

Oznacza to nic innego jak możliwość dalszego wykorzystywania usług Google, z tą różnicą, że w obrębie własnej domeny Internetowej oraz pełną customizację – możemy zmienić logo Google na swoje, dodać dodatkową treść i ujednolicić interfejs dla wszystkich.

Wymienione przeze mnie wyżej powody mogą wydawać się mało istotne. Według mnie jednak skorzystać z tej możliwości i to z kilku powodów…

Przede wszystkim – będziemy polegać na najprężniej rozwijającej się na świecie firmie, której polityka (hasło „Nie czyń zła”, zadbaj jak możesz o swoich pracowników, daj klientom coś użytycznego i zarabiaj na usługach pochodnych) jest obecnie wzorem dla innych firm. O Google można opowiadać wiele, ale trudno znaleźć coś złego. Są niesamowicie oszczędni i wiedzą na czym należy w pierwszej kolejności to robić – zaprojektowane przez nich energooszczędne, dobrze chłodzone farmy serwerów w kontenerach wywodzące się z komputerów PC były chyba absolutną nowością na taką skalę. Słyszał ktoś kiedyś, aby Microsoft martwił się o pobór mocy ich serwerowni? Po co, w końcu klienci kupią te Windowsy czy pakiety Office i będą mieli na rachunki. Google jest też bardzo niezawodne, ma serwerownie na całym świecie, wykorzystuje rozpiętą po świecie superszybką sieć Akamai aby zapewniać użytkownikom końcowym jak największy komfort pracy. Daje nam też bardzo wiele produktów, za które wszystkie inne firmy zarządałyby opłat. To może zabrzmieć zabawnie, ale to Google na tą chwilę, dzięki swojej konkurencyjności kreuje ceny wielu produktów na rynku. No i… są tak dobzi, że mają u mnie darmową reklamę w postaci tego tekstu :)

Druga sprawa – usługa Google Apps daje nam możliwość stworzenia dla siebie coś na kształt koszyka usług, dokładnie tak, jak specjaliści finansowi proponują robić z poszczególnymi rachunkami bankowymi w obrębie danego banku. Świadomy użytkownik Google Apps może odpowiednio przygotować dla siebie konta które będą służyły do różnych celów – takich przykładowo jak poszczególnie definiowanie grup mailowe, gdzie każda grupa posiada odrębne konto (a następnie ustawienie przekierowywania poczty na swoje właściwe konto).

No i trzeci powód – w tym roku, na Google IO, firma zaprezentowała protokół wraz z implementacją, nad którym obecnie pracują, który ma być w stanie zostawić obecne sposoby komunikacji takie jak email – daleko w tyle. Google Wave, bo o nim mowa, jeśli się nie mylę, na samym starcie będzie zintegrowany z Google Apps. Dzięki temu firmy, które będą chciały go wykorzystać, będą mogły to zrobić w najprostszy sposób wykorzystując właśnie tą usługę. Zanim powstaną interfejsy do API od firm, użytkownicy Google Apps będą się już mogli cieszyć Google Wave.

Twoja własna domena

Postanowiłem przygotować kilka artykułów traktujących o „zaistnieniu w sieci”. Określenie to zmieniło ostatnio trochę swoje znaczenie z powodu wysypu serwisów społecznościowych takich jak Nasza-klasa czy Facebook, ale mnie chodzi o stworzenie strony Internetowej na której mamy pełną swobodę edycji treści i układu. O serwisach społecznościowych zamierzam zresztą również trochę napisać, ale w późniejszym czasie ;)

Teksty te nie będą jednak poradnikiem który należy w pełni przerobić, a jedynie luźnymi sugestiami i podpowiedziami mającymi za zadanie ułatwić czytelnikowi pierwsze kroki. Zdecydowałem się na wymienienie konkretnych rozwiązań z którymi się zetknąłem, ich ocenę oraz wybór najlepszego pod względem cenowym i jakościowym. Postanowiłem też na przedstawienie gdzie to tylko możliwe dwóch według mnie najlepszych wariantów – jeden – najlepszy spośród darmowych, drugi – najbardziej konkurencyjny, ale płatny.

Własna domena – .pl, .com czy inne – pytanie czy jest Ci potrzebna. Zwykle, a już napewno na samym początku – można się bez niej obejść. Wiele darmowych rozwiązań hostujących oferuje nam możliwość umieszczenia swojej treści jako poddomena. Z darmowych rozwiązań, pozbawionych reklam (możemy dodać własne, jeśli chcemy na witrynie w ten sposób zarabiać), ograniczając do samego Google:

Google oferuje nam również darmową usługę Google Sites, w której tworzone strony mają adres w postaci http://sites.google.com/site/twoja_nazwa/ .
Każda z wymienionych powyżej usług Google daje nam również możliwość wykorzystania własnej domeny.

Jeśli zatem zdecydowaliśmy się na własną domenę – niestety trzeba liczyć się z kosztami. Nie są one duże, ale warto dokładnie zastanowić się gdzie tą domenę kupić, aby koszty nie okazały być znacznie większe.

No to zaczynamy:

Serwis domeny.pl – sprawdźmy co piszą o nich inni – wyszukiwanie „domeny.pl” w serwisie Wykop: przerażające wyniki (lokalna kopia). O serwisie swojego czasu zrobiło się bardzo głośno kiedy domeny w promocji z serwerami za bodajże 30 zł okazywały się już po 3 miesiącach znacznie droższe, a firma domeny.pl jeśli ktoś nie uiścił opłaty – kierowała sprawę do sądu. Napisałem wcześniej, że moje wypowiedzi będą dotyczyły serwisów z którymi miałem styczność – nigdy nie byłem ich klientem, ale uważam, że o tym serwisie słyszałem już tyle złego, że warto o tym, wspomnieć dla przestrogi. Wydaje mi się, że wystarczy. Zakop ;)

Serwis nazwa.pl – firma NetArt – byłem ich klientem przez kilka lat. Wykupiłem za ich pośrednictwem kilka domen, a następnie je przedłużałem. Do takich celów serwis nadaje się wyśmienicie – dostajemy przypomnienia, że domena wygasa, fakturę, po uiszczeniu opłaty dostajemy informację, że opłata wpłynęła i domena została przedłużona – pełen profesjonalizm… NetArt był początkowo całkiem konkurencyjny cenowo na rynku, z powodu absurdalnie wysokich cen w NASK. Z czasem jednak, kiedy dostawca ten poczuł się wystarczająco pewnie – przestał być konkurencyjny. Jako klient posiadający u nich swoje domeny, z panelu administracyjnego miałem do wyboru następujące możliwości:

  • zaparkowanie domeny (czyli domena nie skonfigurowana)
  • ustawienie własnych serwerów DNS (usługa hostingowa u operatora zewnętrznego)
  • wykorzystanie usługi hostingowej NetArt

Wykorzystywałem drugą – co to oznacza? Chodzi mianowicie o to, że musiałem wykupić usługę hostingową w innej firmie. Tą firmą był RISP – usługa hostingowa z shellem oraz interfejs zarządzania domeną – bardzo atrakcyjnie cenowo.  Dlaczego na to się zdecydowałem? Ponieważ oferta hostingowa NetArt jest dość ograniczona oraz jest stosunkowo droga.

Okej, co mają inni czego nie ma NetArt? Możliwość zarządzania swoją domeną. Według mnie jest to absurdalne, że tego nie oferują swoim klientom. Uważam, że w obecnych czasach jest to nie do pomyślenia, o czym miałem okazję już ich nawet informować. Firma wysyła swoim klientom maile opisując usprawnienia jakie się u nich pojawiają, wysłałem do nich maila, na który jednak nie dostałem odpowiedzi. Kilka miesięcy później dostałem kolejny opis usprawnień w ich ofercie, stwierdziłem, że zostałem kompletnie zignorowany i od nich odszedłem. Transfer domeny z NetArt jest również realizowany przez nich profesjonalne. Wszystko udało mi się załatwić błyskawicznie, razem z weryfikacją listowną. Żadnych zastrzeżeń.

Wracając jeszcze do szczegółów ich oferty – sprzedaży domen bez interfejsu do ich zarządzania – to bardzo ciekawy biznes – to tak, jakby ktoś otworzył lodziarnię i nie miał kubeczków. Chociaż… w Warszawie ponoć panuje ostatnio moda na chodzenie wszędzie z kubkiem ze Starbucks’a, więc tam taki biznes mógłby odnieść sukces ;)

Czasy się zmieniają, a oferty firm stają się bardziej kompleksowe. Wykorzystując ten fakt, przeniosłem się do OVH i póki co jestem zadowolony. Ich oferta jest bardzo zróżnicowana – zależnie od potrzeb klienta. Możemy obsługiwać tylko i wyłącznie domeny, możemy wykupić małą usługę hostingową na środowisku wirtualnym, a ostatecznie, jeśli okaże się, że potrzebujemy jeszcze więcej – w ich ofercie są serwery dedykowane. Oferta jest bardzo kompleksowa – wykupując 90plan, dostałem rozbudowany interfejs do zarządzania bazami danych, możliwość zarządzania pocztą (z której nie korzystam, bo preferuję darmową ofertę Google w tym temacie), obsługę Jabbera dla mojej domeny no i oczywiście shell. Są również bardzo konkurencyjni cenowo.

W wypadku tak zaawansowanych serwisów jak OVH, trzeba wziąść pod uwagę ważną kwestię – osoba, która nie jest zbyt techniczna, może mieć problemy z konfiguracją usług jeśli ustawienia domyślne okażą się niewystarczające.  Interfejs konfiguracji domeny jest łatwy dla osoby, która potrafi administrować serwery DNS, ale raczej nie dla zwykłego użytkownika. Warto więc, jeśli nie jesteśmy w pełni techniczni, znaleźć sobie kogoś, kto nam w tym pomoże. Tutaj można wymienić jeszcze jedną zaletę OVH – w interfejsie zarządzającym możemy zdefiniować odrębne konta do interfejsu administracyjnego dla właściciela DNS, administratora serwera, administratora poczty i w obrębie każdego z nich możliwość zdefiniowania kontaktu technicznego. Można w ten sposób uniknąć sytuacji z którymi już miałem okazję się spotkać – kiedy to administrator na swoim koncie u operatora miał zarejestrowaną domenę firmy, w której pracował.

Osobiście polecam OVH, ale po cichu czekam z nadzieją, aż Google udostępni tego rodzaju usługi za darmo, wraz z obsługą domen narodowych oraz wszystkich typów wpisów. Gdyby się to stało, prawdopodobnie wystarczyłoby jedynie opłacać za pośrednictwem Google własną domenę nie ponosząc już żadnych innych kosztów. Póki co, Google oferuje taką usługę, podczas rejestracji konta w Google Apps, ale rejestrację wykonuje firma partnerska Google, a użytkownik jest ograniczony jedynie do podstawowych domen (.com, .net itp). Kiedy jednak Google zdecydowałoby się na taki krok – oznaczałoby raczej rychły schyłek mniejszych providerów oraz prawdopodobnie szybkie podbicie rynku rejestratorów domen. Jest to niestety mało prawdopodobne z powodu ich polityki. Jeśli jednak coś w tym temacie się zmieni – napewno o tym napiszę.

Internet na bieżąco

Ikona RSSDostępność Internetu w ciągu ostatnich 10 lat umożliwiła umieszczenie w nim ogromnej ilości informacji w postaci treści na stronach WWW. Odszukanie tego, co nas interesuje to obecnie kwestia sekund lub w gorszym wypadku minut. Docieramy do tego zwykle używając wyszukiwarek Internetowych (Google, Yahoo, czy Bing). Są jednak takie sytuacje, w których bardziej od wyszukania informacji na dany temat, jesteśmy zainteresowani śledzeniem zmian w ich obrębie. Do takich celów stworzono kanały RSS / Atom, których wygodę użycia chciałbym omówić jako pierwszy tekst na tym nowopowstałym blogu :)

Dla kogo ten wpis może okazać się przydatny? Wydaje mi się, że dla każdego, kto ma dostęp do Internetu i lubi czytać informacje na tematy które go interesują. Wiele osób nie zdaje sobie sprawy, że RSS jest taki prosty w obsłudze i kończy na takich stronach jak Onet,  czytając bzdurne teksty których celem jest przyciągnięcie uwagi każdego, a jednocześnie nie niosące za sobą żadnej treści (żeby przypadkiem kogoś nie urazić, rzecz jasna).

Trochę historii

Najpierw trochę historii – na samym początku WWW, treść (ang. content) na stronach była raczej niezmienna, nie było jej wiele i służyły one tylko określonym jednostkom. Kiedy zaczęło jej przybywać, twórcy stron skupili się na odpowiednim sposobie ich kategoryzowania. Zaczęły się wtedy pojawiać się nowe linki, podstrony.  Serwery WWW serwowały wtedy jedynie przygotowane statyczne dokumenty HTML. Kiedy różnego rodzaju treści zaczęło przyrastać, administratorzy zaprzęgneli do pracy bazy danych i języki programowania, które umożliwiły generowanie treści stron dynamicznie. Otwartość kodu, sprawiła, że rozwój w tym zakresie był bardzo szybki, co umożliwiło przeciętnemu domorosłemu programiście stworzenie całkiem wymyślnej aplikacji po stronie serwera. Niedaleko potem w przeglądarkach Internetowych pojawiła się implementacja objektu XMLHttpRequest dzięki któremu strony stały się jeszcze bardziej responsywne, a Macromedia (później Adobe) umożliwiła strumieniowanie muzyki i video w osadzonym na stronie obiekcie Flash.

Wtedy mniej więcej wyłonił się Web 2.0 – strony Internetowe, które umożliwiały użytkownikom intereakcję, zmieniając się, siłą rzeczy w aplikacje Internetowe. Zwykły użytkownik był teraz w stanie zamieszczać treść w intuicyjny sposób. Znajomość języka HTML przestała być już konieczna. Pojawiły się blogi i reklamy kontekstowe. Nowy ekosystem zaczął żyć pełnią życia. Wszystko czego brakowało do szczęścia to ujednolicenie języka opisu „życia” takiego konkretnego bloga lub serwisu Internetowego. Kiedy tylko pojawiał się nowy wpis – informacje o nim są umieszczane w jego kanale RSS / Atom. Atom jest nieco świeższy niż RSS i umożliwia zawarcie w danym kanale więcej informacji i w przeciwieństwie do RSS będzie nadal rozwijany.

Kanały RSS i Atom

Co się z nimi robi? Subskrybuje – można wykorzystać do tego odrębny program lub inną aplikację Internetową. Ja preferuję Google Readera. Aby móc z niego skorzystać, wymagane jest założenie konta w Google. Mamy tutaj dwie możliwości – jeśli nie mamy konta pocztowego – możemy założyć konto Google wraz z kontem Gmail lub założyć konto Google powiązane z kontem pocztowym w innym serwisie. Będąc zalogowanym w Google, możemy przejść do Google Readera i zacząć subskrybować serwisy, które udostępniają nam kanały RSS / Atom:

rss_in_url

Google Reader – komfort i wygoda

Od kiedy zacząłem korzystać z tej aplikacji, śledzenie informacji stało się prostsze, wygodniejsze oraz dostępne z każdego miejsca. Obenie przy subskrypcjach które posiadam, nie potrzebuje już czytać czasopism informatycznych, a kiedy do takich zaglądam, okazuje się, że nowości o których piszą czytałem 2-3 miesiące wcześniej.

Google Reader wygląda mniej więcej tak (osobiście używam wersji angielskiej, domyślnie aktywna jest wersja polska):

google_reader_screenshot

Od czego warto zacząć

Na koniec tego tekstu, chciałbym polecić kilka serwisów na dobry początek. Zapewne macie swoje ulubione strony na których okaże się, że dostępny jest kanał RSS lub Atom – trzeba sobie tylko wyrobić odruch i odszukać tą magiczną ikonkę którą zakreśliłem powyżej. Tak czy inaczej, uważam, że warto dodać kanały z poniżej zaprezentowanych przeze mnie stron… w końcu zawsze można je później usunąć:

Relaks

http://kopalniawiedzy.pl – Rewelacyjne ciekawostki ze świata

http://www.990px.pl – Fotoreportaże w świetnej jakości na różne tematy

http://www.joemonster.org – jeśli już nic nie potrafi rozśmieszyć – to ostatnia deska ratunku ;)

Ekonomia

http://forsal.pl – Informacje z dziedziny gospodarki i ekonomii

http://www.trystero.pl – Niezwykle aktywny twórca bloga finansowego

http://dwagrosze.blogspot.com – Humorystyczne felietony o gospodarce, polityce i ekonomii

Branża IT

http://www.heise-online.pl – Według mnie – najlepsze newsy z branży informatycznej

http://www.ubucentrum.net – Używasz Linux Ubuntu? Jeśli tak – to obowiązkowa lektura

http://vbeta.pl – Wydarzenia w tematyce serwisów społecznościowych i Internetu

Oczywiście, jeśli któryś z serwisów trafi do Waszego Readera, a nie przypadnie Wam do gustu – jak wspomniałem wcześniej – możecie go usunąć. Polecam jednak stworzyć sobie kategorię – np. Niefajne – i tam je wrzucić. Może przecież nadajść chwila, że będziecie się nudzić i może akurat przeglądnięcie tej kategorii dostarczy Wam rozrywki.
Edit: Tekst został odrobinę odświeżony.
Zdecydowałem niefortunnie, że będzie on pierwszym wpisem na tym blogu – nie znalazł on z tego powodu niestety zbyt wielu odbiorców, a szkoda.
Zachęcam do zapoznania się z tym tekstem oraz wypróbowania Google Readera – dla mnie przynajmniej ta aplikacja jest krokiem milowym w surfowaniu ;)