Showing posts with label Cum sa îti faci propriul server. Show all posts
Showing posts with label Cum sa îti faci propriul server. Show all posts

Monday, March 5, 2012

Cum sa iti faci propriul server Ubuntu

Cum sa îti faci propriul server Ubuntu 11.04 ( Natty Narwhal ) în VirtualBox


Acest tutorial este menit să vă ajute să instalați rapid și simplu un server Apache + MySQL + PHP pe Linux (LAMP Server), fie el pe o mașină virtuală sau pe un calculator propriu-zis (server).
Notă!:
Acest tutorial poate fi folosit și pentru un server fizic, aflat în rețeaua
din casă, conectat la un router sau server DHCP.

1. Cerințe:
- imaginea cd-ului cu Ubuntu Server 11.04 Natty Narwhal disponibil pentru descarcare pe http://www.ubuntu.com/
- VirtualBox de la Oracle instalat pe calculator (în cazul în care nu folosim un server fizic)
- o legatură rapidă la internet

2. Mașina virtuală:
În cazul in care v-ați decis pentru un server virtual, intrați în VirtualBox, dați clic pe “New“. Va apare o fereastră “Create New Virtual Machine“. De aici:
-Next
-Introducem un nume pentru mașina virtuală pe care vrem să o creăm; în acest tutorial vom introduce “ubuntu server”
-La “Operating System” vom selecta Linux, iar la “VersionUbuntu
-Next
-Selectăm memoria alocată noii mașini virtuale, în cazul nostru vom selecta 512MB. (Atenție la memoria disponibilă în calculator; indicat este să alocam cel mult jumătate din cât avem – vom vedea acest interval marcat cu verde)
-Next
-În dialogul următor ni se cere indicarea unui hard disk virtual pe care mașina virtuală va stoca datele. Vom lăsa implicite următoarele setări, dar bineînțeles, fiecare va putea să își personalizeze setările în funcție de preferințe, spațiu disponibil etc. așadar:
-vom lăsa selectat “Create new hard disk
-Next
-Next
-vom lăsa selectat “Dynamically expanding storage
-Next
-vom lăsa scris în câmpul Locationubuntu server” si dimensiunea la 8.00GB
-Next
-Finish
-apoi iar Finish
În acest moment avem creată o nouă mașină virtuală, care va deveni noul nostru server, însă dupa ce vom mai face 2 setări.
Vom selecta Settings pentru mașina virtuală creată. În fereasta de setări, vom selecta Network iar la opțiunea “Attached to:” selectăm Bridged Adapter (presupunem că avem calculatorul într-o rețea locală). Calculatorul nostru își ia în mod automat IP-ul 192.168.1.8, să zicem. Opțiunea selectată mai sus îi va permite mașinii virtuale să se comporte ca un calculator separat, cu placă de rețea separată, care își va lua un IP propriu de la serverul DHCP (router).
Pentru că vorbim de un server, este bine ca adresa lui în rețea să nu fie dinamică, de aceea vom vedea mai târziu că îi vom seta un IP static.
Dacă nu folosiți VirtualBox, calculatorul pe care îl vom seta ca server trebuie să fie fizic într-o rețea locală, conectat prin cablu la un router.
După Network ne ducem la Storage și vom observa cuvântul Empty în dreptul unității de disc virtuale. Dăm clic pe ea, iar în dreapta dăm clic pe iconița unui disc și selectăm “Choose a virtual CD/DVD disk file“, inidicându-i apoi calea către imaginea de disc ubuntu server descărcată de pe site-ul oficial.
După ce am făcut aceste 2 setări, putem să ne apucăm propriu-zis de treabă.

3. Sistemul de bază:
În VirtualBox apăsăm butonul Start pentru a porni mașina virtuală.
Pentru serverul real, băgăm cd-ul scris cu imaginea de disc descărcată de pe site-ul oficial si pornim calculatorul.
Va apărea următoarea imagine:

Alegem limba engleză. Bineînțeles nu e nici o problemă dacă alegem româna sau oricare alta, dar avantajul folosirii limbii engleze e că dacă întâmpinați o problemă mai târziu legată de sistem veți găsi, mult mai ușor și mult mai “stufos”, suport în limba engleză.
Apoi selectați Install Ubuntu Server:

Aici selectăm limba folosită pe parcursul procesului de instalare. Vom alege din nou engleza:

Apoi vom selecta localizarea:




