GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Apache, PHP 7.1 e MySQL su CentOS 7.3 (LAMP)

Questo tutorial mostra come installare un server web Apache su un server CentOS 7 con supporto PHP (mod_php) e supporto MySQL. LAMP è l'abbreviazione di L inux, A pache, M ySQL, P HP.

Questo tutorial aggiornato mostra l'installazione delle ultime versioni di PHP (7.0 e 7.1) su CentOS 7.3.

1 Nota preliminare

In questo tutorial, utilizzo il nome host server1.example.com con l'IP p 192.168.1.100. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato.

Aggiungerò il repository EPEL qui per installare l'ultimo phpMyAdmin come segue:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release

Per modificare i file sulla shell, installerò l'editor nano. Se preferisci vi per la modifica dei file, salta questo passaggio.

yum -y installa nano

2 Installazione di MySQL/MariaDB

MariaDB è un fork di MySQL dello sviluppatore MySQL originale Monty Widenius. MariaDB è compatibile con MySQL e ho scelto di utilizzare MariaDB qui invece di MySQL. Esegui questo comando per installare MariaDB con yum:

yum -y installa mariadb-server mariadb

Quindi creiamo i collegamenti di avvio del sistema per MySQL (in modo che MySQL si avvii automaticamente ogni volta che il sistema si avvia) e avviamo il server MySQL:

systemctl avvia mariadb.service
systemctl abilita mariadb.service

Imposta le password per l'account root MySQL:

