Sunteți pe pagina 1din 40

Tutorial: Cum s i faci propriul server Ubuntu 11.

04 ( Natty
Narwhal ) n VirtualBox
20 aprilie, 2011morph3uxScrie un comentariuMergi la comentarii.

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 main virtual sau pe un calculator propriu-zis (server).

Not!:
Acest tutorial poate fi folosit i pentru un server fizic, aflat n reeaua
din cas, conectat la un router sau server DHCP.
1. Cerine:
- imaginea cd-ului cu Ubuntu Server 11.04 Natty Narwhal disponibil pentru descarcare
pewww.ubuntu.com
- VirtualBox de la Oracle instalat pe calculator (n cazul n care nu folosim un server fizic)
- o legatur rapid la internet
2. Maina virtual:
n cazul in care v-ai 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 maina virtual pe care vrem s o crem; n acest tutorial vom introduce
ubuntu server
-La Operating System vom selecta Linux, iar la Version Ubuntu
-Next
-Selectm memoria alocat noii maini virtuale, n cazul nostru vom selecta 512MB. (Aten ie la
memoria disponibil n calculator; indicat este s alocam cel mult jumtate din ct avem vom vedea

acest interval marcat cu verde)


-Next
-n dialogul urmtor ni se cere indicarea unui hard disk virtual pe care ma ina virtual va stoca datele.
Vom lsa implicite urmtoarele setri, dar bineneles, fiecare va putea s i personalizeze setrile n
funcie de preferine, spaiu disponibil etc. aadar:
-vom lsa selectat Create new hard disk
-Next
-Next
-vom lsa selectat Dynamically expanding storage
-Next
-vom lsa scris n cmpul Location ubuntu server si dimensiunea la 8.00GB
-Next
-Finish
-apoi iar Finish
n acest moment avem creat o nou main virtual, care va deveni noul nostru server, ns dupa ce
vom mai face 2 setri.
Vom selecta Settings pentru maina virtual creat. n fereasta de setri, vom selecta Network iar la
opiunea Attached to: selectm Bridged Adapter (presupunem c avem calculatorul ntr-o reea
local). Calculatorul nostru i ia n mod automat IP-ul 192.168.1.8, s zicem. Op iunea selectat mai
sus i va permite mainii 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 trziu c i vom seta un IP static.
Dac nu folosii 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 cuvntul Empty n dreptul unitii de disc
virtuale. Dm clic pe ea, iar n dreapta dm clic pe iconia unui disc i selectm Choose a virtual
CD/DVD disk file, inidicndu-i apoi calea ctre imaginea de disc ubuntu serverdescrcat de
pe site-ul oficial.
Dup ce am fcut aceste 2 setri, putem s ne apucm propriu-zis de treab.
3. Sistemul de baz:
n VirtualBox apsm butonul Start pentru a porni maina virtual.
Pentru serverul real, bgm cd-ul scris cu imaginea de disc descrcat de pe site-ul oficial si pornim
calculatorul.
Va aprea urmtoarea imagine:

Alegem limba englez. Bineneles nu e nici o problem dac alegem romna sau oricare alta, dar
avantajul folosirii limbii engleze e c dac ntmpinai o problem mai trziu legat de sistem ve i gsi,
mult mai uor i mult mai stufos, suport n limba englez.
Apoi selectai Install Ubuntu Server:

Aici selectm 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, setm s
nu ne detecteze tastatura i o setm pe SUA iar layout-ul tot SUA:

Ateptm o perioad pn se ncarc unele componente:

nc ateptm..

Configurarea reelei.

Setm hostname-ul ubuntu.

n funcie de localizarea pe care am setat-o mai devreme, sistemul va ncerca s ghiceasc fusul orar.
Dac acesta este corect, confirmai, iar dac nu, ave i posibilitatea de a-l schimba.

Partiionarea hardiskului: de obicei este un proces mai delicat, n primul rnd 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.

Selectm harddisk-ul, singurul de altfel pe care l avem n aceast configuraie:

Confirmm scrierea modificrilor pe harddisk.

Folosim ntregul spaiu disponibil pentru instalare (de obicei valoarea numeric a spa iului maxim
disponibil apare ca defaul):

Confirmm partiionarea propriu-zis (dac totui folosii un calculator real pentru acest setup, e bine
de tiut c pan n acest moment nu s-a fcut absolut nici o modificare pe harddisk).

Se creeaz i se formateaz partiiile

Se instaleaz sistemul de baz

Acum vom seta un user (care mai trziu va avea i drept de sudo [superuser - va putea ac iona
precum root ] ). i setm numele:

Apoi setm username-ul:

