Będę sysadminem! – Konfiguracja VPS. Część 2.

Albert Tomaszewski/ Grudzień 4, 2014/ Debian, IT, Linux/ 0 comments

Poziom trudności    

W kolejnej części serii „Będę sysadminem!” postaram się pokazać już trochę więcej praktycznego działania. A mianowicie, chcę Ci pokazać jak przygotować i zabezpieczyć system operacyjny na serwerze.

 

Wybór systemu operacyjnego

W kwestii wyboru pomiędzy Windowsem a Linuxem opowiem się zdecydowanie za tym drugim. Jednak wybór dystrybucji to kolejne nie lada wyzwanie. Dla zupełnie początkujących z Linuxem polecam łatwe Ubuntu, dla chcących coś więcej – CentOS tudzież Arch. Dla wszystkich Debiana, na którego postawiłem również ja. Jest nieziemsko stabilny w działaniu, oszczędny w zasoby a przy odpowiedniej konfiguracji potrafi na prawdę szybko działać. Polecam poczytać o dystrybucjach na wiki.jakilinux.org/linux lub wypełnić quiz na www.zegeniestudios.net/ldc/, który pomoże dobrać odpowiednią dystrybucję dla Ciebie. Wybraną przez siebie dystrybucję możesz sprawdzić na wirtualnej maszynie, o czym pisałem tutaj.

W kwestii wyboru między 32 a 64 bitami odpowiedź jest prosta: wybierz system 64 bitowy jeśli tylko procesor go wspiera. 64 bity to zysk wydajności, kosztem praktycznie niezauważalnego przyrostu użycia pamięci RAM. Aplikacje 32 bitowe możesz uruchamiać bez problemu na 64 bitowym systemie operacyjnym.

Instalacji systemu operacyjnego nie będę opisywał. Praktycznie wszyscy dostawcy VPSów i serwerów dedykowanych dostarczają gotowe rozwiązania, które umożliwiają automatyczną instalację systemu. Praktyką jest, że po instalacji (która trwa od kilkudziesięciu sekund do kilkunastu minut) na Twoją skrzynkę mailową otrzymasz adres IP, login oraz hasło do zalogowania się do systemu. Warto również rozważyć możliwość użycia klucza publicznego, którego wykorzystanie do logowania (zamiast hasła) często można skonfigurować w panelu zarządzania VPSem. Dostęp do zarządzania serwerem otrzymujesz oczywiście przez SSH.

vps_dane_ssh

 

Konfiguracja systemu operacyjnego

Zacznijmy od połączenia się na serwer:

[email protected]:$ ssh [email protected]
[email protected]:$ The authenticity of host '5.231.81.227 (5.231.81.227)' can't be established.
[email protected]:$ RSA key fingerprint is tu:je:st:od:ci:sk:pa:lu:ch:ar:sa.
[email protected]:$ Are you sure you want to continue connecting (yes/no)?

Wpiszmy „yes” i hasło root’a. Zostaniemy połączeni na konsolę VPSa.

Serwer grzecznie zgłasza chęć współpracy. Działa! 🙂

Sprawdźmy sobie zasoby sprzętowe – procesor, RAM i HDD.

[email protected]:$ cat /proc/cpuinfo
[email protected]:$ processor : 0
[email protected]:$ vendor_id : GenuineIntel
[email protected]:$ cpu family : 6
[email protected]:$ model : 58
[email protected]:$ model name : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
[email protected]:$ stepping : 9
[email protected]:$ cpu MHz : 848.119
[email protected]:$ cache size : 8192 KB
[email protected]:$ physical id : 0
[email protected]:$ siblings : 8
[email protected]:$ core id : 0
[email protected]:$ cpu cores : 4
[email protected]:$ apicid : 0
[email protected]:$ initial apicid : 0
[email protected]:$ fpu : yes
[email protected]:$ fpu_exception : yes
[email protected]:$ cpuid level : 13
[email protected]:$ wp : yes
[email protected]:$ flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
[email protected]:$ bogomips : 6784.95
[email protected]:$ clflush size : 64
[email protected]:$ cache_alignment : 64
[email protected]:$ address sizes : 36 bits physical, 48 bits virtual
[email protected]:$ power management:
[email protected]:$ free -m
[email protected]:$ total used free shared buffers cached
[email protected]:$ Mem: 128 56 71 0 0 28
[email protected]:$ -/+ buffers/cache: 28 99
[email protected]:$ Swap: 128 0 128
[email protected]:$

