Come installare Magento su CentOS 7
Magento è una piattaforma di e-commerce open source potente e altamente flessibile (o sistema di gestione dei contenuti (CMS)) scritta in PHP. Viene fornito in due edizioni principali: edizione Enterprise e Community. La Community Edition è destinata agli sviluppatori e alle piccole imprese.
È completamente personalizzabile per soddisfare le esigenze degli utenti consentendo loro di configurare e gestire un negozio di e-commerce completamente operativo in pochi minuti. Magento funziona su server web come Apache, Nginx e IIS, database backend: MySQL o MariaDB, Percona.
In questa guida mostreremo come installare Magento Community Edition su un VPS CentOS 7 con stack LAMP (Linux, Apache MariaDB e PHP). Le stesse istruzioni funzionano anche su distribuzioni basate su RHEL e Fedora con lievi modifiche nei comandi.
Requisiti
Questo articolo ti guiderà a installare la versione più recente di “Community Edition” di Magento su un sistema che esegue:
- Apache versione 2.2 o 2.4
- PHP versione 5.6 o 7.0.x o successiva con le estensioni richieste
- MySQL versione 5.6 o successiva
Nota: per questa configurazione, utilizzo il nome host del sito web come "magneto-linux-console.net" e l'indirizzo IP è "192.168 .0.106“.
Passaggio 1: installazione del server Web Apache
1. Installare il server web Apache è semplicissimo, dai repository ufficiali:
yum install httpd
2. Quindi, per consentire l'accesso ai servizi Apache da HTTP e HTTPS, dobbiamo aprire la porta 80 e 443 dove il demone HTTPD è in ascolto come segue:
------------ On CentOS/RHEL 7 ------------
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
---------- On CentOS/RHEL 6 ----------
iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT
service iptables save
Passaggio 2: installa il supporto PHP per Apache
Come ho detto, Magento richiede PHP 5.6 o 7.0 e il repository CentOS predefinito include PHP 5.4, che non è compatibile con l'ultima versione di Magento 2.
3. Per installare PHP 7, è necessario aggiungere EPEL e IUS (Inline with Upstream Stable) per poter installare PHP 7 utilizzando yum:
Installa PHP 7 su CentOS 7
yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-14.ius.centos7.noarch.rpm
yum -y update
yum -y install php70u php70u-pdo php70u-mysqlnd php70u-opcache php70u-xml php70u-mcrypt php70u-gd php70u-devel php70u-mysql php70u-intl php70u-mbstring php70u-bcmath php70u-json php70u-iconv
Installa PHP 7 su CentOS 6
yum -y update
yum -y install epel-release
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
wget https://centos6.iuscommunity.org/ius-release.rpm
rpm -Uvh ius-release*.rpm
yum -y update
yum -y install php70u php70u-pdo php70u-mysqlnd php70u-opcache php70u-xml php70u-mcrypt php70u-gd php70u-devel php70u-mysql php70u-intl php70u-mbstring php70u-bcmath php70u-json php70u-iconv
4. Successivamente, apri e modifica le seguenti impostazioni nel tuo file /etc/php.ini
:
max_input_time = 30
memory_limit= 512M
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
error_log = /var/log/php/error.log
date.timezone = Asia/Calcutta
Nota: il valore per date.timezone
varierà in base al fuso orario del tuo sistema. Fare riferimento a controllare il fuso orario del sistema e impostare il fuso orario in Linux.
5. Successivamente, per recuperare informazioni complete relative all'installazione di PHP e tutte le sue attuali configurazioni da un browser web, creiamo un file info.php
nella DocumentRoot di Apache (/var/www/html) utilizzando il seguente comando.
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
6. Una volta completata tutta la configurazione richiesta, è il momento di avviare il servizio Apache e abilitarlo all'avvio automatico al successivo avvio del sistema in questo modo:
------------ On CentOS/RHEL 7 ------------
systemctl start httpd
systemctl enable httpd
------------ On CentOS/RHEL 6 ------------
service httpd start
chkconfig httpd on
7. Successivamente, possiamo verificare che Apache e PHP funzionino correttamente; apri un browser remoto e digita l'indirizzo IP del tuo server utilizzando il protocollo HTTP nell'URL e dovrebbe apparire la pagina predefinita delle informazioni su Apache2 e PHP.
http://server_domain_name_or_IP/
http://server_domain_name_or_IP/info.php
Passaggio 3: installa e configura il database MariaDB
8. Dobbiamo notare che Red Hat Enterprise Linux/CentOS 7.0 è passato dal supporto MySQL a MariaDB come sistema di gestione del database predefinito.
Per installare il database MariaDB, dobbiamo aggiungere il seguente repository ufficiale MariaDB al file /etc/yum.repos.d/MariaDB.repo come mostrato.
Installa MariaDB su CentOS 7
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Installa MariaDB su RHEL 7
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Installa MariaDB su CentOS 6
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Installa MariaDB su RHEL 6
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
9. Una volta creato il file repository, ora possiamo installare MariaDB come segue:
yum install mariadb-server mariadb
OR
yum install MariaDB-server MariaDB-client
10. Una volta completata l'installazione dei pacchetti MariaDB, avviare temporaneamente il demone del database e abilitarlo all'avvio automatico al successivo avvio.
------------ On CentOS/RHEL 7 ------------
systemctl start mariadb
systemctl enable mariadb
------------ On CentOS/RHEL 6 ------------
service mysqld start
chkconfig mysqld on
11. Quindi esegui lo script mysql_secure_installation per proteggere il database (imposta la password di root, disabilita l'accesso root remoto, rimuovi il database di test e rimuovi gli utenti anonimi) come segue:
mysql_secure_installation
12. Successivamente crea un database e un utente Magento come mostrato.
mysql -u root -p
## Creating New User for Magento Database ##
mysql> CREATE USER magento@localhost IDENTIFIED BY "your_password_here";
## Create New Database ##
mysql> create database magento;
## Grant Privileges to Database ##
mysql> GRANT ALL ON magento.* TO magento@localhost;
## FLUSH privileges ##
mysql> FLUSH PRIVILEGES;
## Exit ##
mysql> exit
Passaggio 4: installa Magento Community Edition
12. Ora vai sul sito ufficiale di Magento e crea un account utente nel caso tu sia un nuovo cliente (o semplicemente accedi se hai già un account) e scarica l'ultima versione di Magento Community Edition.
- http://www.magentocommerce.com/download
13. Dopo aver scaricato il file tar di Magento, estrai il contenuto nella radice del documento Apache (/var/www/html) come segue:
tar -zxvf Magento-CE-2.1.5-2017-02-20-05-36-16.tar.gz -C /var/www/html/
14. Ora devi impostare la proprietà Apache su file e cartelle.
chown -R apache:apache /var/www/html/
15. Ora apri il browser e vai al seguente URL, ti verrà presentata la procedura guidata di installazione di Magento.
http://server_domain_name_or_IP/
16. Successivamente, la procedura guidata effettuerà un controllo di idoneità per la versione PHP corretta, i permessi dei file e la compatibilità.
17. Inserisci le impostazioni del database Magento.
18. Configurazione del sito Web Magento.
19. Personalizza il tuo negozio Magento impostando fuso orario, valuta e lingua.
20. Crea un nuovo account amministratore per gestire il tuo negozio Magento.
21. Ora fai clic su "Installa ora" per continuare l'installazione di Magento.
Questo è tutto! hai installato con successo Magento in CentOS 7. Se riscontri errori durante l'installazione, sentiti libero di chiedere aiuto nei commenti..