Długo zastanawiałem się, czy ten cykl „tutoriali” udostępnić publicznie. Po pierwsze dlatego, że nie jestem administratorem z zawodu. Tak więc guru w tym temacie ze mnie żaden. Od razu ostrzegam, że nie ponoszę żadnej odpowiedzialności za ewentualne szkody i niepowodzenia. To tak nawiasem. Poza tym poświęciłem mnóstwo mojego prywatnego czasu na zgłębienie tematu i wolałbym za ten czas zostać wynagrodzony. No tak, zawsze wszystko się sprowadza do pieniędzy. Jednak sam wielokrotnie korzystałem z czyjejś wiedzy udostępnionej w internecie za darmo. Powiedzmy, że tymi trzema publikacjami How-To spłacę część długu zaciągniętego u licznych autorów, którzy też się swoją wiedzą podzielili.

Skąd pomysł na tutorial o konfiguracji serwera VPS?

Jak już wspomniałem administratorem z zawodu nie jestem. Moja praca to e-marketing/e-commerce. Jednak niejednokrotnie przychodzi mi mierzyć się ze sprawami technicznymi. Muszę więc mniej więcej mieć pojęcie o tych sprawach. Nie jest tak, że „adminka” spoczywa wyłącznie na moich barkach. Do poważnych prac mamy pomoc administratora z prawdziwego zdarzenia. Poprzedni serwer dedykowany konfigurowałem ja sam (lubię wyzwania), ale pojęcie o wszystkim miałem blade i jechałem równo z HowtoForge. Tak więc przy zmianie serwera dedykowanego podjęliśmy decyzję o profesjonalizacji, wykupiliśmy licencję komercyjnego panelu administracyjnego i zleciliśmy wszystko doświadczonemu administratorowi. Tak więc serwer postawił, skonfigurował i zabezpieczył. Przynajmniej teoretycznie. Wszystko działało, to prawda. Był jednak problem z przychodzącym spamem – kilka, kilkanaście, a nawet kilkadziesiąt spamów przychodzących na różne skrzynki, w tym główne firmowe. Problem zgłaszałem adminowi, bo sam sobie z nim poradzić nie umiałem, a nie chciałem nawet próbować grzebać przy głównym serwerze. No i w odpowiedzi dostawałem odpowiedzi, że wszystko musi być dobrze, bo SpamAssassin działa. Zgadza się, działał. I jak się go wyłączyło to nagle przychodziło kilka maili na minutę. Jednak wiedziałem, że coś się z tym spamem da zrobić. Sam musiałem znaleźć rozwiązanie. Mimo, iż miało się nie dać to się dało, ale sam musiałem przesiedzieć wiele godzin na licznych forach oraz stronach. Wypisałem wszystko administratorowi i poprosiłem i wprowadzenie. Z wiadomych względów nie napiszę, co konkretnie zostało wdrożone, ale udało się zrobić mnóstwo rzeczy dotyczących nie tylko uciążliwego spamu, ale także bezpieczeństwa oraz wydajności/szybkości serwera. Część zmian wykonał administrator, część ja osobiście. Wtedy pojawiła się myśl, że może warto temat zgłębić jeszcze bardziej i samemu skonfigurować posiadane VPSy. No i się zaczęło…

Wybór serwera VPS do SEO

Na forum PiO co jakiś czas pojawia się pytanie jaki hosting SEO wybrać. Moim zdaniem żaden. Nie zrozumcie mnie źle, również w firmie korzystamy z usługi hostingu i uważam, że to dobry sposób na dywersyfikację IP oraz DNSów. Mamy kilka kont hostingowych z własnymi IP (korzystamy z IQ) i leżą na nich liczne strony. Taki pakiet hostingowy jest tańszy niż VPS, owszem. Jednak jeśli weźmiemy pod uwagę to, że do VPSa z OVH można dokupić 16 polskich adresów IP to okazuje się, że cena usługi per IP jest niższa dla VPSa.

OVH - oferta VPS SSD

Skoro już wspomniałem o OVH… mamy tam serwer kilka VPSów, zarówno we francuskim jak i polskim data center. Od niedawna dostępne jest właśnie data center w Warszawie (chyba dokładnie w Ożarowie). Ceny serwerów VPS w ofercie OVH każdy może sobie sprawdzić sam. My bierzemy najwyższe pakiety VPS SSD 3, które kosztują 47,99 PLN netto/msc. Do końca lipca była fajna promocja. Przy płatności na rok z góry 3 miesiące były za darmo. Wzięliśmy jeszcze 2 dodatkowe VPSy, bo żal nie skorzystać. Jak prawdziwi Polacy – jest promocja, trzeba brać, może na coś się przyda ;) Do tych VPS z OVH (ależ żałuję, że nie mają programu partnerskiego) można dokupić 16 dodatkowych IP. Przy wyborze VPSa z lokalizacją polską adresy IP mogą być tylko polskie. Przy wyborze VPSa z lokalizacją francuską lokalizację IP można sobie wybierać. Polecam brać IP w odstępie czasowym, by zróżnicować przypisywane do VPSa adresy IP. Jednej rzeczy się tylko obawiam w związku z firmą OVH. Było już raz tak przy poprzednim naszym serwerze dedykowanym, że adresy IP były płatne jednorazowo za przypisanie. No więc mieliśmy tych adresów IP dość sporo. Nagle OVH zmieniło warunki i kazało sobie płacić za te IP miesięcznie. Po prostu wysyłali rachunek i już. Teraz za IP w OVH płaci się 8 PLN netto jednorazowo. Ale czy za jakiś czas ponownie nie zmienią zdania? Miejmy nadzieję, że nie, ale różnie być może. Miejcie to na uwadze.

