LAMP
From Bucuresti Linux Users Group
| LAMP | |
| Apache | |
|---|---|
| | |
| PHP | |
| | |
| MySQL | |
| | |
Introducere
Apache este unul dintre cele mai vestite servere web care rulează pe linux. LAMP este prescurtarea de la Linux, Apache, MySQL, PHP.
Tutorialul de mai jos va permite instalarea unui server Apache pe sistemele Debian si Ubuntu fară prea mari bătăi de cap.
Notă*: Sistemul de notaţie este: #=root, $=utilizator obişnuit (sudo). Mandriva nu foloseste sudo implicit, deci toate comenzile vor fi executate ca root.
Contents |
Pregătirea Sistemului
Înainte de a începe instalarea LAMP este bine să actualizăm sistemul cu cele mai noi pachete.
In Debian si Ubuntu :
- ca root:
# apt-get update
# apt-get upgrade
- ca utilizator obişnuit:
$ sudo apt-get update
$ sudo apt-get upgrade
După terminarea actualizării cu cele mai noi pachete se începe instalarea propriu-zisă a serverului.
Instalare APACHE şi PHP
Dacă se vrea instalarea PHP 4 se tastează în terminal:
- in Debian si Ubuntu:
$ sudo apt-get install apache2 php4 libapache2-mod-php4
Pentru instalarea PHP5 se tastează:
- in Debian si Ubuntu:
$ sudo apt-get install apache2 php5 libapache2-mod-php5
Notă*: Dacă nu se specifică la pachetul PHP "4", PHP5 va fi instalat implicit!
Fişierul de configurare al apache este localizat la:
/etc/apache2/apache2.conf
iar directorul implicit este:
- in Debian si Ubuntu:
/var/www
Locaţia fişierului de configurare php este aici: /etc/php5/apache2/php.ini
Pentru a verifica dacă PHP este instalat şi rulează conform aşteptărilor crează un fişier test.php în directorul /var/www unde vei introduce funcţia phpinfo () ca în exemplul de mai jos:
- in Debian si Ubuntu:
$ sudo nano /var/www/test.php
apoi scrie funcţia în documentul nou creat:
<?php phpinfo(); ?>
Salvează!
Deschide WebBrowser-ul preferat şi tastează:
http://localhost/test.php
Alte componente necesare funcţionării
De multe ori serverul LAMP pe care îl setezi, fie ca vorbim de utilizarea în scop personal sau comercial, cere la un moment dat ca anumite funcţionalităţi să fie extinse pentru a putea afişa pe el un site web cu anumite elemente de securitate.
Activarea Librăriei GD cu PHP
Dacă vrei să foloseşti CAPTCHA pentru generarea dinamică a unor imagini cu un script PHP şi in felul acesta să incerci sa opreşti SPAM-urile sau roboţii care efectuează inserturi automate în campurile formularelor, atunci este necesară instalarea librăriei GD în PHP.
Comanda de mai jos face acest lucru:
- in Debian si Ubuntu:
$ sudo apt-get install php5-gd
Activarea Mod Rewrite cu .htaccess
Aceast modul este cel care permite site-urilor web să afişeze link-uri SEF (Search Engine Friendly). Pentru ca blogul/site-ul/script-ul tău să beneficieze de link-uri citibile acest modul trebuie activat.
Comanda pentru activarea modulului:
$ sudo a2enmod rewrite
Instalare Server MYSQL
Instalarea serverului de baze de date MySQL este întotdeauna necesară dacă produsul (site-ul/scriptul) cere ca funcţionarea lui să fie printr-o bază de date.
Comanda pentru instalare este:
- in Debian si Ubuntu:
$ sudo apt-get install mysql-server mysql-client php5-mysql
Notă: Dacă ai instalat PHP4 atunci trebuie sa rulezi comanda:
- in Debian si Ubuntu:
$ sudo apt-get install mysql-server mysql-client php4-mysql
Locaţia fisierului de configurare al MySQL este:
/etc/mysql/my.cnf
Instalare PhpMyAdmin
PhpMyAdmin este un soft de management şi administrare a bazelor de date care este foarte uşor de instalat şi configurat sub Apache.
Comanda pentru instalare:
- in Debian si Ubuntu:
$ sudo apt-get install phpmyadmin
Fişierul de configurare al phpmyadmin este localizat in directorul: /etc/phpmyadmin
Configurări Post-Instalare
Configuraţile post instalare LAMP de regulă aduc un management mai bun al serverului permiţînd utilizatorului să definească locaţiile siteurilor pe care le foloseşte, porturile pe care lucrează fiecare site şi nu în ultimul rând aliasurile.
Configurare vhost-uri
Configurarea unui vhost este simplă. Precizez de la bun început că voi volosi o metodă prin care vom plasa siteurile în directorul /home/$USER pentru o mai bună vizualizare şi administrare. Se poate, bineînţeles, să se folosească locaţia implicită /var/www/ iar în interiorul directorului /www/ să fie creat un SymLink.
Presupunând că suntem deja în /home/$USER vom tasta în terminal:
cd ~ mkdir public_html
Acum pentru fiecare site pe care vrem să îl găzduim vom tasta în terminal înlocuind sintagma ”PRIMULSITE” cu numele dorit de noi:
mkdir -p public_html/PRIMULSITE/{public,private,log,cgi-bin,backup}
Apoi pentru fiecare domeniu (site) vom face câte un index.html
nano public_html/PRIMULSITE/public/index.html
şi vom crea acea pagină de gardă
<html>
<head>
<title>PRIMULSITE</title>
</head>
<body>
<h1>ACESTA ESTE PRIMUL SITE</h1>
</body>
</html>
Notă: Procesul se reptă pentru fiecare site creat.
Am terminat de creat locaţia primului site şi pagina de gardă (în cazul în care nu vrem deja să instalăm o platformă) şi vom trece la configurarea propriu-zisă a VirtualHost
Dezactivarea fişierului Vhost implicit:
sudo a2dissite default
Crearea noului fişier de configuraţie:
sudo nano /etc/apache2/sites-available/PRIMULSITE
apoi scriem în interiorul fişierului:
# Pune aici note sau comentarii care te vor ajuta mai tarziu # În felul acesta vei intelege mai bine structura si toate modificarile pe care le vei face # domain: PRIMULSITE # public: /home/$USER/public_html/PRIMULSITE/ <VirtualHost *:80> # Admin email, Server Name (domain name) and any aliases # Email-ul de Admin, Numele Serverului(Server Name) şi orice alias ServerAdmin webmaster@PRIMULSITE.ro ServerName PRIMULSITE.ro ServerAlias www.PRIMULSITE.ro # Index file and Document Root (where the public files are located) # Fişierele index şi locaţia de bază a siteului (unde este localizat siteul) DirectoryIndex index.html index.php index.htm DocumentRoot /home/$USER/public_html/PRIMULSITE/public # Custom log file locations # Locaţie personalizată a fişierelor de eroare şi acces la site LogLevel warn ErrorLog /home/$USER/public_html/PRIMULSITE/log/error.log CustomLog /home/$USER/public_html/PRIMULSITE/log/access.log combined </VirtualHost> ServerName PRIMULSITE.ro
Acum activăm Vhostul creat:
sudo a2ensite PRIMULSITE
Vom primi un răspuns de la server şi va trebui să ţinem cont de ea (să o rulăm) :
Site PRIMULSITE installed; run /etc/init.d/apache2 reload to enable.
Acum că am configurat prinul nostru Vhost putem trece eventual să configurăm rularea acestuia pe un alt port decât cel implicit: 80
Schimbarea portului implicit
Pentru început presupunem că vom rula LAMP pe portul: 2345
Pentru schimbarea implicită a portului 80 şi trecerea lui pe portul : 2345 vom executa
sudo nano /etc/apache2/ports.conf
Iar în loc de *:80 şi Listen 80 vom pune portul nostru 2345
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
NameVirtualHost *:2345
Listen 2345
<IfModule mod_ssl.c>
# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
Listen 443
</IfModule>
Configurare alias-uri
Putem adăuga această secțiune atât in apache2.conf cât și în noul virtual host adăugat mai devreme. Pentru a înțelege și adăuga alte opțiuni consultați http://httpd.apache.org/docs/1.3/mod/core.html#directory De asemenea AllowOverride None nu va permite reguli httacces.Astfel dacă aveți nevoie de așa ceva puteți să eliminați această opțiune.
Alias /myalias "/locatie/"
<Directory "/locatie/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Bibliografie (Resurse folosite)
SliceHost.com
Quick Linux Server Installation
Installing LAMP On Ubuntu For Newbies
Ubuntu LAMP Server Guide
Inițiator tutorial : Mafsi

