Knowledgebase

Aveti intrebari? Sunteti in locul potrivit!

Cum instalati stack-ul LAMP pe Ubuntu 18.04

LAMP  este abrevierea de la  Linux, Apache, MariaDB/MySQL si PHP acestea software-uri sunt Open Source si este sta la baza functionarii unora unei mari majoritati de site-uri dinamice si aplicatiilor web. Linux  este sistemul de operare; Apache este serverul web; MariaDB/MySQL este serverul pentru baza de date si  PHP este limbajul de scripting utilizat la generarea paginilor dinamice.

Stack-ul LAMP se poate instala fie local, fie pe un VPS/Server dedicat.

Pasul 1: Actualizarea pachetelor software

Inainte de instalarea stackului LAMP este necesar sa verificati update-urile software, executand urmatoarele comenzi:

sudo apt update

sudo apt upgrade

Pasul 2: Instalarea Apache Web Server

Executati urmatoarea comanda:

sudo apt install -y apache2 apache2-utils

Dupa instalare, Apache va porni in mod automat, verificati statusul executand urmatoarea comanda systemctl.

systemctl status apache2

Output va avea urmatoarea forma:

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Sat 2018-09-08 10:46:05 UTC; 3min 37s ago
 Main PID: 1610 (apache2)
    Tasks: 55 (limit: 505)
   CGroup: /system.slice/apache2.service
           ├─1610 /usr/sbin/apache2 -k start
           ├─1612 /usr/sbin/apache2 -k start
           └─1613 /usr/sbin/apache2 -k start

In cazul in care nu  porneste, utilizati urmatoarea comanda:

sudo systemctl start apache2

Va recomandam sa activati pornirea autoamata  Apache in timpul repornirii”:

sudo systemctl enable apache2

Verificati versiunea Apache:

apache2 -v

Output-ul va avea forma :

Server version: Apache/2.4.29 (Ubuntu)
Server built: 2018-06-27T17:05:04

Accesati  IP public al serverului dvs. intr-un browser, ar trebui sa aveti urmatorul output : “It works!”, ceea ce inseamna ca Apache a fost instalat cu succes. In cazul in  care instalati stack-ul LAMP local, tastati in browsers 127.0.0.1 sau localhost.

In cazul in care conexiunea este refuzata sau instalarea este incompleta, este posibil ca un firewall sa impiedice  conexiunile TCP pe portul 80. In cazul in care utilizati  un firewall iptables este necesarsa deschidet conexiunile  TCP pe port 80, executand urmatoarea comanda

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

In cazul in care utilizati UFW firewall, executati urmatoarea comanda:

sudo ufw allow http

Este necesarsa setam  www-data (Apache user) ca owner pentru  document root . In mod implicit drepturile sunt pentru utiilizatoru  root.

sudo chown www-data:www-data /var/www/html/ -R

Pasul 3: Instalati MariaDB Database Server

MariaDB este inlocuitorul MySQL. Executati urmatoarea comanda:

sudo apt install mariadb-server mariadb-client

Dupa instalare, serverul MariaDB va porni in mod automat. Utilizati systemctl pentru verificarea statusului.

systemctl status mariadb

Output-ul va avea urmatoarea forma:

● mariadb.service - MariaDB 10.1.34 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-09-08 11:13:27 UTC; 21s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 3473 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 505)
   CGroup: /system.slice/mariadb.service
           └─3473 /usr/sbin/mysqld

In cazul in care serverul nu este functional, utilizati urmatoarea comanda pentru al porni:

sudo systemctl start mariadb

Pentru pornirea automata la system boot MariaDB executati:

sudo systemctl enable mariadb

Acum executati script-ul de securitate post instalare

sudo mysql_secure_installation

In cazul in care este necesar sa introduceti parola de root pentru serverul MariaDB apasati tasta Enter, parola de root nefiind inca setata. Apoi y pentru a seta o parola de root pentru serverul MariaDB.

Apoi,  apasati Enter pentru urmatoarele intrebari care va elimina utilizatorii anonimi, dezactiva autentificarea rempote si elimina baza de date de test.  Aceste lucruri stau la baza unei bune securitati.

In mod implicit, pachetul MariaDB utilizeaza unix_sochet la autentificarea utilizatorilor,  care inseamna ca se poate utilziat utilziatorul si parola sistemului de operare pentru a va autentifica la consola MariaDB. Puteti utililiza urmatoare comanda pentru a va autentifica cu drepturi root:

sudo mariadb -u root

To exit, run

exit;

Verificati versiunea MariaDB:

mariadb --version

Output:

mariadb Ver 15.1 Distrib 10.1.34-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Pasul 4: Instalati PHP 7.2

pentru instalarea PHP 7.2

sudo apt install php7.2 libapache2-mod-php7.2 php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline

Activati modulul Apache php7.2 si restartati Apache Web server.

sudo a2enmod php7.2

sudo systemctl restart apache2

Verificati versiunea PHP

php --version

Output:

PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul  4 2018 16:55:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

Pentru a testat un script   PHP cu serverul Apache , este necesar sa adaugat fisierul info.php in directorul document root.

sudo nano /var/www/html/info.php

Adaugati urmatoarea linie in fisierul nou adaugat:

<?php phpinfo(); ?>

Pentru a salva fisierul in editorul Nano, apasati Ctrl+O, apoi apsasti Enter pentru confirmare. Pentru a iesii, apasati Ctrl+X.  Acum, intr-un browser introduceti server-ip-address/info.php. Inlocuiti sever-ip-address cu IP dvs.  In cazul in care utilizati acest tutorial pentru a instala stack-ul pe calculatorul dvs. local deschideti un browser si tastati: 127.0.0.1/info.php sau localhost/info.php.

 

Cum executati PHP-FPM cu Apache

Exista 2 moduri prin care puteti executa cod PHP pe un server web Apache:

  • module PHP Apache
  • PHP-FPM.

In pasii de mai jos, modulul  PHP7.2 este utilizat pentru executarea codului PHP. Dar in unele cazuri, este necesar sa executati cod PHP utilizand PHP-FPM:

Dezactivati modulul PHP7.2 .

sudo a2dismod php7.2

Instalati PHP-FPM.

sudo apt install php7.2-fpm

Activati proxy_fcgi si modulul setenvif

sudo a2enmod proxy_fcgi setenvif

Activati fisierul de configurare  /etc/apache2/conf-available/php7.2-fpm.conf  .

sudo a2enconf php7.2-fpm

Restartati  Apache ca schimbarile sa fie aplicate.

sudo systemctl restart apache2

Acum daca reverificati fisierul info.php – Server API este schimbat in FPM/FastCGI, ceea ce inseamna ca serverul Apache va schimba requestuir PHP  in PHP-FPM.

Pentru a elimina fisierul info.php, executati comanda:

sudo rm /var/www/html/info.php