Com instal·lar i configurar LEMP a Debian 8 (Jessie)


Una de les raons més habituals per configurar un sistema Linux és per allotjar un lloc web. Segons l'enquesta de febrer de 2016 de NetCraft.com sobre els 1 milió de llocs web més ocupats del món, aproximadament el 15,60% d'ells funcionen amb Nginx.

Combinat amb l'alta probabilitat que es serveixi algun tipus de contingut dinàmic, així com algun tipus de fons de base de dades per als llocs web, la capacitat per a un administrador de poder configurar servidors LEMP és molt beneficiosa per als que busquen feina i els empresaris igual!

Aquest tutorial explicarà els conceptes bàsics d'instal·lació i configuració d'un servidor Linux (específicament Debian 8 Jessie) perquè funcioni com a servidor LEMP.

Gran pregunta! Com passa amb la majoria de coses del món de la informàtica, LEMP és l'acrònim de Linux, Nginx, MySQL i PHP.

Aquest acrònim s'utilitza habitualment per fer referència a col·leccions de programari en un servidor web. Aquest tutorial començarà a configurar LEMP, específicament MySQL i PHP.

Abans de separar-nos dels aspectes de configuració dels sistemes, és important conèixer Nginx.

Nginx va començar la seva vida l'any 2002 quan el món de la informàtica va començar a adonar-se que els llocs web amb deu mil connexions concurrents o més eren una possibilitat molt real i, com a resultat, Nginx es va crear des de zero per abordar aquest problema.

Instal·lació i configuració d'un MySQL i PHP

1. Aquesta primera secció tractarà Debian com a servidor MySQL i PHP. La part Linux del servidor LEMP ja s'hauria de fer instal·lant Debian! Tanmateix, si calgués una guia sobre com instal·lar Debian, llegiu l'article següent sobre TecMint:

  1. Instal·lació de Debian 8 Jessie

Un cop Debian estigui llest per començar, el procés d'instal·lació de la resta del programari necessari es pot completar amb una ordre ràpida mitjançant el meta-empaquetador apt.

# apt-get install mysql-server-5.5 php5-mysql php5

Depenent del maquinari del sistema i de la connexió a Internet, aquest procés pot trigar una mica. A l'hora d'escriure aquest article, una nova instal·lació de Debian Jessie amb totes les actualitzacions aplicades requeria uns 70 MB d'arxius dels dipòsits (no tan dolent tenint en compte el que farà el servidor quan les coses estiguin fetes)! Durant el procés d'instal·lació, el sistema pot demanar a l'usuari que estableixi una contrasenya d'usuari root SQL. Això és diferent de la contrasenya real de l'usuari root i, per motius de seguretat, probablement hauria de seguir sent diferent.

2. Un cop apt acabi d'instal·lar tot el programari, els serveis bàsics estaran en funcionament. Tanmateix, aturar-se aquí seria un tutorial molt breu! Així que aprofundim una mica més en la configuració de cadascuna de les peces de programari instal·lades començant per MySQL.

3. Després de la instal·lació de MySQL, sovint es recomana que el servidor SQL tingui una mica de manteniment bàsic de la instal·lació per defecte. Això s'aconsegueix fàcilment amb la utilitat mysql_secure_installation.

Aquesta ordre simplement s'executa des de la línia d'ordres i demanarà a l'usuari que elimineu coses com ara usuaris anònims, bases de dades de prova i elimineu la possibilitat d'iniciar sessió remota d'usuari root a la base de dades SQL.

# mysql_secure_installation

Aquesta ordre iniciarà un indicador interactiu que farà preguntes sobre els temes anteriors. Com que l'apt ja ha demanat una contrasenya d'arrel de MySQL, caldrà introduir aquesta contrasenya per fer qualsevol canvi. Com que la contrasenya d'arrel ja estava establerta, No pot ser la resposta a la pregunta sobre el canvi de la contrasenya d'arrel al servidor MySQL.

4. El següent conjunt de preguntes serà pel que fa als usuaris anònims, la base de dades de prova i l'accés root a la base de dades de forma remota. Normalment és segur respondre a totes aquestes indicacions tret que hi hagi una raó particular per la qual la configuració necessitaria que una d'aquestes opcions es deixés intacta.

NOTA: Pot haver-hi un error per no suprimir una base de dades anomenada prova, no us preocupeu per això, ja que la base de dades pot existir o no i independentment de l'script continuarà fent el que calgui.

En aquest punt, MySQL està a punt per funcionar. Sense saber quines bases de dades o usuaris es necessitaran, és difícil fer molta més configuració. Tanmateix, la majoria de llocs web sovint crearan automàticament les bases de dades i els usuaris necessaris quan s'instal·li el programari. Tanmateix, això depèn molt del programari i requeriria una ullada ràpida als fitxers README del programari o a les instruccions d'instal·lació.

5. Ara que MySQL està configurat, avancem i configurem alguns paràmetres bàsics de PHP per a aquest servidor en concret. Tot i que hi ha un munt de configuracions que es poden manipular per a PHP, només n'hi ha unes poques bàsiques que gairebé sempre s'han de modificar. El fitxer de configuració php es troba a /etc/php5/fpm/php.ini. Obriu aquest fitxer amb qualsevol editor de text.

# nano /etc/php5/fpm/php.ini

