LEMP (Linux, nginx, MySQL și PHP) – Partea a 2-a

2. Instalarea și configurarea de bază pentru MySQL, nginx și PHP-FPM

Pentru suportul MySQL trebuie să instalăm doua pachete:

sudo apt-get install mysql-server mysql-client

Scriptul de instalare va cere să introducem o parola pentru contul „root” al serverului MySQL.

alexcucu@lemp: ~_121

Urmează instalarea serverului web:

sudo apt-get install nginx

și pornirea lui:

sudo service nginx start

Acum putem verifica dacă totul e în regula accesând http://adresa_ip_a_serverului/ .

Welcome to nginx! - Mozilla Firefox_122

Voi instala PHP-FPM (FastCGI Process Manager for PHP) pentru că oferă un plus de performanță și de flexibilitate. PHP-FPM ruleaza ca un daemon (service) separat.

sudo apt-get install php5-fpm

Nginx nu știe cum să interpreteze fișierele PHP deci trebuie să îl instruim. Pentru asta edităm fișierul de configurare al virtualhost-ului implicit:

sudo nano /etc/nginx/sites-available/default

și cel mai simplu înlocuim conținutul cu:

server {
    listen   80;

    root /var/www;
    index index.php index.html index.htm;

    server_name _;

    location / {
        try_files $uri $uri/ /index.html =404;
    }

    location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

Configurația asta mută folderul rădăcină al serverului web din /usr/share/nginx/www în /var/www (linia cu „root”), orice vhost invalid va afișa conținutul pentru vhostul implicit (opțiunea server_name), nginx va ști ce să facă cu fișierele PHP.

Vom avea grijă ca folderul rădăcină să existe și proprietar să fie contul www-data.

sudo mkdir -p /var/www
sudo chown www-data:www-data /var/www

Instruim și daemonul php5-fpm să utilizeze socketuri Unix prin simpla editare a fișierului /etc/php5/fpm/pool.d/www.conf în care în loc de linia:

listen = 127.0.0.1:9000

punem

listen = /var/run/php5-fpm.sock

Pentru a verifica dacă am configurat corect nginx și prelucrează fișierele PHP vom pune un fișier index.php în /var/www ce va avea conținutul „<?php phpinfo(); ?>”.

Voi folosi puțină magie pentru asta:

sudo su www-data -c 'echo "<?php phpinfo(); ?>" > /var/www/index.php'

Repornim nginx și PHP-FPM:

sudo service nginx restart
sudo service php5-fpm restart

Acum browserul ar trebui să afișeze un tabel cu informații legate de interpretorul PHP.

phpinfo() - Mozilla Firefox_123

Credeai că am terminat? Interpretorul PHP încă nu știe să facă mai nimic și are nevoie de mai multe module după care de încă o repornire:

sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
sudo service php5-fpm reload

Sistemul de bază este configurat.

Probabil vor urma instrucțiuni pentru instalarea phpMyAdmin, setări avansate pentru nginx și PHP-FPM, etc.

LEMP (Linux, nginx, MySQL și PHP) – Partea 1

Voi încerca să prezint instalarea unui sistem LEMP (Linux, nginx – pronunțat „engine X”, MySQL și PHP).

Voi utiliza distribuția mea preferata de GNU/Linux, Ubuntu – versiunea 12.04 deoarece este ultima cu asistență pe termen lung.

1. Instalarea sistemului de operare: Ubuntu Server 12.04 LTS

Eu voi utiliza o mașină virtuală pentru că îmi este mai ușor să fac niște capturi de ecran.

Descărcăm ultima imagine cu Ubuntu Server – versiunea cu asistență pe termen lung de pe site-ul oficial. Dacă accesezi legătura următoare ar trebui ca descărcarea să pornească automat: http://www.ubuntu.com/start-download?distro=server&bits=64&release=lts

Selectăm limba pentru instalare și tipul de tastatură:

Urmează să dăm un nume serverului (eu am ales sugestiv „lemp”) și să adaugăm un cont de utilizator.

Urmează partiționarea discului, dar pentru că nu face subiectul acestui ghid, voi alege una din opțiunile predefinite pentru utilizarea întregului disc. La final alegem să scrie pe disc partițiile afișate.

Cum conexiunea mea la internet nu necesită un proxy am lăsat câmpul liber și am trecut mai departe.

Urmează să alegem dacă facem actualizările de securitate manual sau automat. Dacă ai de gând să utilizezi numai software din depozitele oficiale Ubuntu fără prea multe setări speciale, poți merge pe varianta actualizărilor automate de securitate. Deși nu îmi aduc aminte să fi făcut probleme, prefer instalarea manuală de cele mai multe ori.

Ubuntu 12.04 Server - 64 bit  - Tutorial LEMP [Running] - Oracle VM VirtualBox_114Pentru că ne dorim control deplin asupra a ce instalăm vom selecta doar OpenSSH pentru instalare automată, deși se poate instala și ulterior. După acest pas trebuie să instalăm boot loaderul GRUB după care programul de instalare va cere să deconectăm memoria USB sau să scoatem discul optic utilizat la instalare.

Repornim calculatorul, așteptăm să se încarce sistemul de operare și ne autentificăm.

Acum va trebui să configurăm o adresă IP statică editând fișierul „/etc/network/interfaces”.

sudo nano /etc/network/interfaces

și modificăm setările interfeței eth0 din:

auto eth0
iface eth0 inet dhcp

în

    auto eth0
    iface eth0 inet static
        address 192.168.1.200
        netmask 255.255.255.0
        gateway 192.168.1.1

Apăsăm CTRL+X pentru ieșire și Y pentru salvare.

Apoi repornim serviciul „networking” pentru a utiliza noile setări:

sudo /etc/init.d/networking restart

Urmează să instalăm ultimele actualizări pentru proaspăt instalatul sistem de operare.

sudo apt-get update
sudo apt-get upgrade -y

După care va trebui să repornim.

sudo reboot

Va urma…

Workshop – Iasi – 5-6 martie

Liga Studenților Electroniști din Iași a organizat Linux ESSENTIALS pentru a prezenta și a familiariza studenții din cadrul Facultății de Electronică, Telecomunicații și Tehnologia Informației din Iași cu mediul GNU/Linux și software-ul liber.

Sâmbătă, 5 martie, am prezentat câteva informații despre programele libere și GNU/Linux în general. Apoi a urmat o prezentare Ubuntu cu accent pe ușurința utilizării și alternativele libere la programele uzuale de pe alte sisteme de operare. Vlad Conut, unul dintre organizatori, a prezentat un set de programe libere ce pot fi utilizate de colegii săi electroniști.

Au fost prezenți aproximativ 30 de persoane înscrise înainte pe o lista de participare.

Participanții au primit discuri cu Ubuntu și Kubuntu. iar doi norocoși au primit tricouri din partea echipei Ubuntu din România.

A doua zi, duminică, 6 martie, am instalat pe laptopurile participanților Ubuntu și Kubuntu, precum și aplicații uzuale. Spre surprinderea mea, unii participanți au venit cu Ubuntu deja instalat de acasă.

Le mulțumesc organizatorilor Andrei Sofron și Vlad Conut pentru ospitalitate.