După ce am terminat de setat localizarea, urmează configurarea tastaturii. Nimic deosebit, setăm să nu ne detecteze tastatura și o setăm pe SUA iar layout-ul tot SUA:



Așteptăm o perioadă până se încarcă unele componente:

Încă așteptăm..

Configurarea rețelei. 
Setăm hostname-ul ubuntu.

În funcție de localizarea pe care am setat-o mai devreme, sistemul va încerca să ghicească fusul orar. Dacă acesta este corect, confirmați, iar dacă nu, aveți posibilitatea de a-l schimba.

Partiționarea hardiskului: de obicei este un proces mai delicat, în primul rând din cauza posibilității pierderii datelor în cazul în care ceva nu merge bine. În cazul de față nu avem de ce să ne facem griji, calculatorul este unul virtual iar harddisk-ul la fel. Vom folosi întreagul spațiu și vom seta și LVM-ul (logical volume manager) ca în figura de mai jos.

Selectăm harddisk-ul, singurul de altfel pe care îl avem în această configurație:

Confirmăm scrierea modificărilor pe harddisk.

Folosim întregul spațiu disponibil pentru instalare (de obicei valoarea numerică a spațiului maxim disponibil apare ca defaul):

Confirmăm partiționarea propriu-zisă (dacă totuți folosiți un calculator real pentru acest setup, e bine de știut că pană în acest moment nu s-a făcut absolut nici o modificare pe harddisk).

Se creează și se formatează partițiile…

Se instalează sistemul de bază…

Acum vom seta un user (care mai târziu va avea și drept de sudo [superuser - va putea acționa precum root ] ). Îi setăm numele:

Apoi setăm username-ul:

Și în final parola…

… și confimarea parolei.

Vom alege să nu ne cripteze directorul home, întrucât acest tutorial este un exercițiu ( în mare pentru a ne crea un mediu de development prietenos pentru lucrul cu PHP și baze de date MySQL) nu vom insista pe partea de securitate a serverului.

În continuare, dacă aveți un proxy în rețea, e momentul să îl “declarați”. Dacă nu, lăsăm câmpul gol.

Se configurează managerul de pachete…

Așteptăm…

Setăm ca sistemul să nu facă actualizări automate. Le vom face manual mai târziu:

Din lista care urmează, selectăm numai OpenSSH server. De restul ne vom ocupa după restart.

După ce am selectat OpenSSH server și am confirmat, așteptăm să se instaleze…

Confirmăm instalarea boot-loader-ului:

Instalarea este completă. Scoatem cd-ul din unitate, în cazul unui calculator real, sau demontăm imaginea de cd în cazul mașinii virtuale si apăsăm butonul Continue pentru a restarta sistemul proaspăt instalat.