installazione_mysql_secure
[[email protected] ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation:line 379:find_mysql_client:comando non trovato

NOTA:SI RACCOMANDA DI ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT TUTTI I SERVER MariaDB
      UTILIZZATI IN PRODUZIONE! SI PREGA DI LEGGERE ATTENTAMENTE OGNI PASSO!

Per poter accedere a MariaDB per proteggerlo, avremo bisogno della
password corrente per l'utente root. Se hai appena installato MariaDB e
non hai ancora impostato la password di root, la password sarà vuota,
quindi dovresti semplicemente premere invio qui.

Entra password corrente per root (inserisci per none):<--ENTER
OK, password utilizzata con successo, vado avanti...

L'impostazione della password di root assicura che nessuno possa accedere all'utente root di MariaDB
senza la corretta autorizzazione.

Impostare la password di root? [S/n]
Nuova password:<--yourmariadbpassword
Reinserire la nuova password:<--yourmariadbpassword
Password aggiornata correttamente!
Ricaricamento delle tabelle dei privilegi..
 ... Operazione riuscita!


Per impostazione predefinita, un'installazione di MariaDB ha un utente anonimo, che consente chiunque
per accedere a MariaDB senza dover creare un account utente per
loro. Questo è inteso solo per il test e per rendere l'installazione
un po' più agevole. È necessario rimuoverli prima di passare a un
ambiente di produzione.

Rimuovere utenti anonimi? [S/n] <--INVIO
 ... Successo!

Normalmente, root dovrebbe essere autorizzato a connettersi solo da 'localhost'. Questo
garantisce che qualcuno non possa indovinare la password di root dalla rete.

Disconsentire l'accesso root in remoto? [S/n] <--INVIO
 ... Successo!

Per impostazione predefinita, MariaDB viene fornito con un database denominato 'test' a cui chiunque può
accedere. Anche questo è inteso solo per il test e deve essere rimosso
prima di passare a un ambiente di produzione.

Rimuovere il database di test e accedervi? [S/n] <--INVIO
 - Eliminazione del database di test...
 ... Operazione riuscita!
 - Rimozione dei privilegi sul database di prova...
 ... Operazione riuscita!

Il ricaricamento delle tabelle dei privilegi garantirà che tutte le modifiche apportate finora
diventeranno effettive immediatamente.

Ricaricare le tabelle dei privilegi ora? [S/n] <--INVIO
 ... Successo!

Pulizia...

Fatto! Se hai completato tutti i passaggi precedenti, l'installazione di MariaDB
ora dovrebbe essere sicura.

Grazie per aver utilizzato MariaDB!
[[email protected] ~]#
 

3 Installazione di Apache

CentOS 7 viene fornito con apache 2.4. Apache è direttamente disponibile come pacchetto CentOS 7, quindi possiamo installarlo in questo modo:

yum -y installa httpd

Qui uno screenshot del processo di installazione.

Ora configura il tuo sistema per avviare Apache all'avvio...

systemctl avvia httpd.service
systemctl abilita httpd.service

Per poter accedere al server web dall'esterno, dobbiamo aprire le porte HTTP (80) e HTTPS (443) nel firewall. Il firewall predefinito su CentOS è firewalld che può essere configurato con il comando firewalld-cmd.

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --ricarica

Ora indirizza il tuo browser all'indirizzo IP del tuo server, nel mio caso http://192.168.1.100, e dovresti vedere la pagina segnaposto di Apache:

4 Installazione di PHP

La versione PHP fornita con CentOS è piuttosto vecchia (PHP 5.4), quindi in questo passaggio ti mostrerò alcune opzioni per installare le versioni PHP più recenti come PHP 7.0 o 7.1 dal repository Remi.

Aggiungi il repository Remi CentOS.

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Installa yum-utils poiché abbiamo bisogno dell'utilità yum-config-manager.

yum -y installa yum-utils

ed esegui l'aggiornamento yum

yum aggiornamento

Ora devi scegliere quale versione di PHP vuoi usare sul server. Se ti piace usare PHP 5.4, procedi con il comando successivo. Per installare PHP 7.0, segui i comandi nel capitolo 4.1 e per PHP 7.1, usa invece il capitolo 4.2.

Per installare PHP 5.4, esegui questo comando:

yum -y install php

4.1 Installa PHP 7.0 (opzionale)

Possiamo installare PHP 7.0 e il modulo Apache PHP 7.0 come segue:

yum-config-manager --enable remi-php70
yum -y install php php-opcache

4.2 Installa PHP 7.1 (opzionale)

Se invece vuoi usare PHP 7.1, usa:

yum-config-manager --enable remi-php71
yum -y install php php-opcache

In questo esempio e nella macchina virtuale scaricabile, userò PHP 7.1.

Dobbiamo riavviare Apache per applicare le modifiche:

 systemctl riavvia httpd.service

5 Testare PHP / Ottenere dettagli sull'installazione di PHP

La radice del documento del sito Web predefinito è /var/www/html. Creeremo un piccolo file PHP (info.php) in quella directory e lo chiameremo in un browser per testare l'installazione di PHP. Il file mostrerà molti dettagli utili sulla nostra installazione di PHP, come la versione di PHP installata.

nano /var/www/html/info.php

Ora chiamiamo quel file in un browser (es. http://192.168.1.100/info.php):

Come vedi, PHP 7.1 funziona e funziona tramite il gestore Apache 2.0, come mostrato nella riga dell'API del server. Se scorri più in basso, vedrai tutti i moduli che sono già abilitati in PHP. MySQL non è elencato lì, il che significa che non abbiamo ancora il supporto MySQL in PHP.

6 Ottenere supporto MySQL in PHP

Per ottenere il supporto MySQL in PHP, possiamo installare il pacchetto php71w-mysql. È una buona idea installare alcuni altri moduli PHP e potresti averne bisogno per le tue applicazioni. Puoi cercare i moduli PHP5 disponibili in questo modo:

yum cerca php

Scegli quelli che ti servono e installali in questo modo:

yum -y install php-mysql

Nella fase successiva installerò alcuni moduli PHP comuni richiesti dai sistemi CMS come Wordpress, Joomla e Drupal:

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

Ora riavvia il server web Apache:

 systemctl riavvia httpd.service

Ora ricarica http://192.168.1.100/info.php nel tuo browser e scorri di nuovo verso il basso fino alla sezione dei moduli. Ora dovresti trovare molti nuovi moduli come curl ecc.:

Se non hai più bisogno dell'output delle informazioni php, elimina quel file per motivi di sicurezza.

rm /var/www/html/info.php

7 installazione di phpMyAdmin

phpMyAdmin è un'interfaccia web attraverso la quale puoi gestire i tuoi database MySQL.
phpMyAdmin ora può essere installato come segue:

yum -y installa phpMyAdmin

Ora configuriamo phpMyAdmin. Modifichiamo la configurazione di Apache in modo che phpMyAdmin consenta connessioni non solo da localhost (commentando la stanza  e aggiungendo la riga 'Richiedi tutto concesso'):

nano /etc/httpd/conf.d/phpMyAdmin.conf
[...]
Alias ​​/phpMyAdmin /usr/share/phpMyAdminAlias ​​/phpmyadmin /usr/share/phpMyAdmin
AddDefaultCharset UTF-8


# Apache 2.4
#
# Richiede IP 127.0.0.1
# Richiede IP ::1
#

Richiedi tutto concesso


# Apache 2.2
Order Deny, Allow
Nega da tutti
Consenti da 127.0.0.1
Consenti da ::1


Opzioni nessuna Consenti Sostituisci limite Richiedi tutto concesso

[...]

Successivamente, modifichiamo l'autenticazione in phpMyAdmin da cookie a http:

nano /etc/phpMyAdmin/config.inc.php
[...]$cfg['Server'][$i]['auth_type'] ='http'; // Metodo di autenticazione (configurazione, http o basato su cookie)?[...]

Riavvia Apache:

systemctl riavvia  httpd.service

Successivamente, puoi accedere a phpMyAdmin da http://192.168.1.100/phpmyadmin/:

8 Scarica come macchina virtuale

Questa configurazione è disponibile come download della macchina virtuale in formato ova/ovf (compatibile con VMWare e Virtualbox) per gli abbonati howtoforge.

Dettagli di accesso per la VM

  • La password di root di Linux è:howtoforge.
  • La password principale di MySQL è:howtoforge

Modifica entrambe le password al primo accesso.

  • L'indirizzo IP della VM è 192.168.1.100


    Apache:http://httpd.apache.org/
    PHP:http://www.php.net/
    MySQL:http://www.mysql.com/
    CentOS:http://www.centos.org/
    phpMyAdmin:http://www.phpmyadmin.net/


Cent OS
  1. Come installare Apache, MySQL, PHP (LAMP) su CentOS/RHEL 7

  2. Come installare Apache e PHP (stack LAMP) su Rocky Linux/Centos 8

  3. Come installare LAMP (Linux Apache MySQL e PHP) su CentOS 6 con phpMyAdmin e cache APC

  4. Come installare LAMP ed eseguire osTicket su CentOS 6

  5. Come installare LAMP su CentOS 7

Come installare il server LAMP su CentOS 8

Come installare LAMP (Linux Apache, MariaDB, PHP) su CentOS 7

Come installare LAMP (Apache, MariaDB, PHP) su un Cloud Server CentOS 7.2

Come installare uno stack LAMP (Apache, MariaDB, PHP) su CentOS 7

Come installare LAMP su Ubuntu 15.10 (Linux, Apache, MySQL e PHP)

Come installare LAMP su Fedora 23 (Linux, Apache, MySQL e PHP)