Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Jak skonfigurować dedykowany serwer www za darmo

by
Difficulty:IntermediateLength:LongLanguages:

Polish (Polski) translation by Pawel Barwikowski (you can also view the original English article)

Za wszystkimi świetnymi stronami internetowymi stoi zawsze świetny serwer. W tym tutorialu, pokażę ci, jak skonfigurować serwer sieci web (z Apache, MySQL i PHP) przy użyciu tego starego komputera, który masz gdzieś w domu i odrobiny darmowego oprogramowania.


1. Szybki Przegląd

W tym poradniku zamierzamy osiągnąć kilka rzeczy:

  • zainstalujemy system operacyjny Ubuntu Server. Często używam Ubuntu ze względu na łatwość użycia i
    proste administrowanie. Ma też raczej dużą i bardzo aktywną społeczność z nim związaną, co sprawia, że otrzymanie
    wsparcie to pestka.
  • Zainstalujemy serwer OpenSSH. Umożliwia to administrowanie serwerem z komputerów zdalnych.
  • zainstalujemy LAMP (Linux, Apache, MySQL i PHP). Stanowi to kręgosłup, w oparciu o który będzie działała
    twoja strona internetowa. Apache jest technicznym standardem serwerów sieci web działających na systemach operacyjnych opartych na Unixie; jest czymś, na czym opiera się większość hostów sieci web.
    (NETTUTS używa go teraz!) i jest także tym, czego my chcemy również używać.
  • zainstalujemy zaporę, aby chronić nasz serwer przed nieautoryzowanym dostępem.

Aby w pełni skorzystać z tego tutorialu, będziesz potrzebować kilku elementów:

  • Komputer, którego można używać jako serwera. Nie musi być potężny; tak długo, jak nie jest jakimś zabytkiem, powinien działać dobrze. Proszę
    nie rób tego na swoim komputerze stacjonarnym; Ubuntu całkowicie wyczyści twój komputer.
  • Nagrywarkę dysków CD i pusty dysk CD. Są one potrzebne po to, by można nagrać Ubuntu na dysku, aby go zainstalować.
  • Czas. Poważnie proces ten jest czasochłonny, zwłaszcza, jeśli pojawią się problemy. Spróbuj odłożyć na bok po południe
    aby wykonać ten tutorial.

Możesz się pytać, dlaczego potrzebujesz mieć własny serwer sieci web. Istnieje kilka powodów, niektóre z nich to: możesz mieć własne pole
testowe dla swoich witryn; przy pomocy niewielkich modyfikacji możesz hostować swoje własne witryny; i będziesz mógł dowiedzieć się wiele o Linux/Unix w trakcie nauki.
W związku z tym, że mamy ten wstęp już za sobą zatem zaczynajmy!


2. Pobierz Ubuntu Server

Przede wszystkim będziemy potrzebować CD z Ubuntu nagranym na nim. Ustaw w swojej przeglądarce adres http://www.ubuntu.com/,
i kliknij polecenie Pobierz z menu po lewej stronie. Teraz wyświetlone zostanie pole z dwiema kartami: "Desktop Edition" i
"Server Edition". Kliknij zakładkę "Server Edition" i wybierz "Ubuntu 8.04 LTS". Następnie wybierz lokalizację pobierania z
pola listy rozwijanej. Wreszcie wciśnij przycisk "Begin Download".

Teraz musisz nagrać obraz ISO (pobrany plik) na pustą płytę CD. Jeśli nie wiesz jak to zrobić, tu jest
doskonały przewodnik na https://help.ubuntu.com/community/BurningIsoHowto


3. Zainstaluj Ubuntu Server

Teraz, gdy już pobrałeś i nagrałeś ISO, zainstalujmy Ubuntu na serwerze. Umieść dysk w stacji dysków i uruchomić komputer z dysku CD. W większości nowoczesnych komputerów stanie się to domyślnie, jeśli dysk znajduje się w napędzie, gdy go włączysz. Jeśli nie, wtedy trzeba nacisnąć klawisz po prawej stronie klawiatury, gdy go włączysz. Na moim laptopie to F12, a na moim serwerze to F2. Zależy to tylko od twojego komputera. Możesz go znaleźć, patrząc na tekst po prawej stronie ekranu, gdy włączasz komputer, podczas BIOS. Zobaczysz coś w stylu "Naciśnij [klawisz], aby zmienić kolejność rozruchu". Naciśnij ten klawisz i wybierz stację dysków CD.

