Configurazione LAMP su CentOS 8, Linux, Apache, MySql, Php.

In ordine distribuzione Linux CentOS 8, Apache 2.4.37, MySql 8, PHP 7.3 il tutto per WordPress 5.3.2, e phpMyAdmin per rendere le cose più frizzanti.

Video guida e script a seguire.

Ci troviamo nella situazione di aver installato il sistema CentOS minimal dalla iso boot, su una macchina virtuale di Oracle, la VirtualBox: 2 CPU, 3GB di RAM e 16GB di archiviazione.

Possiamo controllare lo stato del programma httpd delle nostre repository

#dnf info httpd

e passiamo all’installazione del servizio httpd

#dnf install httpd

avviamo il servizio

#systemctl start httpd

controlliamo lo stato del servizio

#systemctl status httpd

abilitiamo il servizio all’avvio del server

#systemctl enable httpd

OpenSSL

Installiamo i servizi SSL

#dnf install mod_ss

creiamo la cartella contenitrice le chiavi

#mkdir /etc/ssl/private

diamo i permessi

#chmod 700 /etc/ssl/private

creiamo il certificato e la chiave SSL, rispondendo alle domande del comando

#openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

apriamo il file di configurazione Apache per completare la configurazione

#vi /etc/httpd/conf.d/ssl.conf

usando il tasto / cerchiamo la stringa /var/www/html

e la decommentiamo, come decommentiamo anche la stringa ServerName

scrivendo l’hostname o l’IP del server, seguito da :443

Rimpiazziamo le stringhe

/etc/ssl/private/apache-selfsigned.key

/etc/ssl/certs/apache-selfsigned.crt

con le nostre ovvero:

/etc/ssl/private/apache-selfsigned.key

/etc/ssl/certs/apache-selfsigned.crt

Firewall

E’ arrivata l’ora di vedere se la nostra configurazione funziona, cosa che non ho fatto fino ad ora perché il firewall bloccava tutte le connessioni.

Stoppiamo per il momento il firewall

# systemctl stop firewalld

andiamo con un browser all’indirizzo del nostro server web e vediamo la pagina iniziale di apache.

Adesso dobbiamo aprire i servizi http e https

# systemctl start firewalld

#firewall-cmd –zone=public –permanent –add-service=http

#firewall-cmd –zone=public –permanent –add-service=https

# firewall-cmd --reload

controlliamo che le direttive sono state accettate

#firewall-cmd --list-all

navighiamo il webserver sia http:// che https://

PHP 7

La piena funzionalità dell’ultima versione di WordPress prevede l’installazione della versione 7.3 e di un sacco di dipendenze ausiliari che risolviamo a breve.

Controlliamo che sul sistema non sia installata nessuna versione di php

#php -v

#sudo dnf module list php

abbiamo bisogno di rendere la versione 7.3 abilitata per cui

#dnf module enable php:7.3

#dnf install php php-mysqlnd php-dom php-simplexml php-xml php-xmlreader php-curl php-exif php-ftp php-gd php-iconv  php-json php-mbstring php-posix php-sockets php-tokenizer

#systemctl start php-fpm

#systemctl enable php-fpm

per una configurazione proprio base, andiamo almeno ad aumentare l’upload minimo che altrimenti non carico neanche il db di produzione.

#vi /etc/php.ini

cerco ed aumento

upload_max_filesize = 32m

MySql

Installiamo MySql con le dipendenze necessarie del caso

#dnf install @mysql

controlliamo lo stato ed abilitiamo il servizio

77 systemctl status mysqld

78 systemctl enable mysqld

79 systemctl start mysqld

controlliamo che funziona

81 mysql -u root

e la prima cosa che facciamo è impostare la password di root che bianca non può restare

#mysqladmin -u root password "giggio123"

e cos’è la prima costa da testare?

WordPress

Installiamo cose che servono, perché altrimenti è più difficile.

#dnf install wget

#dnf install tar

#cd /var/www/html/

#wget https://wordpress.org/lates.tar.gz

#tar -xzvf latest-it_IT.tar.gz

navigo ed installo wordpress!

phpMyAdmin

#wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-all-languages.tar.gz

#tar -xzvf phpMyAdmin-4.9.4-all-languages.tar.gz

il nome non mi piace e lo rinomino

#mv phpMyAdmin-4.9.4-all-languages.tar.gz phpmyadmin

navigo ed installo phpmyadmin/setup e la configurazione la incollo in

#vi phpmyadmin/config.inc.php

Nel video che ho preparato sopra ho testato questa guida, spero ti possa essere utile. Lascia un like.