Instalare Apache, MySQL si PHP in Linux
Acest tutorial isi propune sa-i indrume, pe cei doritori de a avea un server web in Linux, in pasii instalarii celor trei pachete gratuite si open-source, Apache, MySQL si PHP.
In cazul de fata vom folosi:
Sistem de operare: SuSE Linux 10.1
Compilator: GCC 4.1.0
Server web: Apache 2.2.2
Server baze de date: MySQL 5.0.22
Interpretor: PHP 5.1.4
~> reprezinta promptul consolei
Procesele de instalare se realizeaza sub privilegii de root (su ? Enter ? *parola_de_root* ? Enter)
Instalare Apache 2.2.2
Inainte de a incepe cu instalarea, e indicat (nu obligatoriu) sa cream un user si un grup sub care va rula Apache (astfel, fisierle create de Apache (eventual rezultatele executiilor scripturilor PHP) 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 Apache 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 Apache:
~> make
~> make install
In acest moment, daca totul a decurs fara erori (cel putin asa ar trebui in conditii normale), instalarea serverului Apache s-a incheiat. Urmeaza configurarea lui si a sistemului.
Prima modificare pe care o vom face este aceea a fisierului de configurare a serverului Apache, 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"
...
<IfModule !mpm_winnt.c>
<IfModule !mpm_netware.c>
User userul_tau_de_linux
Group www
</IfModule>
</IfModule>
...
DocumentRoot "/calea/catre/fisierele/tale"
...
<Directory "/calea/catre/fisierele/tale">
Options FollowSymLinks
AllowOverride None
</Directory>
...
DirectoryIndex index.php 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 Apache 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 Apache-ul
Instalare MySQL 5.0.22
Inainte de toate trebuie sa ne asiguram ca userul "mysql" exista in sistem, daca nu cream unul (sub care serverul de MySQL va functiona):
~> groupadd mysql
~> useradd -g mysql mysql
Mai departe, obtinem sursele serverului: mysql-5.0.22.tar.gz (aproximativ 18,6 MB)
In continuare, urmeaza dezarhivarea surselor, configurarea pentru instalare si, in sfarsit, instalarea:
~> tar -xzf mysql-5.0.22.tar.gz
~> cd mysql-5.0.22
~> ./configure --prefix=/usr/local/mysql-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 MySQL-ul, pentru a ne fi usor sa facem referire pe viitor catre el (la instalarea PHP-ului, de exemplu):
~> ln -s /usr/local/mysql-5.0.22/ /usr/local/mysql
Urmeaza crearea fisierului my.cnf (fisierul de configurare al MySQL-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 mysql.
~> 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 = mysql
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, MySQL are nevoie de o baza de date mysql . Pentru a o crea, ruleaza:
~> /usr/local/mysql/bin/mysql_install_db --user=mysql
Se va crea un director /usr/local/mysql/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 "mysql".
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/mysql/bin/mysqld_safe --user=mysql &
apasa Enter pentru e reveni la cursor/prompt. Acum severul MySQL 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/mysql/bin/mysqladmin version
Conectarea la serverul MySQL se face cu comanda:
~> /usr/local/mysql/bin/mysql -u root
Vei primi un mesaj de intampinare iar promptul se va schimba in mysql>
Acum sa setam parola de root, inainte de orice alta operatiune:
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
mysql> SELECT Host, User FROM mysql.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 MySQL (host_name)
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('parola_noua');
mysql> 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
mysql> quit;
Urmatorul pas este reponirea serverului MySQL, modificarile necesare fiind realizate:
~> /usr/local/mysql/bin/mysqladmin -u root -p shutdown
~> /usr/local/mysql/bin/mysqld_safe --user=mysql &
La fel ca la Apache, sa-l facem sa porneasca singur la start-up. In directorul unde sunt sursele dezarhivate ruleaza:
~> cp support-files/mysql.server /etc/init.d/mysql
~> chmod 755 /etc/init.d/mysql
~> chkconfig --add mysql
~> chkconfig --level 35 mysql on
Am terminat si cu MySQL, ne-a mai ramas...
Instalare PHP 5.1.4
Vom instala PHP-ul ca modul pentru Apache, astfel fiind intializat la pornirea serverului.
Obtinem sursele serverului: php-5.1.4.tar.gz (aproximativ 7,9 MB)
Decomprimam si configuram:
~> tar -xzf php-5.1.4.tar.gz
~> cd php-5.1.4
~> ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --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 MySQL (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 Apache) 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-php .php
Urmeaza crearea fisierului php.ini , fisierul in care se configureaza modul in care ruleaza PHP. 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 PHP:
~> cp php-5.1.4/php.ini-recommended /usr/local/php/lib/php.ini
iar daca ai nevoie sa editezi fisierul php.ini:
~> mcedit /usr/local/php/lib/php.ini
sau pentru "sadici":
~> vi /usr/local/php/lib/php.ini
Ne-a mai ramas sa restartam serverul Apache
~> /usr/local/apache2/bin/apachectl restart
Ca sa verifici daca totul e in regula, creeaza un fisier test.php
<?php
phpinfo();
?>
si acceseaza in browser http://linux/test.php sau http://localhost/test.php sau http://127.0.0.1/test.php
Asta este tot. Acum ai un server web la tine in calculator, functional in parametri.
punctweb.com nu-si asuma raspunderea pentru eventualele daune provocate de punerea, eventual defectuoasa, in practica a acestui tutorial.
Link-ul autorului:
www.punctweb.com/instalare_lamp_linux.web
Articole asemanatoare
» Instalare Apache, MySQL si PHP in Windows
Comentarii
Voteaza acest articol!
Trimite un comentariu!