Jesteś jeszcze ze mną? Dobrze. Teraz, kiedy uruchomiłeś już Ubuntu, powinieneś zobaczyć następujący ekran:

Wybierz swój język, i wciśnij enter. Teraz zobaczysz ten ekran:

Wybierz "Zainstaluj Ubuntu Server", a idziemy dalej!

Instalator zapyta cię teraz, czy chcesz, by wykrył układ klawiatury. Osobiście zawsze wyieram nie, bo
szybciej jest wybrać standardową amerykańską klawiaturę z listy niż, żeby wykrywał to Instalator. Inną dobrą opcją jest także
postępowanie zgodnie z wyświetlanymi instrukcjami.

Po wykonaniu tego, teraz zobaczysz kilka ekranów mówiących takie rzeczy jak "Wykrywanie napędu CD-ROM" i podobne ekrany ładowania.
To powinno zrobić się szybko i bez problemów. Jednak podczas tych pojawiających się ekranów, Instalator spróbuje automatycznie skonfigurować 
twoje ustawienia sieci. W większości przypadków będzie to działać bez zarzutu. Jednakże, jeśli to nie zadziała u Ciebie, wystarczy wykonać
wyświetlane na ekranie instrukcje, aby zaczął pracować.

Po tym, jak to wszystko zostanie zrobione, zapyta Cię o nazwę hosta. Zwykle można to ustawić na coś dowolnego; Ja zawsze ustawiam na
"web-Server".

System teraz będzie chciał, abyś ustawił strefę czasową dla swojego zegara. Dla mnie to strefa Pacyfiku. Wybierz tę, która ma zastosowanie do
Ciebie

Teraz, system wykryje więcej sprzętu, i zostanie wyświetlony monit do "partycjonowania dysku(ów)". Wybierz opcję "Zalecane użyj - cały
dysk".

Teraz trzeba będzie wybierz dysk, który chcesz partycjonować. Dla większości zastosowań tylko jeden dysk będzie dostępny; Jednakże,
dla bardziej wyspecjalizowanych systemów więcej opcji będzie tu dostępnych. Wybierz tę, która odnosi się do Ciebie.

Zostaniesz zapytany o to, czy chcesz zapisać zmiany na dysku. Wybierz "Yes" i naciśnij klawisz enter. Instalator będzie teraz dalej procedować
aby sformatować dysk i ustawić partycje.

Teraz stanie się magia. System zacznie się instalować. Podczas gdy to się dzieje, idź na filiżankę kawy. To może potrwać
od 10 minut do godziny. Zależy to po prostu od Twojego systemu Może się zdarzyć, że wydawać Ci się będzie, że, instalacja jakby zamarzła; Nie martw się
na pewno tak się nie stało. Pozwól jej po prostu wykonywać jej zadanie. Jednak jeśli jest zatrzymała się na jednej rzeczy na ponad godzinę, to pewnie faktycznie się zamroziła.

Teraz, kiedy system jest zainstalowany, należy skonfigurować konto, z którego chcesz się logować. Po pierwsze podaj jej swoją pełną nazwę
i wciśnij "Kontynuuj".

Teraz padaj nazwę użytkownika. Normalnie ustawi go jako twoje imię,
ale można to zmienić. Jedynym imieniem, którego nie można używać jest "root".

Będzie teraz trzeba podać hasło. Jest to istotne, aby wybrać silne hasło, w przeciwnym wypadku serwer nie będzie
w ogóle bezpieczny Polecam co najmniej mieszaninę na którą składają się numery, litery małe i wielkie litery. Jednak dla moich serwerów
używam, symboli, a także mieszaniny tych znaków, które wskazałem powyżej. NIE należy używać hasła, które jest krótsze niż 7 znaków.

Wprowadź ponownie hasło, aby potwierdzić, że zostało wpisane prawidłowo.

System teraz spróbuje skonfigurować "Package Manager" (wkrótce przejdziemy do tego, co to jest). Wskaż swoje
informacje o serwerze proxy, lub pozostaw puste jeśli nie używasz serwera proxy i wybierz "Kontynuuj".

System teraz będzie skanować kilka serwerów szukając aktualizacji i ustawień konfiguracji.

