La preparazione dell’ ambiente adatto per sviluppare in PHP, utilizzando il framework LARAVEL su una macchina UBUNTU SERVER con APACHE prevede una serie di passaggi che illustro dettagliatamente di seguito.
Step 1 Installazione del server web APACHE:
dopo aver effettuato l’accesso alla macchina server occorre eseguire i seguenti comandi:
sudo apt update
Comando che scarica la lista aggiornata dei pacchetti e delle nuove versioni disponibili nei repository. Questo comando si limita a recuperare informazioni senza installare alcunché.
sudo apt upgrade
Comando per scaricare e aggiornare i pacchetti che necessitano di aggiornamento
sudo apt install –y git curl wget zip unzip
Comando che installa alcuni tool molto comodi perché tutto funzioni adeguatamente
sudo apt install apache2
comando per installare il server web apache
sudo systemctl stop apache2.service (comando per fermare il server apache)
sudo systemctl start apache2.service (comando per avviare il server apache)
sudo systemctl enable apache2.service (comando per abilitare l’avvio del server al boot)
Step 2 Installazione librerie per apache e php:
sudo add-apt-repository ppa:ondrej/php (comando per aggiungere un repository contenente alcune librerie e moduli necessari)
sudo apt update (aggiorniamo ancora la lista dei pacchetti alla luce del nuovo repository aggiunto)
sudo apt-get install libapache2-mod-php7.2 php7.2 php7.2-xml php7.2-gd php7.2-opcache php7.2-mbstring
comando per Installare le librerie di apache e php necessarie
Abilitiamo mod_rewrite (necessario per il rewrite degli url) e riavviamo apache
sudo a2enmod rewrite
suso systemctl restart apache2.services
Editiamo il file php.ini
sudo nano /etc/php/7.2/apache2/php.ini
Apportiamo le modifiche seguenti al file
memory_limit = 256M
upload_max_filesize = 64M
cgi.fix_pathinfo=0
Step 3 Installazione composer
Segue una serie di comandi per installare composer (un gestore delle dipendenze e delle librerie dei progetti php che andremo a creare)
cd /tmp
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Step 4 Installazione mysql:
A questo punto installiamo il server mysql per la gestione dei database
sudo apt install mysql-server (Installa mysql)
sudo mysql_secure_installation
Avviamo il client per configurare il database mysql
sudo mysql –uroot -p
Dentro il client mysql digitare quanto segue:
use mysql
UPDATE user SET authentication_string=PASSWORD(“segreta12345”) WHERE User=’root’;
UPDATE user SET plugin=”mysql_native_password” WHERE User=’root’;
exit; (comando per uscire dal client mysql)
Step 5 Operazioni conclusive
Spostiamoci nella nostra home directory e creiamo la struttura adatta ad ospitare i nostri progetti laravel
cd /home/fchiriaco
mkdir html
cd html
composer create-project –prefer-dist laravel/laravel laraapp (questo comando crea il primo progetto di nome laraapp)
Spostiamoci dentro la cartella laraapp
cd laraapp
Modifichiamo il file .env che contiene le principali impostazioni dell’applicazione
sudo nano .env
modifichiamo la riga APP_URL così:
APP_URL=http://laraapp.webserver
Conviene modificare anche le righe relative al db mysql inserendo i parametri del nostro server.
Modificato e salvato il file .env, torniamo nella cartella HTML
cd ..
Assegniamo la proprietà della cartella laraapp all’utente e al gruppo www-data collegati al demone apache.
sudo chown –R www-data:www-data laraapp
Assegniamo l’utente corrente al gruppo www-data
sudo usermod -aG www-data fchiriaco
Spostiamoci nella cartella di apache che ospita i siti disponibili
cd /etc/apache2/sites-available
Creiamone uno nuovo con il comando seguente
sudo nano 001-laraapp.conf
Il suo contenuto dovrà essere il seguente
<VirtualHost *:80>
ServerName laraapp.webserver
ServerAlias laraapp.webserver
ServerAdmin webmaster@localhost
DocumentRoot /home/fchiriaco/html/laraapp/public
<Directory /home/fchiriaco/html/laraapp/public>
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Salviamo e usciamo.
Abilitiamo il nuovo sito con il comando seguente:
sudo a2ensite 001-laraapp.conf
Riavviamo apache
sudo systemctl restart apache2.service
A questo punto il sistema è configurato.
Modifichiamo i file hosts di tutte le macchine collegate in rete, che accederanno mediante browser al nuovo sito laraapp utilizzando l’url http://laraapp.webserver.
I file hosts dovranno contenere una riga come la seguente
indirizzo-ip-del-server laraapp.webserver
esempio file hosts
127.0.0.1 localhost
192.168.1.230 laraapp.webserver
Apriamo il browser, di una macchina della rete, digitiamo nella barra dell’indirizzo http://laraapp.webserver
Se tutto è andato bene dovrebbe comparire la home predefinita del sito