Il web server
Come Installare Linux, Apache, MySQL, PHP (LAMP) stack
In questo caso sei fortunato perch� l'installazione di Linux è già stata fatta da DigitalOcean quindi puoi passare all'installazione di Apache
1. Apri il terminale come mostrato nella lezione precedente e se ti logghi con un utente diverso da "root" richiedi i privilegi di root come segue
[user@webmasterwannabe ~]$ su
2. Il pacchetto Apache su Centos si chiama "httpd". Per intallarlo usiamo YUM (il package manager di Centos).
[user@webmasterwannabe ~]$ yum install httpd
3. Avvia Apache.
[user@webmasterwannabe ~]$ systemctl start httpd.service
4. Rendi Apache avviabile in automatico al boot
[user@webmasterwannabe ~]$ systemctl enable httpd.service
5. Testa il funzionamento di Apache visitando via Browser l'indirizzo IP che ti ha assegnato DigitalOcean. Dovresti vedere una pagina con scritto "Testing 1 2 3..." come segue
1. Mysql su Centos 7 è un pacchetto MariaDB quindi per intallarlo usando YUM i comandi sono i seguenti
[user@webmasterwannabe ~]$ yum install mariadb mariadb-server
2. Avvia Mysql
[user@webmasterwannabe ~]$ systemctl start mariadb.service
3. Rendi Mysql avviabile in automatico al boot
[user@webmasterwannabe ~]$ systemctl enable mariadb.service
4. Configura Mysql
[user@webmasterwannabe ~]$ mysql_secure_installation
Rispondi a tutte le opzioni con la risposta di default e inserisci la password di root del database quando ti viene chiesto
Setting the root password ensures that nobody
can log into the MariaDB root user without the proper authorization.
New password: La-tua-password
Re-enter new password: La-tua-password
Password updated successfully!
Reloading privilege tables..
... Success!
1. Installa php e i moduli per Mysql
[user@webmasterwannabe ~]$ yum install php php-mysql
2. Riavvia Apache
[user@webmasterwannabe ~]$ systemctl restart httpd.service
Testa PHP creando un file nel percorso pubblico di default di Apache.
3. Crea il file
[user@webmasterwannabe ~]$ vi /var/www/html/test.php
4. Inserisci il codice seguente
<?php
phpinfo();
?>
e salva facendo ESC+:wq!
5. Visita tramite Browser il "tuo indirizzo ip" e aggiungi "/test.php". Dovresti vedere una cosa simile alla seguente
Ora per far s� che i file che metti sul tuo server siano raggiungibili quando l'utente digita il tuo nome dominio � necessario creare un file virtualhost.
1. Crea il file per includere i virtualhost
[user@webmasterwannabe ~]$ vi /etc/httpd/conf.d/vhosts.conf
2. Aggiungi la direttiva che segue e salva
IncludeOptional vhosts.d/*.conf
3. Crea il file virtualhost per il tuo dominio (in questo esempio usiamo webmasterwannabe.it)
[user@webmasterwannabe ~]$ vi /etc/httpd/vhosts.d/webmasterwannabe.it.conf
4. Aggiungi le direttive che seguono e salva
<VirtualHost TUO_IP:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/webmasterwannabe.it/public_html"
ServerName webmasterwannabe.it
ServerAlias www.webmasterwannabe.it
ErrorLog "/var/www/html/webmasterwannabe.it/logs/error_log"
CustomLog "/var/www/html/webmasterwannabe.it/logs/access_log" combined
<Directory "/var/www/html/webmasterwannabe.it/public_html">
DirectoryIndex index.html index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Ci possono essere ovviamente configurazioni diverse per questo file e soprattutto � importante che le cartelle che inserite come percorsi esistano effettivamente sul server.
NB: Cambia "TUO_IP" con il tuo vero IP e webmasterwannabe.it con il tuo nome dominio.
5. Testa la configurazione di Apache
[user@webmasterwannabe ~]$ apache2ctl configtest
6. Se tutto � ok riavvia Apache
[user@webmasterwannabe ~]$ systemctl restart httpd
7. Crea il file di test php sulla cartella del dominio come specificato nel virtualhost usando il codice <?php phpinfo(); ?>
[user@webmasterwannabe ~]$ vi /var/www/html/webmasterwannabe.it/public_html/index.php
8. Visita il tuo dominio e vedrai la schermata con i dati php di prima.