Introduzione

La piattaforma LAMP è una delle più utilizzate a livello mondiale.
I componenti di base, da cui prende il nome, sono:

  • Sistema operativo : GNU/Linux
  • Il web server Apache
  • il database : MySQL o MariaDB
  • un linguaggio di programmazione : Perl, PHP e/o Python

L’archittettura rimane sostanzialamente lo stesso sostiuendo il web server apache con delle alternative :

  • nginx
  • lighttpd

NB : la seguente guida è intesa per utenti amministratori, i comandi vanno eseguiti con l’utente root o con l’ausilio di sudo

Installazione e configurazione

Installazione

Su archlinux i pacchetti da installare risiedono sui repository ufficiali e per essere installati è necessario eseguire il comando :

pacman -S apache mariadb php

Congiurazione generale

Apache

Apache è uno dei web server più usati al mondo, ed è disponibile in tutte le maggiori distribuzioni; per chi fosse abituato a distribuzioni server come Debian o Ubuntu sentirà subito la mancanza ( come me ) delle cartelle due cartelle :

  • sites-availables
  • sites-enabled

quindi procediamo subito a crearle con i comandi :

mkdir /etc/httpd/sites-available
mkdir /etc/httpd/sites-enabled

successivamente andiamo a editare il file /etc/httpd/conf/httpd.conf aggiungendo al fondo:

IncludeOptional /etc/httpd/sites-enabled/*.conf

In questa maniera sarà possibile continuare a creare i file dei VirtualHost dentro la cartella sites-available come da abitudine e linkarline nella cartella sites-enabled solo al momento effettivo dell’abilitazione del sito.

Continuando a esplorare e leggere le configurazioni di default ho deciso di commentare le seguenti righe

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

.
.
.

# User home directories
#Include conf/extra/httpd-userdir.conf

Questo perchè: nel primo caso erano host di esempio che non mi servono, nel secondo perchè le cartelle utente non rientrano nello scope dei normali webservers.

Per abilitare il servizio all’avvio del sistema e avviarlo usare il comando:

sudo systemctl enable --now httpd

MariaDB

MariaDB è un fork MySQL e nella maggior parte delle distribuzione il suo successore.

Su Linux Arch dopo essere stato installato questo database deve essere inizializzato con il seguente comando :

mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

abilitazione e avvio del servizio :
sudo systemctl enable --now mariadb

per accedere a database da linea di comando :

PHP

Dopo l’installazione è buona abitudine configurare la timezone, aprire il file /etc/php/php.ini e modificare la linea :

date.timezone = Europe/Rome

l’elenco delle timezone disponibili è qui

per abibilita il supporto ai database, aprire il file /etc/php/php.ini e decommentare le linee:

extension=pdo_mysql
extension=mysqli
extension=sqlite3
extension=pdo_sqlite

Configurazione di un virtualhost

Di seguito la procedura per creare e abilitare un nuovo sito :

  1. creare il file /etc/httpd/sites-available/site.conf
  2. incollare e aggiustare il contenuto del file

    <VirtualHost *:80> ServerAdmin admin@site.local ServerName www.site.local

         DocumentRoot "/usr/share/webapps/site"
    
         CustomLog /var/log/apache/www.site.local.log combined
         ErrorLog /var/log/apache/www.site.local.log
         .
         .
         .
    
         <Directory "/usr/share/webapps/site">
             AllowOverride All
             Options FollowSymlinks
             Require all granted
         </Directory>
    

    </VirtualHost>

  3. una volta preparato il file dell’host, linkare il file nella cartella dei siti abilitati

    ln -s /etc/httpd/sites-available/site.conf /etc/httpd/sites-enabled/site.conf

  4. verificare le configurazioni : apachectl configtest
  5. se il risultato della verifica è ok, si procede con il reload delle configurazione : systemctl reload httpd

Riferimenti