Questa guida pratica spiega come installare l'ultima versione di Apache , MySQL 8 o MariaDB 10 e PHP 7 insieme ai moduli PHP richiesti su RHEL / CentOS 7/6 e Fedora 24-29 .
Questa combinazione del sistema operativo (Linux ) con il server web (Apache ), server di database (MariaDB/MySQL ) e linguaggio di scripting lato server (PHP ) è noto come LAMP pila.
Don' t Signorina: Come installare Nginx 1.15, MariaDB 10 e PHP 7 su CentOS 7
Da settembre 2015, PHP 5.4 non è più supportato dal team PHP ed è arrivato alla fine del ciclo di vita, ancora, PHP 5.4 viene fornito con RHEL/CentOS 7/6 con modifiche minori alla versione e Red Hat lo supporta, quindi l'aggiornamento a una versione successiva non è necessario. Tuttavia, ti consigliamo vivamente di aggiornare il tuo PHP 5.4 a PHP 5.5+ per una maggiore sicurezza e prestazioni.
Ecco con cosa viene fornita la tua attuale distribuzione Linux:
Versione corrente di PHP | RHEL/CentOS 7 | RHEL/CentOS 6 |
---|---|---|
7.3 | 5.4 | 5.3 |
Per fare ciò, abiliteremo EPEL e Remi repository e usa yum e dnf (il nuovo strumento di gestione dei pacchetti disponibile in Fedora).
Passaggio 1:installazione di EPEL e Remi Repository
EPEL (Pacchetti extra per Enterprise Linux ) è un repository basato sulla comunità che offre pacchetti software aggiuntivi per distribuzioni Linux basate su RHEL.
Remi è un repository in cui puoi trovare le ultime versioni di PHP stack (con funzionalità complete) per l'installazione nelle distribuzioni Fedora ed Enterprise Linux.
Su RHEL/CentOS 7
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ------ For RHEL 7 Only ------ # subscription-manager repos --enable=rhel-7-server-optional-rpms
Su RHEL/CentOS 6
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ------ For RHEL 6 Only ------ # subscription-manager repos --enable=rhel-6-server-optional-rpms
Su Fedora 24-29
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]
Fase 2:installazione del server Web Apache
Apache è un server Web HTTP gratuito e open source che funziona sulla maggior parte dei sistemi operativi basati su UNIX e su Windows. In quanto tale, può essere utilizzato per servire pagine Web statiche e gestire contenuti dinamici. Rapporti recenti mostrano che Apache è il server numero uno utilizzato nei siti Web e nei computer con connessione a Internet.
Per installare Apache server web, prima aggiorna i pacchetti software di sistema e installalo usando i seguenti comandi.
# yum -y update # yum install httpd
Una volta Apache server web installato, puoi iniziare ad abilitarlo per l'avvio automatico all'avvio del sistema.
# systemctl start httpd # systemctl enable httpd # systemctl status httpd
Se stai eseguendo firewalld , assicurati di consentire il traffico Apache sul firewall.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --zone=public --permanent --add-service=https # firewall-cmd --reload
Fase 3:Installazione di PHP utilizzando Remi Repository
PHP (Preprocessore ipertestuale ) è un linguaggio di scripting lato server gratuito e open source più adatto per lo sviluppo web. Può essere utilizzato per produrre pagine Web dinamiche per un sito Web e si trova più frequentemente nei server *nix. Uno dei vantaggi di PHP è che è facilmente estensibile attraverso l'uso di un'ampia varietà di moduli.
Per installare PHP , per prima cosa devi abilitare Remi repository installando yum-utils
, una raccolta di programmi utili per la gestione di repository e pacchetti yum.
# yum install yum-utils
Una volta installato, puoi utilizzare yum-config-manager fornito da yum-utils
per abilitare il repository Remi come repository predefinito per l'installazione di diverse versioni di PHP, come mostrato.
Ad esempio, per installare PHP 7.x versione, utilizzare il comando seguente.
------------- On CentOS & RHEL ------------- # yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0] # yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1] # yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2] # yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3] ------------- On Fedora ------------- # dnf --enablerepo=remi install php70 [Install PHP 7.0] # dnf --enablerepo=remi install php71 [Install PHP 7.1] # dnf --enablerepo=remi install php72 [Install PHP 7.2] # dnf --enablerepo=remi install php73 [Install PHP 7.3]
Successivamente, installeremo tutti questi seguenti moduli PHP in questo articolo. Puoi cercare più moduli relativi a PHP (magari per integrare una funzionalità specifica di cui le tue applicazioni web hanno bisogno) con il seguente comando:
------ RHEL/CentOS 7/6------ # yum search all php ------ Fedora ------ # dnf search all php
Indipendentemente dalla distribuzione, i comandi precedenti restituiscono l'elenco dei pacchetti nei repository attualmente abilitati che includono la parola php
nel nome del pacchetto e/o nella descrizione.
Ecco i pacchetti che installeremo. Tieni presente che MySQL i connettori (PHP, Perl, Python, Java, ecc.) funzioneranno invariati con MariaDB poiché entrambi i sistemi utilizzano lo stesso protocollo client e le librerie client sono binari compatibili.
- MariaDB/MySQL (php-mysql) – un oggetto condiviso dinamico che aggiungerà il supporto MariaDB a PHP.
- PostgreSQL (php-pgsql) – Supporto database PostgreSQL per PHP.
- MongoDB (php-pecl-mongo) – Un'interfaccia per comunicare con il database MongoDB in PHP.
- Generico (php-pdo) – Un oggetto condiviso dinamico che aggiungerà un livello di astrazione dell'accesso al database a PHP.
- Memcache (php-pecl-memcache) – Memcached è un demone di memorizzazione nella cache progettato appositamente per le applicazioni Web dinamiche per ridurre il carico del database archiviando gli oggetti in memoria.
- Memcached (php-pecl-memcached) – Un'estensione che utilizza la libreria libmemcached per fornire l'API per la comunicazione con i server memcached.
- GD (php-gd) – Un oggetto di condivisione dinamico che aggiunge il supporto per l'utilizzo della libreria grafica gd in PHP.
- XML (php-xml) – Oggetti condivisi dinamici che aggiungono il supporto a PHP per la manipolazione di documenti XML.
- MBString (php-mbstring) – Un'estensione per gestire stringhe multibyte nelle applicazioni PHP.
- MCrypt (php-mcrypt) – Una libreria Mcrypt per script PHP.
- APC (php-pecl-apcu) – Modulo APC utilizzato per ottimizzare e memorizzare nella cache il codice PHP.
- CLI (php-cli) – Interfaccia della riga di comando per PHP.
- PERA (php-pera) – Framework del repository di applicazioni per PHP.
Installa i seguenti moduli PHP necessari con il comando seguente.
------ On RHEL/CentOS 7/6 ------ # yum --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear ------ On Fedora ------ # dnf --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
Fase 4:installazione del database MySQL o MariaDB
In questa sezione, ti mostreremo l'installazione di entrambi i database MySQL e MariaDB , quindi sta a te scegliere in base alle tue esigenze.
Installazione del server database MySQL 8
MySQL è uno dei sistemi di gestione di database relazionali (RDBMS) open source più popolari al mondo che esegue qualsiasi server fornendo accesso multiutente a più database. MySQL funziona con Apache.
Per installare l'ultima versione di MySQL 8.0 versione, installeremo e abiliteremo MySQL Yum ufficiale repository del software utilizzando i seguenti comandi.
# rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm [On RHEL/CentOS 7] # rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm [On RHEL/CentOS 6] # rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc29-1.noarch.rpm [On Fedora 29] # rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm [On Fedora 29] # rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc27-1.noarch.rpm [On Fedora 29] # rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc26-1.noarch.rpm [On Fedora 29] # rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc25-1.noarch.rpm [On Fedora 29] # rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc24-1.noarch.rpm [On Fedora 29]
Dopo aver installato MySQL Yum repository software per la tua piattaforma Linux, ora installa l'ultima versione di MySQL (attualmente 8.0 ) utilizzando il comando seguente.
# yum install mysql-community-server [On RHEL/CentOS] # dnf install mysql-community-server [On Fedora]
Dopo aver installato con successo MySQL, è il momento di avviare il server MySQL con il seguente comando.
# service mysqld start
Consulta il nostro articolo su come proteggere l'installazione del database MySQL 8.
Installazione del server database MariaDB 10
MariaDB è un fork del noto MySQL, uno dei sistemi di gestione di database relazionali (RDBMS) più popolari al mondo. È interamente sviluppato dalla comunità e come tale è destinato a rimanere FOSS e compatibile con la GPL.
Se sei o sei stato un utente MySQL, la migrazione a MariaDB sarà un processo molto semplice:i comandi popolari per la connessione, il backup e il ripristino e la gestione dei database sono identici in entrambi gli RDBMS.
Nella versione più recente di RHEL/CentOS 7 distribuzione, MariaDB è un sostituto drop-in di MySQL e in RHEL/CentOS 6 MySQL rimane lo stesso e non puoi installare MariaDB su RHEL/CentOS 6 dal repository predefinito, ma puoi installare MariaDB utilizzando il repository ufficiale di MariaDB.
Per abilitare il repository MariaDB su RHEL/CentOS 7 distribuzioni, crea un file chiamato /etc/yum.repos.d/mariadb.repo
con i seguenti contenuti:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Nota :Come ho detto sopra, puoi anche installare MariaDB su RHEL/CentOS 6 utilizzando il repository ufficiale MariaDB come indicato sopra.
Dopo aver abilitato il repository MariaDB, quindi:
------ On RHEL/CentOS 7 ------ # yum --enablerepo=remi install httpd MariaDB-client MariaDB-server ------ On Fedora ------ # dnf --enablerepo=remi install httpd MariaDB-client MariaDB-server
Fase 5:abilita/avvia Apache e MySQL/MariaDB
Su sistemaD
------ Enable Apache and MariaDB on Boot ------ # systemctl enable httpd # systemctl enable mariadb ------ Start Apache and MariaDB ------ # systemctl start httpd # systemctl start mariadb
Su SysVinit
------ Enable Apache and MySQL on Boot ------ # chkconfig --levels 235 httpd on # chkconfig --levels 235 mysqld on ------ Start Apache and MySQL ------ # /etc/init.d/httpd start # /etc/init.d/mysqld start
Fase 6:verifica dell'installazione di PHP
Continuiamo con il modo classico di testare PHP. Crea un file chiamato test.php
in /var/www/html e aggiungi le seguenti righe di codice.
Il phpinfo()
mostra una grande quantità di informazioni sull'installazione corrente di PHP:
<?php phpinfo(); ?>
Ora punta il tuo browser web su http://[server]/test.php
e verifica la presenza dei moduli installati e dei software aggiuntivi scorrendo la pagina (sostituisci [server]
con il tuo dominio o l'indirizzo IP del tuo server). Il tuo output dovrebbe essere simile a:
Congratulazioni! Ora hai un'ultima installazione funzionante di una LAMP pila. Se qualcosa non è andato come previsto, non esitare a contattarci utilizzando il modulo sottostante. Anche domande e suggerimenti sono i benvenuti.
Nota :puoi anche installare MariaDB in altre distribuzioni creando un repository personalizzato seguendo le istruzioni fornite qui.