Utilitzant les habilitats de cerca de nano ctrl+w, cerqueu la cadena \memory_limit (ometint les cometes). En una instal·lació predeterminada, aquesta línia ja estarà configurada en 128 M, però si una aplicació necessita més, aquesta línia pot canviar per adaptar-se als requisits.

Una altra opció important per comprovar és el \max_execution_time i, de nou, de manera predeterminada, s'establirà en 30. Si una aplicació requereix més, aquesta opció es pot canviar. Algunes persones també prefereixen configurar el registre de php en un fitxer/directori especial. En cas que sigui un requisit, cerqueu la cadena \error_log = i, a continuació, elimineu el comentari de la línia eliminant el punt i coma que hi és generalment per defecte.

En aquest punt, es pot afegir un valor per al fitxer de registre al final de la línia. Assegureu-vos que el camí existeix al sistema. Un cop hàgiu fet els canvis necessaris al fitxer php.ini, deseu els canvis i sortiu de l'editor de text. En aquest punt, MySQL i PHP5 estan preparats per començar a allotjar llocs. Ara és el moment de configurar Nginx.

Instal·lació i configuració de Nginx

6. Nginx (motor X) és un servidor web alternatiu i molt potent. Aquesta secció d'aquest tutorial explicarà la configuració d'una pàgina web perquè Nginx l'allotgi. El primer pas per configurar Nginx és instal·lar els paquets necessaris mitjançant la utilitat apt.

# apt-get install nginx

Suposant que es compleixen totes les dependències, navegar a l'adreça IP del servidor en un navegador web hauria de produir el lloc web predeterminat de Nginx.

NOTA: Hi ha casos en què després d'instal·lar Nginx, el servidor no s'inicia automàticament. Si la navegació a l'adreça IP del servidor en un navegador web no dóna la pàgina següent, emet l'ordre següent per assegurar-se que s'inicia Nginx.

# service nginx start

Nginx ara allotja correctament la pàgina predeterminada. Tot i que la pàgina predeterminada de Debian és un lloc web cridaner, la majoria dels usuaris voldran allotjar alguna cosa personalitzada.

7. Els passos següents seguiran la configuració de Nginx per allotjar un lloc web diferent. Nginx, com Apache 2, té el seu propi directori de configuracions situat a /etc/nginx. Canvieu a aquest directori mitjançant la utilitat cd.

# cd /etc/nginx

Per a aquest tutorial hi ha diversos fitxers i directoris importants per configurar un lloc web amb Nginx. Els dos primers directoris que són importants són els directoris llocs disponibles i llocs habilitats. Igual que Apache 2, Nginx utilitza fitxers de configuració per a cada lloc al directori de llocs disponibles que quan estan actius estan enllaçats simbòlicament al directori de llocs habilitats.

El primer que cal per desfer-se del lloc predeterminat és eliminar l'enllaç simbòlic als llocs habilitats.

# rm sites-enabled/default

8. Ara cal crear i enllaçar un nou fitxer de configuració del lloc perquè Nginx publiqui la pàgina. La creació del fitxer de configuració del lloc es pot simplificar copiant i modificant la configuració predeterminada del lloc.

# cp sites-available/default sites-available/tecmint-test

Això crearà un nou fitxer de configuració del lloc per treballar. Obriu aquest fitxer en un editor de text per canviar el camí on Nginx servirà els fitxers.

# nano sites-available tecmint-test

Dins d'aquest fitxer hi ha diverses opcions importants per canviar perquè Nginx serveixi un lloc. La primera és la línia que comença amb arrel, ja que aquesta línia defineix on Nginx ha de servir els fitxers per a aquest lloc en concret.

Aquest tutorial el deixarà com a predeterminat de /var/www/html i simplement col·locarà els fitxers html que es serviran en aquest directori. Tanmateix, assegureu-vos de modificar aquest camí si hi ha d'haver diversos llocs o una configuració personalitzada en aquest servidor.

La següent línia d'importància és la línia índex. Atès que aquest article tracta sobre la instal·lació de LEMP i que un lloc podria oferir pàgines php, cal informar a Nginx que la pàgina predeterminada pot ser una pàgina php. Per fer-ho, només cal que afegiu index.php al final de la llista d'índex de fitxers.

Abans d'habilitar el nou lloc, cal que hi hagi alguna cosa perquè Nginx serveixi. La pàgina d'índex per defecte ja existeix, però per confirmar que un altre lloc funciona, substituïm el contingut de la pàgina per defecte per una altra cosa.

# echo “It's ALIVE!” > /var/www/html/index.html

9. El següent pas és habilitar el nou lloc enllaçant el fitxer de configuració que s'acaba de crear al directori de llocs habilitats. Això s'aconsegueix fàcilment amb l'ús de l'ordre ln i després tornant a carregar la configuració de Nginx amb la utilitat de servei.

# ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
# service nginx reload

En aquest punt, Nginx hauria de servir la nova pàgina web simple. Això es pot confirmar navegant a l'adreça IP del servidor mitjançant un navegador web!

Un cop més, aquest article volia ser configuracions molt senzilles de LEMP. La majoria de llocs requeririen una configuració addicional per a totes les parts implicades, però les opcions de configuració podrien ser de milers! Molta sort en la configuració escollida per allotjar llocs web.