Po tym, jak zakończysz ten etap, zobaczysz kilka opcji, aby zainstalować oprogramowanie serwera. Teraz słuchaj BARDZO uważnie.
Wybierz serwer OpenSSH i naciśnij klawisz SPACJI, nie ENTER. Jeśli wciśniesz ENTER, instalacja będzie kontynuowana bez instalowania serwera OpenSSH.

Można również zainstalować "LAMP serwer", ale nie mam doświadczenia w korzystaniu z tej opcji, więc zainstalujemy go przy pomocy innego
polecenia później.

System zainstaluje teraz wybrane oprogramowanie, jak również inne składniki systemu.

Wreszcie instalacja zakończy się. Wyjmij dysk CD, i wciśnij enter Komputer uruchomi się ponownie. Jeśli wszystko pójdzie dobrze, wyświetli Ci się
ekran, który wygląda podobnie do następującego:

Gratulacje! Właśnie skończyłeś najtrudniejszą część. Ubuntu jest już zainstalowany, i nadszedł czas, aby włączyć ten komputer jako
serwer sieci web.


4. Zaktualizuj swój nowy serwer

Zanim przejdziemy dalej, musimy upewnić się, że Twój serwer jest zaktualizowany. Aby to zrobić, musisz się zalogować. Po pierwsze, wpisz swoją nazwę użytkownika
(tę, którą wybrałeś wcześniej), naciśnij klawisz enter, a następnie wpisz swoje hasło. Podczas wpisywania hasła, można zauważyć, że nic
się nie dzieje. Nie martw się, w taki sposób zostało to zaprojektowane do pracy. Po zakończeniu wpisywania hasła, naciśnij klawisz enter,
i Twój ekran powinien wyglądać podobnie do tego poniżej jeśli wszystko poszło dobrze:

Teraz wpisz:

Program zapyta Cię o Twoje hasło, i znowu, nie zobaczysz nic jak piszesz to. Po wykonaniu tego, program zapyta Cię, czy
chcesz kontynuować. Wpisz "y" i naciśnij klawisz enter. Ekran będzie wyglądać podobnie do następującego:

Twój system będzie teraz pobierał i zainstaluje wszystkie najnowsze aktualizacje. To zajmie trochę czasu w zależności od połączenia internetowego. Po tym
jak to się skończy, twój komputer będzie musiał być ponownie uruchomiony. Aby to zrobić, należy wpisać:

I ponownie uruchomić. Twój serwer jest całkowicie zaktualizowany.


Krótka informacja na temat "Sudo"

Możesz zauważyć, że wszystkie polecenia, które zostały wpisane, rozpoczynały się słowem "sudo". Dzieje się tak ponieważ wymagają one
uprawnień administratora, i to jest to, co "sudo" robi. Wykonuje polecenie (np. "shutdown"), jako administrator, pozwalając mu się wykonać.
prawidłowo. To właśnie dlatego prosi on o podanie hasła. Jednak po tym jak raz wpisałeś "sudo" i wprowadziłeś swoje hasło,
nie trzeba ponownie wprowadzać hasła przez pięć minut. Nie wszystkie polecenia wymagają sudo, jedynie te, które modyfikują części systemu.
Rozumiesz to wszystko? Dobrze.


5. Zainstaluj Apache, MySQL i PHP

Teraz nadszedł czas, aby zainstalować niektóre programy. Aby uzyskać dostęp do twoich witryn z Internetu, musimy zainstalować serwer www (Apache). Dodatkowo do serwera sieci web będziemy
będziemy potrzebowali również serwer bazy danych (MySQL) i język po stronie serwera (PHP), tak, abyśmy mogli uruchomić popularne aplikacje, takie jak WordPress. A zatem,
przejdźmy do niego!

Instalowanie programów na Ubuntu wygląda zupełnie inaczej, niż instalowanie programów na Windows lub
OS X, ponieważ Ubuntu pobierze i zainstaluje programy dla Ciebie przy pomocy prostych poleceń. Dzieje się tak dlatego, że Ubuntu ma coś, co nazywa
Menedżer pakietów (Package Manager), który zarządza prawie wszystkimi programami w systemie. Wszystko co musimy zrobić, to wskazać Menedżerowi pakietów
(nazywanemu "umiejętnościami" - aptitude), że chcemy zainstalować Apache, MySQL i PHP. Aby to zrobić, wpisz następujące polecenie:

