Top

PHP - mini tutorial - partea 1

March 15, 2008

Introducere

Până nu demult, în Internet erau puţini cei care realizau şi foloseau fişierele de comenzi - scripturile. Recent, însă, tot mai multă lume îşi construieşte propriile pagini Web, sau chiar propriile centre Web, iar limbajele de comenzi, pentru realizarea de script-uri, devin tot mai importante.
În acelaşi timp, aceste limbaje devin tot mai uşor de învăţat, iar este unul din ele, poate cel mai simplu şi cel mai puternic (deocamdată).

Ce este ?

vine de la “Hypertext Preprocessor” şi este un limbaj de comenzi-script pentru server (se spune că acţionează pe partea serverului - server-side language). Adică fişierele cu comenzi rulează pe serverul Web, nu în navigator, pe staţia client. Cu alte cuvinte, nu trebuie să ne
batem capul cu compatibilitatea soft a calculatorului personal de pe care navigăm. este un limbaj relativ nou (comparativ cu alte limbaje precum Perl (CGI) şi Java), dar devine rapid unul dintre cele mai răspândite şi mai populare din Internet.
Read more

Instalare Apache, MySQL si PHP in Suse Linux 10.1

March 13, 2008

Suse Linux 10.1In general, un server este un program care ofera servicii altor programe pe calculatoare diferite sau pe acelasi calculator. Calculatorul pe care ruleaza programul server este adeseori numit server (poate contine mai multe programe client sau server). In perechea server/client, serverul este un program ce asteapta si interpreteaza cererile de la programe client pe acelasi calculator sau pe calculatoare diferite’); server web in , in pasii instalarii celor trei pachete gratuite si open-source, , si .

este un puternic open source web server dezvoltat de catre Group. Acesta ruleza pe sitemele de operare Unix, , sau Windows; este o aplicatie ca o derivare a originalului server de web NCSA dezvoltat de Universitate Illinois din Urbana-Champaigne. este cel mai polpular server web de pe internet, si mult mai puternic decat Internet Information Server al firmei Microsoft, cel mai apropiat competitor.

Un server de baze de date ce poate fi accesat din limbaje ca , pearl, java, c/c++, etc., se poate gasi la www..com Folosirea acestuia este free.

un limbaj de scripting. O parte majora din sintaxa este imprumutata din C, Java si Perl, dar contine si cateva functii unice. Scopul: de a permite celor care creeaza pagini web scrierea rapida a paginilor generate dinamic.In cazul de fata vom folosi:Sistem de operare: 10.1

  • Compilator: GCC 4.1.0
  • Server web: 2.2.2
  • Server baze de date: 5.0.22
  • Interpretor: 5.1.4
  • ‘~’ reprezinta promptul consolei

Procesele de instalare se realizeaza sub privilegii de root (su -> Enter -> *parola_de_root* -> Enter)

Instalare 2.2.2

Inainte de a incepe cu instalarea, e indicat (nu obligatoriu) sa cream un user si un grup sub care va rula (astfel, fisierle create de (eventual rezultatele executiilor scripturilor ) vor apartine acestui user, apache2 in cazul nostru, si afiliate acestui grup, www in cazul nostru):

~> groupadd www
~> useradd -g www apache2

In continuare vom obtine sursele serverului: httpd-2.2.2.tar.gz (aproximativ 6 MB)

Dupa ce am obtinut sursele, trecem la dezarhivarea lor in hardisk-ul local, deschizand o consola in directorul unde am salvat arhiva .tar.gz

~> tar -xzf httpd-2.2.2.tar.gz
~> cd httpd-2.2.2
~> ./configure –prefix=/usr/local/apache2 –enable-so

In exemplul de mai sus, prima linie reprezinta dezarhivarea surselor, a doua linie reprezinta schimbarea directorului curent in cel in care s-a realizat dezarhivarea iar a treia linie reprezinta configurarea surselor: –prefix reprezinta destinatia unde se va instala (si va fi accesibil) serverul iar –enable-so activeaza modulul Dynamic Shared Object, pentru a putea dispune pe viitor de module cum ar fi de exemplu mod_rewrite. Comanda ./configure accepta si multi alti parametri pe care ii poti afla ruland-o cu optiunea –help (./configure –help).

Odata terminata si aceasta etapa, sa trecem la instalarea efectiva a serverului :

~> make

~> make install

