Installare Apache, MySQL e PHP su server Linux/CentOS 6.x (LAMP)

php_apache_mysql

LAMP è l’acronimo di Linux, APache, MySQL, PHP. e questo articolo descriverà passo per passo l’installazione di un server Apache2 con supporto MySQL e PHP su una macchina virtuale con IP 192.168.0.13 con sistema operativo Linux/CentOS 6.4 64 bit.

Naturalmente la procedura è identica anche per server fisici e con IP differenti, essenziale è che siano collegati alla rete Internet in modo che possano scaricare i pacchetti software.

Per l’installazione di Linux/CentOS su Oracle VM VirtualBox si rimanda a questo altro articolo.

Tutta la procedura di installazione e configurazione viene eseguita da console, collegandosi tramite SSH, come si può rilevare seguendo il video incluso al termine dell’articolo.

 

  • Installazione Apache2

Apache2 è disponibile come pacchetto CentOS, quindi possiamo installarlo con il comando yum:

yum install httpd

configuriamo il sistema per avviare Apache all’avvio:

chkconfig --levels 235 httpd on

avviamo Apache:

/etc/init.d/httpd start

Ricordiamo che con il sistema operativo CentOS la radice di default dei documenti di Apache è la directory /var/www/html/ e il file di configurazione è /etc/httpd/conf/httpd.conf mentre ulteriori configurazioni sono memorizzate nei file contenuti nella directory /etc/httpd/conf.d/ 

 

  • Installazione MySQL

Sempre usando il comando yum installiamo MySQL:

yum install mysql mysql-server

quindi configuriamolo in modo che venga avviato automaticamente al boot del server:

chkconfig --levels 235 mysqld on

e avviamolo:

/etc/init.d/mysqld start

a questo punto dobbiamo configurare la password root di MySQL, quindi digitiamo:

mysql_secure_installation

L’esecuzione di questo script  è raccomandato per tutti i server MySQL destinati alla produzione: seguire attentamente ogni passaggio richiesto da questo script!

Al fine di accedere a MySQL, avremo bisogno l’attuale password per l’utente root. Se avete appena installato MySQL, e non si è ancora impostata la password di root, la password sarà vuota, così si dovrebbe semplicemente premere il tasto enter.

Nel video incluso al termine di questo articolo è possibile seguire il susseguirsi dei passaggi elaborati dallo script.

L’impostazione della password di root assicura che nessuno possa accedere al MySQL come utente root senza autorizzazione.

 

  •  Installazione PHP

Ancora usando il comando yum installiamo PHP e in seguito anche i vari pacchetti PHP di supporto a MySQL:

yum install php

un reset di Apache:

/etc/init.d/httpd restart

e un test per verificare l’installazione di PHP:

[root@localhost]# php -v
PHP 5.3.3 (cli) (built: Jul 12 2013 20:35:47)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
[root@localhost]#

quindi procediamo ad installare anche gli altri pacchetti necessari al supporto MySQL:

yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc

e ad un altro restart di Apache:

/etc/init.d/httpd restart

 

  • Verifica ed eventuale configurazione iptables

A questo punto, digitando l’IP 192.168.0.13 (nel nostro caso questo è l’IP del server, il vostro server potrebbe avere un IP diverso) sulla barra del browser di un altro PC che sia collegato alla rete con il server (virtuale o fisico che sia) dove abbiamo installato Apache, MySQL e PHP, dovrebbe essere possibile visualizzare la pagina di default di Apache:

apache-default

 

Se così non fosse, ammesso che non abbiate commesso errori nella procedura di installazione, è probabile che il firewall blocchi l’accesso alle porte di default di Apache, pertanto è necessario configurare correttamente iptables.

1) Procedura per IPv4:

Aprire con un editor il file /etc/sysconfig/iptables

/etc/sysconfig/iptables

Aggiungere le seguenti righe, assicurando che compaiono prima del LOG and DROP e nella catena INPUT e salvare le modifiche:

-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT

Un esempio di configurazione IPv4 che permette l’accesso alle porte 80 e 443 potrebbe essere questa:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

quindi riavviamo il servizio:

service iptables restart

 

2) Procedura per IPv6:

Aprire il file /etc/sysconfig/ip6tables

nano /etc/sysconfig/ip6tables

Aggiungere le seguenti righe, assicurando che compaiono prima del LOG and DROP e nella catena INPUT e salvare le modifiche:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

Un esempio di configurazione IPv6 che permette l’accesso alle porte 80 e 443 potrebbe essere questa:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp6-adm-prohibited
-A FORWARD -j REJECT --reject-with icmp6-adm-prohibited
COMMIT

e riavviamo il servizio:

service ip6tables restart

 

Di seguito il video con riportata tutta la procedura di installazione di Apache2, MySQL e PHP:
(per una migliore visione ingrandite il video a schermo intero e impostare HD on)

Se la guida è stata di vostro gradimento, un click su MI PIACE, un commento o una condivisione è per noi gradita ricompensa 🙂

 

One thought on “Installare Apache, MySQL e PHP su server Linux/CentOS 6.x (LAMP)

Lascia un commento