I naciśnij klawisz enter. Aptitude pobierze i zainstaluje programy, które wyszczególniłeś. Pobierze również i zainstaluje dowolne
zależności.

Podczas procesu instalacji MySQL poprosi o hasło roota. Można ustawić jakiekolwiek, tylko pamiętaj, aby było odpowiednio długie i bezpieczne.
Cokolwiek robisz, nie należy pozostawić tego pola pustego.

Kiedy będziesz miał to wszystko gotowe, masz teraz w pełni postawiony serwer sieci web. Aby przetestować go, najpierw znajdź IP Twojego serwera, wpisując:

Jest to zazwyczaj pierwszy zwrócone IP. W moim przypadku jest to 192.168.177.129. Teraz, kiedy znasz, IP, otwórz przeglądarkę sieci web i skieruj go
adres IP twojego serwera. Jeśli widzisz komunikat "To działa!", to należą ci się gratulacje, to działa.

Jednak nie skończyliśmy jeszcze. Nie chcemy, aby Apache i PHP ujawniały jakiekolwiek  informacji o sobie, ponieważ informacja ta nie jest potrzebna
użytkownikom i może sprowadzić zagrożenie dla zabezpieczeń. Po pierwsze zrób kopię zapasową oryginalnego pliku konfiguracji Apache:

Teraz otwórz plik konfiguracyjny:

Przewiń w dół (strzałką) do miejsca, w którym jest napisane "ServerTokens Full" i zmień go na "ServerTokens Prod"

Teraz przewiń w dół, nieco dalej i zmień "ServerSignature On" na "ServerSignature Off"

Wreszcie naciśnij Control-O a następnie Control-X. To pozwoli zapisać plik i zamknie edytor tekstu.

Teraz musimy zrobić to samo dla PHP. Najpierw należy wykonać kopię zapasową oryginalnego pliku konfiguracji PHP:

Otwórz plik konfiguracyjny:

Zmień "expose_php = On" na "expose_php = Off"

Ponownie naciśnij Control-O a następnie Control-X. Teraz, kiedy pliki konfiguracji są zaktualizowane, uruchom ponownie Apache:

Zakończyłeś konfigurację Apache, MySQL i PHP.


6. Zainstaluj Firewall

Teraz chcemy zabezpieczyć nasz serwer trochę bardziej instalując Shorewall, wiersz poleceń zapory. Aby go zainstalować:

Domyślnie Shorewall jest zainstalowany bez zasad, pozwalając na pełny dostęp. Jednak nie jest to stan, który chcemy zachować.
Zamiast tego mamy zamiar zablokować wszystkie połączenia do wszystkiego innego oprócz portu 80 (HTTP) i port 22 (SSH). Po pierwsze skopiuj pliki konfiguracyjne
do katalogu Shorewall:

Teraz otwórz plik "reguły":

Dodaj te linie powyżej w miejscu, gdzie jest napisane "#LAST LINE"

Naciśnij klawisz Control-O i Control-X. Zapora jest teraz skonfigurowana do akceptowania tylko ruchu HTTP i SSH. Ostatnią rzeczą, którą musimy
zrobić jest powiedzenie Shorewall aby uruchamiał się podczas startu systemu. A zatem otwórz główny plik konfiguracji Shorewall:

Przewiń w dół do "STARTUP_ENABLED = No" i ustawić na "STARTUP_ENABLED = Yes"

Naciśnij klawisz Control O i Control-X. Teraz otwórz plik domyślnej konfiguracji Shorewall:

I zmień "startup = 0" na "startup = 1". Naciśnij klawisz Control-O i Control-X. Wreszcie uruchom zaporę:

Gratulacje! Zapora jest teraz ustawiona i ochrania serwer.


7. Dodaj swoją stronę do serwera sieci Web

Teraz, kiedy masz już wszystko ustawione, prawdopodobnie chcesz dodać stronę internetową na serwer. Domyślnie wszystkie pliki, które Apache 
przesyła do internetu są umieszczone w "/var/www/". Jednak nie można zapisać nic do tego folderu. Sprawmy, żebyś mógł:

W ten sposób dodałeś siebie do grupy "www-data", a sprawiłeś, że folder witryny sieci Web stał się możliwy do zapisywania dla członków "www-data"
grupy.