4.Configurarea serverului
4.1.Obținerea dreptului de root
După repornirea sistemului, logați-vă cu user-ul creat anterior (aici popescu). Operațiunile ce urmează a fi făcute de aici inainte necesită drepturi de superutilizator (root). Avem două modalități de a satisface această cerință. Prima este prefixarea tuturor comenzilor cu comanda sudo sau logarea ca root. Utilizatorul root nu are implicit setată o parolă în Ubuntu din motive de sucuritate, însă dacă dorim să setăm una, rulăm următoarele comenzi:
sudo su
(introducem parola utilizatorului popescu dacă ne este cerută)
În acest moment sunteți logat ca root(însă, cum am zis, acesta nu are setată o parolă, în cazul în care dorim să ne logam ca root la pornirea sistemului – lucru nerecomandat în mod uzual). Pentru a seta o parolă pentru root folosim comanda următoare:
passwd
În acest moment, putem folosi următoarele comenzi fără prefixul sudo.
4.1.(Opțional) Instalarea serverului SSH
Dacă la punctul 3. nu ați instalat serverul SSH, o puteți face acum prin următoarea comandă:
aptitude install ssh openssh-server
De acum înainte vă puteți loga utilizând un client SSH precum PuTTY sau comanda ssh din consola Linux/Mac OS X pentru a face operațiunile următoare. Deocamdată serverul are alocat un IP dinamic, pe care il vom folosi prima dată când ne logăm remote de pe alt computer. Pentru a identifica IP-ul pe care serverul l-a preluat de la router (în cazul de față) vom rula comanda:
ifconfig
Aceasta va afișa informații referitoare la conexiunea la rețea.
După ce am identificat IP-ul ne logăm folosind SSH. (pentru comanda ssh din consola linux/mac folosim sintaxa ssh user@IP )
4.2. Configurarea rețelei
Deoarece serverului i-a fost alocat un IP dinamic de la router prin DHCP, va trebui să îl schimbăm intr-unul static: orice server trebuie să aibă o adresă fixă în rețea pentru a preveni erorile ce pot apărea în momentul repornirii unuia din ele(vorbim aici de o rețea cu mai multe servere).
Vom edita fișierul /etc/network/interfaces. Asigurați-vă să îl setați după nevoile proprii (în cazul de față vom folosi IP-ul static 192.168.1.200 [routerul are adresa 192.168.1.1 și alocă adrese pentru clienți între 192.168.1.2 și 192.168.1.254 (192.168.1.255 este alocat pentru broadcast )] — asigurați-vă că știti dinainte IP-ul routerului).
nano /etc/network/interfaces
Fișierul deschis ar trebui să arate asemănător :
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.1.200
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
Valoarea lui gateway reprezintă IP-ul routerului, iar valoarea câmpului address reprezintă adresa IP statică pe care dorim să o setăm pentru serverul nostru. Asigurați-vă că și celelalte valori respectă intervalul de IP-uri generat de router(în afară de netmask care rămane neschimbat).
După ce salvați modificările făcute, vom reporni rețeaua:
/etc/init.d/networking restart
Apoi modificăm fișierul /etc/hosts, care trebuie să arate în felul următor:
127.0.0.1       localhost.localdomain   localhost
192.168.0.100   server.exemplu.com     ubuntu

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Apoi rulăm:
echo server1.example.com > /etc/hostname
/etc/init.d/hostname restart
Și apoi:
hostname
hostname -f
Ambele comenzi ar trebui să returneze server.exemplu.com
4.3. Actualizarea sistemului
Pentru a actualiza lista de update-uri rulăm comanda:
apt-get update
apoi, pentru a instala actualizările(dacă sunt):
apt-get upgrade
iar apoi vom reporni sistemul:
reboot 
4.4. Sincronizarea ceasului sistemului
Pentru a instala utilitarul de sincronizare folosim comanda:
apt-get install ntp ntpdate
4.4. Instalarea MySQL
Prin următoarea comandă instalăm clientul și serverul pentru baze de date MySQL si openssl:
apt-get install mysql-client mysql-server openssl
Vi se va cere să introduceți parola utilizatorului root pentru baza de date, apoi confirmarea ei. La intrebarea “Create directories for web-based administration” răspundem cu No:
New password for the MySQL "root" user: <---------------- parola de root
Repeat password for the MySQL "root" user: <------------- parola de root
Create directories for web-based administration? <------- No
Dorim ca MySQL sa asculte pe toate interfețele, nu doar localhost, de aceea vom comenta cu caracterul diez(#) linia bind-address = 127.0.0.1 din fișierul /etc/mysql/my.cnf:
nano /etc/mysql/my.cnf
Respectiva linie trebuie să arate așa:
#bind-address           = 127.0.0.1
Apoi repornim MySQL:
restart mysql
Rulăm:
netstat -tap | grep mysql
Rezultatul comenzii de mai sus trebuie să fie asemănător cu următorul:
tcp        0      0 *:mysql                 *:*                     LISTEN
      2182/mysqld
4.5. Instalarea Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, și mcrypt
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork
apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common
php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi
libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt
mcrypt php5-imagick imagemagick libapache2-mod-suphp
libopenssl-ruby libapache2-mod-ruby
Ni se va cere să răspundem la următoarele întrebări:
Web server to reconfigure automatically: <----------------- apache2
Configure database for phpmyadmin with dbconfig-common? <-- No
Apoi rulăm următoarea comandă pentru a activa următoarele module Apache : suexec, rewrite, ssl, actions, și include :
a2enmod suexec rewrite ssl actions include
Apoi repornim serverul Apache:
/etc/init.d/apache2 restart
5. Testarea sistemului
Pentru a testa funcționalitatea intrăm într-un browser si accesăm adresa http://192.168.1.200.
Ar trebui să vedem o pagină cu titlul “It works!”.
Pentru a accesa vizual baza de date MySQL accesăm adresa http://192.168.1.200/phpmyadmin.
În acest moment ar trebui să avem serverul proapăt instalat gata de lucru.

SPOR
!
Special Offer! 20% off New 12+mo Hosting plans!


Keywords: Cum sa îti faci propriul server, Tutorial, Tutorials, Ubuntu server, VirtualBox.