Zgodnie z obietnicą dziś pierwsza druga część poradnika pod tytułem „Mamo, mamo mam Debiana”, w którym to poradniku zajmujemy się leczeniem choroby wenerycznej jaką jest wkurwiający brak dobrego hostingu w kraju czwartego świata internetu jakim jest Polska.
Jako, że mam zamiar poprowadzić was za rączkę i nóżkę po tym co mam zamiar zrobić więc musimy zacząć od podstaw. Zakładam, że masz pojęcie co to jest Linux. Zakładam też, że serwer będzie ci służył do czegoś więcej niż wymachiwaniem nim przed kolegami. Jak masz zamiar szpanować to se kup MacBooka i udawaj żeś trędi, dżazi lub zarażony kiłą. Istotą informatyki jest ułatwianie życia, a nie szpan.

Po co? Na co?

Zanim cokolwiek zainstalujesz, kupisz czy uruchomisz weź kajecik, ołówek i pisz. Stwórz listę rzeczy, które masz zamiar umieścić na serwerze. Jest to bardzo ważne ponieważ na tej podstawie będziesz wybierał sprzęt, a co za tym idzie lista ta wpłynie bezpośredni na koszty całej zabawy.
Własny serwer może mieć dwa generalne przeznaczenia. Po pierwsze może pełnić rolę prywatnej platformy hostingowej. Miejscem, w którym będziemy umieszczać bloga, galerię, serwer CS lub Herosów. W tym przypadku będzie on też pewno pełnił miejsce składowania domowych dokumentów. Drugim zadaniem serwera może być wykonywanie zadań długotrwałych i eksperymentów. Można sobie odpalić na nim rsget-mod jako usługę i tylko pobierać wyniki jego pracy. Można na nim zainstalować na przykład lp_solve i robić projekty na programowanie liniowe.
Niezależnie jednak do czego ma służyć nam serwer musimy bezwzględnie przygotować listę wymagań.
Moja lista must have wygląda tak:

  • Apache + Glassfish – chcę posiadać hosting javowy
  • SVN – nie wszytko chcę trzymać na Google Code
  • Artifactory – mirror dla Mavena
  • Hudson – serwer integracji
  • php, ruby, scala – do testów i zabawy
  • jakiś opensourcowy sharepoint – bo mamy z myszą kilka wspólnych dokumentów.
  • Postgres – baza by się przydała

Dodatkowo być może zdecyduję się na serwer ftp. Nie mam zamiaru uruchamiać usługi pocztowej oraz trackera. Dużo usług tu nie ma, ale wszystkie są zasobożerne. Szczególnie usługi związane z Javą mogą się okazać kłopotliwe. Dlatego też będę musiał dokładnie zaplanować jaki sprzęt będę kupował.
Na tym etapie musisz też określić jaki będzie ruch na serwerze. Jeżeli masz możliwość to skorzystaj z usługi Google Analytics. Pozwala ona estymować obciążenie serwera. W przypadku Koziolekweb oraz galerii będę potrzebował czegoś niewielkiego, a jednocześnie z szybkim i pojemnym dyskiem.

Kolejny krok

Zanim kupisz cokolwiek warto przetestować swoje pomysły w jakimś w miarę bezpiecznym środowisku. W tym celu musisz wyposażyć się w dwie rzeczy. Pierwsza z nich to dystrybucja wybranego Linuxa. W moim przypadku jest to Debian, bo tak. O tym jak wybrać dystrybucję w kolejnej części. Druga rzecz to VirtualBox firmy Sun. Jest to program, który pozwala na tworzenie komputerów wirtualnych. Komputer wirtualny to taki komputer, który pracuje w ramach komputera fizycznego i w ramach jego systemu operacyjnego, ale ma wszystkie cechy zwykłego komputera. W profesjonalnych rozwiązaniach stosuje się komputery wirtualne w ramach tzw. wirtualizacji. Proces ten pozwala na lepsze wykorzystanie mocy drzemiącej w na przykład czymś takim. Serwer posiada 64 procesory (nie rdzenie, a procesory), dwu rdzeniowe, 64bit i możliwość zamontowania bardzo dużej ilości RAMu. Mając takie coś warto podzielić to na mniejsze kawałki, czyli właśnie zwirtualizować. Tu jeszcze jedna uwaga, jeżeli w toku prac dojdziesz do wniosku, że warto by mieć jednak dwa oddzielne serwery to pomyśl o wirtualizacji. Opłaca się.
W naszym przypadku VirtualBox posłuży do tworzenia i testowania środowiska, które mamy zamiar postawić na maszynie fizycznej.

Przygotowanie środowiska testowego

Mając już VB czas przygotować środowisko testowe. Będzie to ostatnia rzecz, którą się dziś zajmiemy. Na przeciętnym komputerze domowym wyposażonym w WinXP poświęcisz około 1-2 godzin.

Zakładam, że masz w domu router, który stanowi ono na świat. Jeżeli nie to skocz do sklepu i kup. Przy zakupie zwróć uwagę na to czy router obsługuje http 1.0 i 1.1. Jeżeli nie wiesz co wybrać zapytaj sprzedawcę o coś w rozsądnej cenie. Nie zapomnij o kablach, bo będziesz biegał dwa razy.

Instalacja VB polega na klikaniu NEXT. Następnie uruchamiamy VB i klikamy „Nowa”.
Nowa maszyna wirtualna
Najpierw nadajemy nazwę naszej maszynie i wybieramy system operacyjny. U mnie będzie to 32bitowy Debian.
Nazywamy maszynę
Teraz trzeba ustalić ile RAM z całego RAMu dostępnego fizycznie przekażemy maszynie. VB nie pozwoli na rezerwację większej ilości pamięci niż wskazana. Co ważne nie zarezerwuje jej w całości od razu więc będzie można pracować na kompie. Ja ustaliłem ilość na 1GB. Docelowa maszyna będzie miała zapewne 2GB, ale zobaczmy czy nie da się ruszyć przy mniejszej pamięci.
Ustawienia RAM
Kolejnym krokiem jest przygotowanie dysku twardego. W rzeczywistości jest to specjalny plik, który udaje dysk twardy. Klikamy Nowy i wybieramy „Fixed-Size Storage” i ustawiamy położenie pliku oraz wielkość dysku. Czekamy…
Wirtualny dysk twardy
Ok. Mamy już dysk więc zaznaczamy opcję startu z dysku i naciskamy next i finish. Maszyna została utworzona. Wybieramy „Ustawienia” i przechodzimy do zakładki sieć.
Ustawienia sieci
O tym jak skonfigurować sieć w systemie WinXP dla VB przeczytacie tutaj.
Kolejny krok to ustawienia CD/DVD. Wybieramy „Zamontuj napęd” i jako źródło podajemy plik ISO z naszą dystrybucją Linuxa.
Konfiguracja CD/DVD
Ok. Wszystko co potrzeba zostało już zrobione. Wystarczy nacisnąć uruchom.

W kolejnej części

Opowiem o tym jak wybrać dystrybucję Linuxa na nasz serwer i dlaczego jest to Debian. Zainstalujemy Debiana i skonfigurujemy serwer Apache.

Wszystkie screenshoty zostały wykonane za pomocą programu ZScreen. Używałem Virtual Box firmy Sun Microsystem.