Teraz zalogujesz się do serwera za pomocą SFTP (nie mylić z FTPS). Niektórymi klientami, które obsługują SFTP są:
WinSCP (Windows, darmowy), FileZilla (Windows, Linux, OS X, darmowy),
Cyberduck (OS X, darmowy) i mój osobisty faworyt Transmit
(OS X, 30 $)

Połącz się z serwerem przy użyciu nazwy użytkownika i hasła, a jeśli Twój klient obsługuje go, domyślna ścieżka "/ var/www" (a jeśli nie obsługuje
po prostu przejdź do/var/www, po zalogowaniu): (Transmit na zdjęciu)

Teraz można dodać pliki do tego folderu (/ var/www) i pojawią się one na Twoim serwerze, podczas przeglądania go w Twojej
przeglądarce.

Teraz możesz się zastanawiać, dlaczego używamy SFTP zamiast FTP. Głównie z tego powodu, że SFTP jest już wbudowany w OpenSSH, (który został zainstalowany
wcześniej). Jednak jest on również dużo bardziej bezpieczny niż FTP i sprawia, że trudno (jeśli nie niemożliwe) uzyskanie dostępu przez złośliwych użytkowników 
do twoich danych umożliwiających logowanie.


8. Spraw, aby twój serwer był dostępny w Internecie

Większość nowoczesnych sieci domowych korzysta w tej chwili z ruterów. W związku z tym twój serwer sieci web nie będzie widoczny w Internecie bez
jeśli nie włożysz w to trochę pracy. Ponieważ nie mam routera dostępnego do testów, mogę tylko dać Ci ogólne wskazówki w tej dziedzinie.

Istnieją dwa sposoby, aby otworzyć swój serwer dla Internetu: DMZ lub Forwardowanie portów. Zauważysz, że główną różnicą jest to, że w przypadku DMZ, serwer używa
zapory, którą zainstalowaliśmy wcześniej do własnej ochrony. Jednak w przypadku forwardingu portów, serwer będzie chroniony przez zaporę routera.

Jednak zanim pójdziemy dalej, nadamy naszemu serwerowi statyczny adres LAN. Aby to zrobić, zaloguj się do routera i poszukaj czegoś
wzdłuż wierszy "Static IP" lub "Static Routing". Po nadaniu twojemu serwerowi statycznego adresu LAN, można zrobić kolejne kroki. Należy pamiętać, że
Google jest twoim przyjacielem.

Przy forwardowaniu portu pomocą służyć może doskonała strona PortForward.com, która
może pomóc wykonać pracę na prawie każdym routerze. Porty, które chcesz forwardować to 22 i 80.

Aby stworzyć DMZ, musisz zalogować się do routera i poszukać "Ustawień DMZ". Kiedy je znajdziesz dodaj swój serwer
do DMZ i wszystko będzie ustawione. Ponownie Google jest pomocne w takich sytuacjach.

Teraz, znajdź swój publiczny adres IP i voila! Możesz mieć dostęp do serwera z dowolnego miejsca tak długo
jak długo nie zmienia twój adres IP.


9. Zdalne zarządzanie serwerem

Obok możliwości przesyłania plików, OpenSSH pozwala Ci zalogować się do serwera z dowolnego miejsca, tak długo, jak długo znasz jego IP. Dla systemu Windows będziesz
potrzebował klienta SSH. Ja polecam Putty. Dla OS X SSH jest
już zainstalowany. Po prostu otwórz Terminal i wpisz "ssh you@yourip". Dla Putty wybierz opcję SSH i umieść tam swój adres IP, nazwę użytkownika i hasło
kiedy o to poprosi. Można zauważyć, że po zalogowaniu się, wygląda to tak samo jak ekran na serwerze:

Można zrobić stąd coś, co chcesz zrobić faktycznie siedząc na serwerze. Aby wylogować się z serwera po prostu wpisz polecenie "exit" i naciśnij enter.


10. To jest to!

Masz teraz całkowicie działający serwer sieci web. Sprawdzi się jako poligon a nawet byłby odpowiedni do witryn internetowych z
małym natężeniu ruchu. Jest jeszcze oczywiście bardzo dużo do nauki, ale mam nadzieję, że wgłębiłeś się trochę w działanie serwerów sieci web.

Jeśli chcesz przeczytać więcej na tematy, które tu poruszono, tu są niektóre ze świetnych przewodników:

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.