Blog

Installazione Workstation per sviluppo PHP con Ubuntu 17

Posted by:

Quando ho iniziato a sviluppare in PHP mi sono trovato di fronte al problema di crearmi un ambiente di lavoro confortevole e pratico con i tool di sviluppo che prediligo configurati e pronti all’uso. Voglio condividere con voi la mia impostazione senza pretesa di insegnare nulla, ma sperando possa essere utile a qualche neo-programmatore in PHP.
Seguendo queste istruzioni vi troverete con una workstation con Apache, MySQL, PHP 7.x, Xdebug, Netbeans installati e configurati nelle opzioni principali.

Installazione Ubuntu

Procedere con un’installazione standard di Ubuntu Workstation standard. Ho provato queste istruzioni con le versioni 17.04 e 17.10

Aggiornamento

Utilizzare l’utility di gestione pacchetti da linea di comando in una finestra terminale:

sudo apt update -y
sudo apt upgrade -y

Installazione Pacchetti

Ora installiamo il software per creare il nostro ambiente di sviluppo.

Installazione LAMP

L’acronimo LAMP significa Linux Apache Mysql Php, e grazie a tasksel possiamo installare tutto con un unico comando:

sudo apt install tasksel -y
sudo tasksel install lamp-server

Dopo la richiesta della password per l’utente root di MySQL, il software installerà i diversi pacchetti.

Installazione Netbeans

Netbeans è installabile sia dal gestore pacchetti di Ubuntu che tramite linea di comando, procedete come preferite.
Sempre da linea di comando:

sudo apt install netbeans -y

Avviare Netbeans e installare i plugin per PHP ed eventuali framework aggiuntivi

Correzione problema con Java

C’è un problema con Netbeans 8.4 su Ubuntu 17 che crea frequenti crash del programma. Per ovviare al problema modificare il file /etc/java-8-openjdk/accessibility.properties. Per ovviare all’inconveniente conviene modificare la configurazione.
Installiamo prima il mio editor preferito:

sudo apt install vim -y

Poi passiamo a modificare il file di configurazione:

sudo vim /etc/java-8-openjdk/accessibility.properties

e commentare la riga:

 # assistive_technologies=org.GNOME.Accessibility.AtkWrapper

Installazione MySQL Workbench

Uno strumento che risulta molto utile per gestire i database MySQL

sudo apt install mysql-workbench -y

Installazione Xdebug

Ubuntu workstation 17 include già un package per Xdebug

sudo apt install php-xdebug -y
sudo service apache2 restart

Controlliamo che il modulo sia attivo:

php -m
[PHP Modules]
...
xdebug
Zend OPcache
zlib

[Zend Modules]
Xdebug
Zend OPcache

A questo punto dobbiamo aggiungere alla configurazione di Apache I parametri per xDebug.

sudo vim /etc/php/7.0/apache2/php.ini

Per Ubuntu workstation 17.10 modificare il file .ini di PHP 7.1

sudo vim /etc/php/7.1/apache2/php.ini

Aggiungere alla fine queste righe di configurazione:

xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.max_nesting_level=300

Configurazione Public Home

Personalmente trovo molto comodo eseguire i progetti da una cartella sotto la mia home di utente in modo da copiare ( o meglio far copiare a Netbeans) gli script senza dovermi preoccupare dei permessi come avverrebbe utilizzando il percorso /var/www

Creazione della cartella

Per prima cosa creiamo la cartella e la rendiamo pubblica:

mkdir ~/public_html
chmod -R 755 ~/public_html

Configurazione Apache

Poi attiviamo la funzionalità delle user directory in Apache

sudo a2enmod userdir
sudo service apache2 reload

Occorre anche attivare PHP nelle user dir perché disattivato di default. Per farlo occorre modificare il file di configurazione di apache relativo a php.

sudo vim /etc/apache2/mods-available/php7.0.conf

Per Ubuntu workstation 17.10 modificare il file .ini di PHP 7.1

sudo vim /etc/apache2/mods-available/php7.1.conf

Occorre commentare una parte di configurazione come spiegato nel file stesso.
Quindi questa parte:


# Running PHP scripts in user directories is disabled by default
#
# To re-enable PHP in user directories comment the following lines
(from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>

Diventa così:


# Running PHP scripts in user directories is disabled by default
#
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_flag engine Off
# </Directory>
# </IfModule>

Alla fine riavviare apache per applicare le modifiche

sudo service apache2 restart

Controllo finale
A questo punto controlliamo che tutto sia andato a buon fine. Iniziamo registrando un file index.php nella nostra userdir:

vim ~/public_html/index.php

All’interno scriviamo la funzione per controllare la configurazione di PHP:

<?php phpinfo() ?>

e visualizziamolo tramite browser all’indirizzo http://localhost/~nomeutente/

0


# #