Jaki panel do zarządzania VPS wybrać?

Do serwera dedykowanego mamy rozwiązanie komercyjne. Jednak czy do VPS potrzebny jest płatny panel? Na rynku wybór jakiś tam jest. Wśród paneli płatnych chyba najbardziej popularny jest cPanel. W Polsce dużą popularnością cieszy się DirectAdmin. Ciekawym i niedrogim rozwiązaniem jest rosyjski ISPmanager. Nie miałem jednak okazji go używać, czytałem jedynie recenzje. Przy kilku VPSach koszt licencji byłby znaczny, a nie po to bierze się VPS, by płacić za panel. Ja przynajmniej tak uważam. Serwer docelowy/produkcyjny owszem, ale VPS niekoniecznie. Wśród rozwiązań darmowych mamy mało nowoczesny Webmin, bardzo rozbudowany ISPConfig oraz lekki panel VestaCP. Na dwóch VPSach zainstalowałem ISPConfig oraz VestaCP. Chciałem mieć porównanie. Przy okazji instalacja ISPConfig przydała mi się do podglądania plików konfiguracyjnych, które posłużyły mi przy wdrażaniu PHP-FPM oraz HHVM do VPSa z zainstalowanym panelem VestaCP. Nasz serwer dedykowany na komercyjnym panelu też miał swój udział w konfiguracji VPS na panelu VestaCP. Serwer VPS na ISPConfig konfigurowałem raz. Przyznam od razu, że leciałem według tutoriala z HowtoForge. Serwer VPS na VestaCP instalowałem wielokrotnie. Jak już mówiłem, administratorem nie jestem i jak czasem coś spieprzyłem to szybciej było przeinstalować serwer niż szukać błędu w konfiguracji. Tak więc mój wybór już znacie – VestaCP.

A może by jeszcze to wdrożyć w VPS? I to? I może to?

Instalacja VestaCP ma liczne zalety. Po pierwsze jest łatwa, po drugie szybka, po trzecie przy instalacji VestaCP instalowane są wszystkie niezbędne do normalnej pracy usługi, takie jak serwer www, serwer FTP, serwer pocztowy, serwer DNS, serwer bazy danych oraz podstawowy firewall. Podczas instalacji można sobie wszystkie te usługi wyłączyć lub wybrać konkretne pakiety. Domyślnie panel VestaCP instaluje nginx (jako reverse proxy) + apache2, named, vsftpd, iptables + fail2ban, exim + dovecot + spamassassin + clamav oraz MySQL. Mój tutorial został stworzony w oparciu o domyślną instalację panelu VestaCP na systemie Debian 8 (jessie). Jeśli nie chcesz instalować/aktualizować różnych usług to wystarczy Ci domyślna instalacja panelu VestaCP. Trwa kilka chwil i sprowadza się do paru komend, a raczej do ich wklejenia w klienta SSH. Po dziesięciu-piętnastu minutach mamy serwer VPS z następującymi wersjami usług: VestaCP 0.9.8-17, Apache 2.4.10-10, nginx 1.6.2-5, PHP 5.6.30-0, MySQL 5.5.57-0, OpenSSL 1.0.1t-1, fail2ban 0.8.13-1, iptables 1.4.21-2 oraz vsftpd 3.0.2. Mój tutorial nie obejmuje aktualizacji/zmian w iptables i vsftpd. Zawiera natomiast szereg zmian, które mogą okazać się przydatne z punktu widzenia bezpieczeństwa i wydajności. Gdy tylko zacząłem wprowadzać zmiany to pojawiał się pomysł na jeszcze jakąś dodatkową modyfikację konfiguracji. I tak trwało to czas jakiś…

Jakie zmiany w konfiguracji VPS obejmuje tutorial?

