Quando si distribuisce un sito Web o un'app Web, la soluzione di servizio Web più comune è quella di impostare uno stack LAMP costituito da Linux, Apache, MySQL e PHP.
In questo articolo, impareremo come impostare uno stack LAMP aggiornato installando le ultime versioni stabili di Apache 2.4.x, MariaDB 10.xe PHP 7.x su Ubuntu 16.04.
Prerequisiti
Passaggio 1: installare Apache 2.4.x
Installa l'ultima versione stabile di Apache 2.4.x usando il seguente comando:
sudo apt-get install apache2 -y
Utilizzare il comando seguente per confermare l'installazione:
apache2 -v
L'output dovrebbe assomigliare a:
Server version: Apache/2.4.18 (Ubuntu)
Server built: 2016-07-14T12:32:26
In un ambiente di produzione, ti consigliamo di rimuovere la pagina di benvenuto predefinita di Ubuntu Apache:
sudo mv /var/www/html/index.html /var/www/html/index.html.bak
Per motivi di sicurezza, è necessario impedire ad Apache di esporre /var/www/htmlai visitatori file e directory all'interno della directory radice Web :
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Nota: in base ai requisiti specifici, è possibile personalizzare più impostazioni in quel file in un secondo momento.
Avviare il servizio Apache e avviarlo all'avvio del sistema:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Passaggio 2: installare MariaDB 10.x
Al momento della stesura di questo articolo, l'attuale versione stabile di MariaDB è 10.1. Puoi usare i seguenti comandi per installare MariaDB 10.1 sul tuo sistema Ubuntu 16.04 x64.
Imposta il repository apt di sistema:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.jmu.edu/pub/mariadb/repo/10.1/ubuntu xenial main'
Installa MariaDB:
sudo apt update -y
sudo apt install -y mariadb-server
Durante il processo di installazione, la procedura guidata di configurazione del pacchetto MariaDB si aprirà automaticamente e ti chiederà di impostare una nuova password per l' rootutente MariaDB . Per ora, basta premere Enterogni volta che si apre la procedura guidata per saltare questo passaggio perché imposteremo una password per l' rootutente MariaDB nella seguente procedura di sicurezza MariaDB.
Dopo aver installato MariaDB, puoi confermare l'installazione con:
mysql -V
L'output dovrebbe essere simile a:
mysql Ver 15.1 Distrib 10.1.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Avviare il servizio MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Assicurare l'installazione di MariaDB:
sudo /usr/bin/mysql_secure_installation
Durante il processo interattivo, rispondere alle domande una ad una come segue:
Enter current password for root (enter for none): <Enter>
Set root password? [Y/n]: Y
New password: <your-MariaDB-root-password>
Re-enter new password: <your-MariaDB-root-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Nota: assicurarsi di sostituire <your-MariaDB-root-password>con la propria password di root MariaDB.
In questo modo, MariaDB 10.1 è stato installato in modo sicuro sul tuo sistema. In futuro, puoi configurare utenti e database designati per le tue app Web come segue:
Accedi alla shell MySQL come root:
mysql -u root -p
Digitare la password di root MariaDB impostata in precedenza quando richiesto.
Creare un database MariaDB webapp, un utente webappuserdel database e la password dell'utente del database yourpassword:
CREATE DATABASE webapp;
CREATE USER 'webappuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON webapp.* TO 'webappuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Se necessario, è possibile personalizzare MariaDB rivedendo e modificando il file di configurazione principale di MariaDB che è /etc/mysql/my.cnf:
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
sudo vi /etc/mysql/my.cnf
Ricordare di riavviare il servizio MariaDB se si apportano modifiche a quel file:
sudo systemctl restart mariadb.service
Passaggio 3: installare PHP 7.0 o 7.1
Quando si ha a che fare con PHP 7.x, consultare un altro articolo Vultr che descrive il processo in dettaglio.
Passaggio 4: installare il firewall UFW
Per impostazione predefinita, il firewall UFW su Ubuntu 16.04 è inattivo. È necessario abilitare il firewall UFW per migliorare la sicurezza:
sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable
È tutto. Dopo aver seguito le procedure di cui sopra, lo stack LAMP sarebbe stato attivo e funzionante sul tuo sistema Ubuntu 16.04. È quindi possibile distribuire la propria app Web sulla base dello stack LAMP. Divertirsi!