In acest moment, daca totul a decurs fara erori (cel putin asa ar trebui in conditii normale), instalarea serverului s-a incheiat. Urmeaza configurarea lui si a sistemului.

Prima modificare pe care o vom face este aceea a fisierului de configurare a serverului , si anume httpd.conf

~> mcedit /usr/local/apache2/conf/httpd.conf

sau pentru “sadici”:

~> vi /usr/local/apache2/conf/httpd.conf

Odata deschis fisierul, trebuie modificat astfel incat sa arate ca mai jos (”…” reprezinta linii ce trebuiesc ignorate):

ServerRoot “/usr/local/apache2″



User userul_tau_de_linux
Group www


DocumentRoot “/calea/catre/fisierele/tale”


Options FollowSymLinks
AllowOverride None


DirectoryIndex index. index.html index.htm index.html.var

Modificarile de mai sus sunt minimale, dar suficiente pentru ce ne trebuie noua.

Acum setam drepturi pentru directorul unde vor fi stocate fisierele site-urilor noastre:

chmod -R 750 /calea/catre/fisierele/tale

Acestea fiind zise, sa testam ce am facut pana acum, pornind, oprind sau restartand serverul:

~> /usr/local/apache2/bin/apachectl start

~> /usr/local/apache2/bin/apachectl stop

~> /usr/local/apache2/bin/apachectl restart

In momentul de fata serverul este configurat si ruleaza. Dar, de vreme ce vom reseta sistemul la un moment dat, sa facem modificarile necesare pentru ca acesta sa porneasca odata cu sistemul:

~> cp /usr/local/apache2/bin/apachectl /etc/init.d
~> chmod 755 /etc/init.d/apachectl
~> chkconfig –add apachectl
~> chkconfig –level 35 apachectl on

Acestea fiind zise, am terminat cu -ul

Instalare 5.0.22

Inainte de toate trebuie sa ne asiguram ca userul “” exista in sistem, daca nu cream unul (sub care serverul de va functiona):

~> groupadd
~> useradd -g

Mai departe, obtinem sursele serverului: FTP://ftp.roedu.net/pub/mirrors/ftp..com/Downloads/-5.0/-5.0.22.tar.gz” class=”link” title=” 5.0.22″>-5.0.22.tar.gz (aproximativ 18,6 MB)

In continuare, urmeaza dezarhivarea surselor, configurarea pentru instalare si, in sfarsit, instalarea:

~> tar -xzf -5.0.22.tar.gz
~> cd -5.0.22
~> ./configure –prefix=/usr/local/-5.0.22 –with-charset=utf8 –with-collation=utf8_general_ci
~> make
~> make installc

Mai sus, am folosit –with-charset=utf8 si –with-collation=utf8_general_ci pentru a evita instalarea cu Swedish implicit.

Acum cream un link catre directorul in care s-a instalat -ul, pentru a ne fi usor sa facem referire pe viitor catre el (la instalarea -ului, de exemplu):

~> ln -s /usr/local/-5.0.22/ /usr/local/

Urmeaza crearea fisierului my.cnf (fisierul de configurare al -ului). Acesta contine optiuni de control si securitate. Fisierul nu trebuie scris de la 0, existand patru variante gata facute in directorul support-files/ al kit-ului. Citeste-le pe rand si alege-l pe cel care crezi ca ti se potriveste cel mai bine. Eu am ales my-small.cnf pentru ca nu fac webhosting sau mai stiu eu ce… imi trebuie pentru un simplu localhost. Acum il copiem unde trebuie si ii dam drepturi de scriere etc:

~> cp support-files/my-small.cnf /etc/my.cnf
~> chown root /etc/my.cnf
~> chgrp root /etc/my.cnf
~> chmod 644 /etc/my.cnf

Acum editam fisierul si specificam ca serverul va rula sub privilegiile userului .

~> mcedit /etc/my.cnf

sau pentru “sadici”:

~> vi /etc/my.cnf

cauta linia [mysqld] si imediat sub ea insereaza o noua linie in care scrii:

user =

Locul pe HDD-uri unde stau bazele de date se poate alege cand se editeaza fisierul my.cnf specificand parametrul datadir. (@whooper)

In continuare, pentru a functiona cum trebuie, are nevoie de o baza de date . Pentru a o crea, ruleaza:

~> /usr/local//bin/mysql_install_db –user=

Se va crea un director /usr/local//var/ care va contine bazele de date necesare. Tot aici vor fi stocate si restul de baze de date care se vor crea de-a lungul timpului. Directorul trebuie sa poata fi scris de catre userul ““.