Aktualizacja obejmuje serwer Apache do wersji, która wspiera HTTP/2 z ALPN. Jeśli jeszcze nie wiecie czym jest HTTP/2 to czas nadrobić zaległości. Niestety po wyłączeniu nginx jako reverse proxy HTTPS przestaje działać w ogóle (HTTP działa), więc HTTP/2 dla Apache nie działa u mnie na chwilę obecną, ale szukam rozwiązania. Zapewne zaktualizuję tutorial po uporaniu się z HTTP/2 dla Apache. Wracając do aktualizacji usług – nginx zostanie skompilowany z OpenSSL w wersji 1.0.2 lub 1.1.0 (do wyboru), dzięki czemu będzie wspierać HTTP/2 z ALPN. Tak więc suma summarum przy wykorzystaniu nginx jako reverse proxy + Apache do obsługi PHP strony będą działały przez HTTP/2 z ALPN. Do tego dochodzi PHP 5.6, 7.0 oraz 7.1, opcja wyboru per strona. Tak, wiem, że PHP 5.6 jest domyślnie instalowane przez VestaCP, ale wtedy działa jako FastCGI, a ja proponuję opcję bardziej wydajną, czyli PHP-FPM. Do tego dochodzi instalacja HHVM, również obsługiwane per strona. OpenSSL zaktualizujemy na serwerze VPS do 1.0.2 lub 1.1.0. Aktualizacji do wersji 0.9.6 lub 0.9.7 (do wyboru) ulegnie również usługa fail2ban. Bezpieczeństwo ma zapewnić (prócz zdrowego rozsądku) CSF (ConfigServer Security & Firewall) w wersji 10.19, który będzie zintegrowany z panelem VestaCP. Nie podjąłem jeszcze decyzji odnośnie bazy MySQL. Domyślnie instalowana jest wersja MySQL 5.5.57. Nie wiem jeszcze, czy będę ją aktualizować do MySQL 5.7.19, czy może postawię na MariaDB lub Percona. To i tak będzie dopiero w trzeciej części tutoriala, mam więc jeszcze czas na zgłębienie tematu. Tak samo nie wiem jeszcze co z Varnish Cache. Jeśli warto go wdrażać to zapewne stosowne How-To ukaże się w trzeciej części.

Dla kogo przeznaczony jest ten tutorial?

Zapowiadany tutorial dopiero jest w fazie przygotowania. Nie napisałem jeszcze słowa komentarza, jednak mam już wszystkie komendy, które po kolei trzeba wykonać przez SSH oraz panel VestaCP. Założenie jest takie, by każdy laik poradził sobie z konfiguracją VPS i nie tylko z przeznaczeniem do SEO. Zakładam, że strony docelowe też będą mogły znaleźć się na takim serwerze. Tutorial nie obejmuje konfiguracji/modyfikacji/aktualizacji serwera pocztowego, więc jeśli ktoś będzie potrzebował korzystać z maili na swoim VPSie to będzie musiał poczekać na czwartą część tutoriala, która może kiedyś powstanie i będzie obejmować właśnie kwestie poczty internetowej. Trzy części, które na pewno się ukażą będą okraszone screenami oraz dokładnymi komendami. Cały tutorial będzie można przejść metodą kopiuj – wklej. Nic prostszego. Nie trzeba też wykonywać wszystkiego kropka w kropkę. Jeśli zdecydujesz, że Apache w wersji domyślnej dla repozytoriów Debiana 8 (jessie), czyli 2.4.10-10 Ci odpowiada to będziesz mógł pominąć odpowiednią sekcję. To samo tyczy się innych usług.

250 PLN netto za instalację VestaCP?

Jak pisałem na początku – tutorial jest po to, by umożliwić wszystkim laikom postawienie oraz konfigurację własnego serwera VPS (nie tylko do SEO) bez konieczności płacenia za tego typu usługę profesjonaliście. Dla jasności – sam płacę profesjonaliście, ale lubię też mieć satysfakcję, że coś zrobiłem własnoręcznie, po drugie mogę przy tym zaoszczędzić kolejne kilkaset złotych i jednocześnie mieć pojęcie, o co w tym wszystkim chodzi (mniej więcej). Wiem, że forum PiO (i nie tylko) można wykupić usługę konfiguracji serwera VPS. Sam pisałem w tej sprawie do kogoś, kto się ogłasza na PiO, ale moim zdaniem instalacja czystego panelu VestaCP wraz z przypisaniem dodatkowych IP za 250 PLN netto to rozbój w biały dzień. Nie dlatego, że 250 PLN netto to dużo za postawienie i konfigurację serwera VPS, ale dlatego, że instalacja panelu VestaCP trwa naprawdę kilkanaście minut i poradzi sobie z nią chyba każdy. Od czasu opublikowania na forum PiO posta z informacją, że tworzę tego typu tutorial zgłosiło się do mnie wielu forumowiczów, którzy na niego czekają.

Jak możesz mi podziękować?

Jeśli dzięki mojej pracy uda się Tobie zaoszczędzić czas oraz/lub pieniądze, to może choć zdecydujesz się wesprzeć w walce z bardzo ciężką i rzadką chorobą moją małą córeczkę – https://pomagam.pl/lilusia i https://www.facebook.com/PomocDlaLilusi/. Jeśli z czymś sobie nie poradzisz to w miarę możliwości postaram się pomóc, choć z czasem u mnie krucho. Powodzenia!

Konfiguracja serwera VPS od A do Z w oparciu o Debian 8 (Jessie) i panel Vesta
Konfiguracja serwera VPS od A do Z w oparciu o Debian 9 (Stretch) i panel Vesta