i n final parola

i confimarea parolei.

Vom alege s nu ne cripteze directorul home, ntruct 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 avei un proxy n reea, e momentul s l declarai. Dac nu, lsm cmpul gol.

Se configureaz managerul de pachete

Ateptm

Setm ca sistemul s nu fac actualizri automate. Le vom face manual mai trziu:

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

Dup ce am selectat OpenSSH server i am confirmat, ateptm s se instaleze

Confirmm instalarea boot-loader-ului:

Instalarea este complet. Scoatem cd-ul din unitate, n cazul unui calculator real, sau demontm
imaginea de cd n cazul mainii virtuale si apsm butonul Continue pentru a restarta sistemul

proaspt instalat.

4.Configurarea serverului
4.1.Obinerea dreptului de root
Dup repornirea sistemului, logai-v cu user-ul creat anterior (aici popescu). Operaiunile ce urmeaz
a fi fcute de aici inainte necesit drepturi de superutilizator (root). Avem dou modaliti 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 setm una, rulm urmtoarele comenzi:

sudo su
(introducem parola utilizatorului popescu dac ne este cerut)
n acest moment suntei 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 urmtoare:

passwd
n acest moment, putem folosi urmtoarele comenzi fr prefixul sudo.
4.1.(Opional) Instalarea serverului SSH
Dac la punctul 3. nu ai instalat serverul SSH, o putei face acum prin urmtoarea comand:

aptitude install ssh openssh-server


De acum nainte v putei loga utiliznd un client SSH precum PuTTY sau comanda ssh din consola
Linux/Mac OS X pentru a face operaiunile urmtoare. Deocamdat serverul are alocat un IP dinamic,
pe care il vom folosi prima dat cnd ne logm 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 afia informaii referitoare la conexiunea la reea.
Dup ce am identificat IP-ul ne logm folosind SSH. (pentru comanda ssh din consola linux/mac
folosim sintaxa ssh user@IP )
4.2. Configurarea reelei
Deoarece serverului i-a fost alocat un IP dinamic de la router prin DHCP, va trebui s l schimbm intrunul static: orice server trebuie s aib o adres fix n re ea pentru a preveni erorile ce pot aprea n
momentul repornirii unuia din ele(vorbim aici de o re ea cu mai multe servere).
Vom edita fiierul /etc/network/interfaces. Asigurai-v s l setai 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
clieni ntre 192.168.1.2 i 192.168.1.254 (192.168.1.255 este alocat pentru broadcast )] asigura iv c titi dinainte IP-ul routerului).

nano /etc/network/interfaces
Fiierul deschis ar trebui s arate asemntor :

# 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 cmpului address reprezint adresa IP
static pe care dorim s o setm pentru serverul nostru. Asigurai-v c i celelalte valori respect
intervalul de IP-uri generat de router(n afar de netmask care rmane neschimbat).
Dup ce salvai modificrile fcute, vom reporni reeaua:

/etc/init.d/networking restart
Apoi modificm fiierul /etc/hosts, care trebuie s arate n felul urmtor:

127.0.0.1

localhost.localdomain

192.168.0.100

server.exemplu.com

localhost
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 rulm:

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 rulm comanda:

apt-get update
apoi, pentru a instala actualizrile(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 urmtoarea comand instalm clientul i serverul pentru baze de date MySQL si openssl:

apt-get install mysql-client mysql-server openssl

Vi se va cere s introducei parola utilizatorului root pentru baza de date, apoi confirmarea ei. La
intrebarea Create directories for web-based administration rspundem 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 interfeele, nu doar localhost, de aceea vom comenta cu
caracterul diez(#) linia bind-address = 127.0.0.1 din fiierul /etc/mysql/my.cnf:

nano /etc/mysql/my.cnf
Respectiva linie trebuie s arate aa:

#bind-address

= 127.0.0.1

Apoi repornim MySQL:

restart mysql
Rulm:

netstat -tap | grep mysql


Rezultatul comenzii de mai sus trebuie s fie asemntor cu urmtorul:

tcp

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 rspundem la urmtoarele ntrebri:

Web server to reconfigure automatically: <----------------- apache2


Configure database for phpmyadmin with dbconfig-common? <-- No
Apoi rulm urmtoarea comand pentru a activa urmtoarele 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 funcionalitatea intrm ntr-un browser si accesm adresa http://192.168.1.200.
Ar trebui s vedem o pagin cu titlul It works!.
Pentru a accesa vizual baza de date MySQL accesm adresahttp://192.168.1.200/phpmyadmin.
n acest moment ar trebui s avem serverul proapt instalat gata de lucru.

S-ar putea să vă placă și