Acum sa pornim serverul pentru prima data (daca acesta este un upgrade, de la o versiune mai veche ce deja exista instalata in sistem, nu uita s-o opresti pe aceasta din urma…):

~> /usr/local//bin/mysqld_safe –user= &

apasa Enter pentru e reveni la cursor/prompt. Acum severul ar trebui sa mearga. Pentru a verifica, in urma comenzii de mai jos, trebui sa primesti raspuns de la server cu niste informatii legate de el:

~> /usr/local//bin/mysqladmin version

Conectarea la serverul se face cu comanda:

~> /usr/local//bin/ -u root

Vei primi un mesaj de intampinare iar promptul se va schimba in >

Acum sa setam parola de root, inainte de orice alta operatiune:

> DELETE FROM .user WHERE User = ”;
> FLUSH PRIVILEGES;
> SELECT Host, User FROM .user;

va fi afisat un tabel cu doua coloane si doua randuri. Cauta randul ce contine root in coloana User si altceva in afara de localhost in coloana Host . Acel altceva este numele gazdei (host_name)

> SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD(’parola_noua’);
> SET PASSWORD FOR ‘root’@'acel_altceva’ = PASSWORD(’parola noua’);

Acesta este super-utilizatorul ce va avea drepturi peste toate bazele de date existente sau viitoare.

Acum, ca am terminat si cu asta, sa

> quit;

Urmatorul pas este reponirea serverului , modificarile necesare fiind realizate:

~> /usr/local//bin/mysqladmin -u root -p shutdown
~> /usr/local//bin/mysqld_safe –user= &

La fel ca la , sa-l facem sa porneasca singur la start-up. In directorul unde sunt sursele dezarhivate ruleaza:

~> cp support-files/.server /etc/init.d/
~> chmod 755 /etc/init.d/
~> chkconfig –add
~> chkconfig –level 35 on

Am terminat si cu , ne-a mai ramas…

Instalare 5.1.4

Vom instala -ul ca modul pentru , astfel fiind intializat la pornirea serverului.

Obtinem sursele serverului: -5.1.4.tar.gz (aproximativ 7,9 MB)

Decomprimam si configuram:

~> tar -xzf -5.1.4.tar.gz
~> cd -5.1.4
~> ./configure –prefix=/usr/local/ –with-apxs2=/usr/local/apache2/bin/apxs –with-=/usr/local/ –enable-module=so –enable-bcmath –enable-calendar –with-curl –enable-exif –enable-ftp –with-gd –with-jpeg-dir=/usr/local –with-png-dir=/usr/local/png –with-gettext –with-pear –enable-sockets –with-ttf –with-freetype-dir=/usr/include/freetype –enable-gd-native-ttf –with-zip –with-zlib

Primii doi parametri stabilesc caile de acces, iar al treilea specifica si compilarea cu suport pentru (de vreme ce incepand cu versiunea 5 nu mai este implicit). Pentru restul de parametri ai la dispozitie ./configure –help

In continuare

~> make
~> make install

Toate schimbarile necesare in httpd.conf (fisierul de configurare al lui ) ar trebui sa fie facute deja, dar, pentru orice eventualitate, verifica daca urmatorele linii se regasesc acolo (Daca nu exista, adauga-le manual. ):

LoadModule php5_module modules/libphp5.so
AddType application/x-httpd- .

Urmeaza crearea fisierului .ini , fisierul in care se configureaza modul in care ruleaza . Alege din fisierele gata facute (in directorul in care se gaseste kit-ul) si copie-l in directorul /lib din directorul unde s-a instalat :

~> cp -5.1.4/.ini-recommended /usr/local//lib/.ini

iar daca ai nevoie sa editezi fisierul .ini:

~> mcedit /usr/local//lib/.ini

sau pentru “sadici”:

~> vi /usr/local//lib/.ini

Ne-a mai ramas sa restartam serverul

~> /usr/local/apache2/bin/apachectl restart

Ca sa verifici daca totul e in regula, creeaza un fisier test.

phpinfo();
?>

si acceseaza in browser http:///test. sau http://localhost/test. sau http://127.0.0.1/test.

Asta este tot. Acum ai un server web la tine in calculator, functional in parametri.


punctweb.com, KeepTheDistance si DoubleSense nu-si asuma raspunderea pentru eventualele daune provocate de punerea, eventual defectuoasa, in practica a acestui .

Bottom