Tu przyznaję się bez bicia, że dodatkowo RAM obciążony jest Apachem i PHPem, nie jest to czysty OS

[email protected]:$ df -h
[email protected]:$ System plików rozm. użyte dost. %uż. zamont. na
[email protected]:$ /dev/ploop63657p1 9,9G 937M 8,5G 10% /
[email protected]:$ none 64M 4,0K 64M 1% /dev
[email protected]:$ none 13M 1020K 12M 8% /run
[email protected]:$ none 5,0M 0 5,0M 0% /run/lock
[email protected]:$ none 52M 0 52M 0% /run/shm
[email protected]:$ none 100M 0 100M 0% /run/user

Widzimy, że mamy wydzielone około 850 MHz zegara CPU, 128 MB RAMu (+ drugie tyle SWAPa) i w sumie 10 GB HDD na różnych partycjach. Czyli nie zostaliśmy oszukani.

W sieci znalazłem fajny skrypt, który zwróci w wyniku wywołania szczegóły odnośnie użycia pamięci RAM. Wywołasz go tak:

[email protected]:$ wget -O- https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py | python

Private + Shared = RAM used Program

204.0 KiB + 105.5 KiB = 309.5 KiB upstart-socket-bridge
324.0 KiB + 77.5 KiB = 401.5 KiB xinetd
324.0 KiB + 79.5 KiB = 403.5 KiB cron
280.0 KiB + 134.5 KiB = 414.5 KiB upstart-udev-bridge
304.0 KiB + 181.0 KiB = 485.0 KiB getty (2)
104.0 KiB + 710.0 KiB = 814.0 KiB saslauthd (2)
468.0 KiB + 421.0 KiB = 889.0 KiB udevd (3)
924.0 KiB + 223.5 KiB = 1.1 MiB init
1.1 MiB + 110.5 KiB = 1.2 MiB rsyslogd
1.4 MiB + 121.5 KiB = 1.5 MiB bash
1.8 MiB + 73.0 KiB = 1.8 MiB sendmail-mta
2.1 MiB + 778.5 KiB = 2.9 MiB sshd (2)
11.6 MiB + 8.7 MiB = 20.2 MiB apache2 (4)
---------------------------------
32.4 MiB
=================================

Jako kolejny element konfiguracji, którą wykonam, będzie ustawienie czasu. Do tego służy proste polecenie

[email protected]:$ dpkg-reconfigure tzdata

za pomocą którego łatwo wskażemy strefę czasową w jakiej ma poruszać się serwer. W graficznym konfiguratorze wskazujemy najpierw „Europe” a potem „Warsaw” (pierwsze po kilknięciu W). Zatwierdzamy i program sam ustawia odpowiednią strefę czasową. Jeśli dalej czas jest niepoprawny odsyłam Cię do mojego wpisu o konfiguracji NTP.

W nowozainstalowanym systemie warto również ustawić język, z którego będziesz korzystał. Tutaj pomocne będzie polecenie

[email protected]:$ dpkg-reconfigure locales

przy pomocy którego należy wskazać najpierw listę języków, które mają być w systemie, a później trzeba wybrać ten domyślny. Ja używam polskiego w standardzie kodowania UTF-8.

W gruncie rzeczy w tym momencie masz gotowy do pracy system operacyjny. W kolejnym wpisie opiszę kwestię zabezpieczenia serwera.

Leave a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre user="" computer="" escaped="">
*
*