androide

Come installare Magento 2 su Ubuntu 18.04

Magento 2.1.x in Ubuntu localhost Installation Guide 2017 | Magento 2 Tutorials

Magento 2.1.x in Ubuntu localhost Installation Guide 2017 | Magento 2 Tutorials

Sommario:

Anonim

Magento è la principale piattaforma di e-commerce di classe enterprise basata sulla tecnologia open source che combina potenti funzionalità con flessibilità e interfaccia intuitiva.

Con funzionalità come esperienze di shopping coinvolgenti, architettura modulare flessibile e scalabilità e prestazioni di livello enterprise Magento è una piattaforma di scelta per la maggior parte dei commercianti online.

In questo tutorial, ti mostreremo come installare Magento 2.3 su una macchina Ubuntu 18.04. Useremo Nginx come server web, l'ultimo PHP 7.2 e MySQL / MariaDB come server database.

Prerequisiti

Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:

  • Avere un nome di dominio che punta all'IP del server pubblico. Useremo example.com Nginx è installato sul tuo server Ubuntu seguendo queste istruzioni. Un certificato SSL installato per il tuo dominio per crittografare le informazioni dell'utente. È possibile installare un certificato SSL Let's Encrypt gratuito seguendo queste istruzioni.

Per poter accedere al repository di codici Magento 2 dovrai generare le chiavi di autenticazione. Se non hai un account Magento Marketplace, puoi crearne uno qui. Dopo aver creato l'account, controlla queste istruzioni su come generare un nuovo set di chiavi di autenticazione.

Aggiorna i pacchetti di sistema alle versioni più recenti e installa l'utilità di decompressione:

sudo apt update && sudo apt upgrade sudo apt install unzip

Creazione del database MySQL

Se hai installato MySQL o MariaDB sul tuo server, puoi saltare questo passaggio, altrimenti puoi installare il pacchetto del server MySQL 5.7 dai repository predefiniti di Ubuntu digitando:

sudo apt install mysql-server mysql-client Per le nuove installazioni di MySQL, si consiglia di eseguire il comando mysql_secure_installation per migliorare la sicurezza del server MySQL.

Accedi alla shell MySQL usando il seguente comando:

sudo mysql

Dall'interno della shell MySQL, eseguire la seguente istruzione SQL per creare un nuovo database chiamato magento :

CREATE DATABASE magento;

Successivamente, crea un account utente MySQL chiamato magento e concedi le autorizzazioni necessarie all'utente eseguendo il comando seguente:

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Assicurati di cambiare change-with-strong-password con una password complessa.

Una volta terminato, esci dalla console MySQL digitando:

EXIT;

Creazione dell'utente di sistema

Crea un nuovo utente e gruppo, che sarà il proprietario del file system Magento, per semplicità magento l'utente magento :

sudo useradd -m -U -r -d /opt/magento magento

Aggiungi l'utente www-data al gruppo magento e modifica le autorizzazioni della directory /opt/magento modo che Nginx possa accedere all'installazione di Magento:

sudo usermod -a -G magento www-data sudo chmod 750 /opt/magento

Installazione e configurazione di PHP

PHP 7.2, che è la versione PHP predefinita in Ubuntu 18.04, è completamente supportata e consigliata per Magento 2.3. Poiché utilizzeremo Nginx come server Web, installeremo anche il pacchetto PHP-FPM.

Esegui il comando seguente per installare PHP e tutti i moduli PHP richiesti:

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

Il servizio PHP-FPM si avvierà automaticamente al termine del processo di installazione, è possibile verificarlo stampando lo stato del servizio:

sudo systemctl status php7.2-fpm

L'output dovrebbe indicare che il servizio fpm è attivo e in esecuzione.

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago Docs: man:php-fpm7.2(8) Main PID: 16814 (php-fpm7.2) Status: "Ready to handle connections" Tasks: 3 (limit: 505) CGroup: /system.slice/php7.2-fpm.service

Imposta le opzioni PHP richieste e consigliate modificando il file php.ini con sed ::

sudo sed -i "s/memory_limit =.*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

Successivamente è necessario creare un pool FPM per l'utente magento .

Apri il tuo editor di testo e crea il seguente file:

sudo nano /etc/php/7.2/fpm/pool.d/magento.conf /etc/php/7.2/fpm/pool.d/magento.conf

user = magento group = www-data listen.owner = magento listen.group = www-data listen = /var/run/php/php7.2-fpm-magento.sock pm = ondemand pm.max_children = 50 pm.process_idle_timeout = 10s pm.max_requests = 500 chdir = /

Riavvia il servizio PHP-FPM per rendere effettive le modifiche:

systemctl restart php7.2-fpm

Verifica se il socket PHP è stato creato correttamente eseguendo il seguente comando ls:

ls -al /var/run/php/php7.2-fpm-magento.sock

L'output dovrebbe assomigliare a questo:

srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=

Installazione di Composer

Composer è un gestore delle dipendenze per PHP e lo useremo per scaricare il core Magento e installare tutti i componenti Magento necessari.

Per installare il compositore a livello globale, scarica il programma di installazione di Composer con arricciatura e sposta il file nella /usr/local/bin :

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Verifica l'installazione stampando la versione del compositore:

composer --version

L'output dovrebbe assomigliare a questo:

Composer version 1.8.0 2018-12-03 10:31:16

Installazione di Magento

Esistono diversi modi per installare Magento 2. Evitare di installare Magento dal repository Github perché quella versione è destinata allo sviluppo e non alle installazioni di produzione.

Al momento della stesura di questo articolo, l'ultima versione stabile di Magento è la versione 2.3.0 . In questo tutorial, installeremo Magento dai loro repository usando compositore.

Passa all'utente magento digitando:

sudo su - magento

Avviare l'installazione scaricando i file magento nella directory / opt / magento / public_html:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html

Ti verrà richiesto di inserire le chiavi di accesso, copiare le chiavi dal tuo account del marketplace Magento e memorizzarle nel file auth.json , quindi in seguito quando aggiorni l'installazione non devi aggiungere nuovamente le stesse chiavi.

Authentication required (repo.magento.com): Username: e758ec1745d190320ca246e4e832e12c Password: Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? Y

Il comando sopra recupererà tutti i pacchetti PHP richiesti. Il processo potrebbe richiedere alcuni minuti e, se ha esito positivo, la fine dell'output dovrebbe essere simile alla seguente:

Writing lock file Generating autoload files

Una volta creato il progetto, possiamo avviare l'installazione di Magento. È possibile installare Magento dalla riga di comando o utilizzando l'Installazione guidata Web. In questo tutorial, installeremo Magento usando la riga di comando.

Useremo le seguenti opzioni per installare il negozio Magento:

  • Gli URL sicuri Base e Base sono impostati su https://example.com , modificalo con il tuo dominio. Amministratoremagento:
    • John Doe come nome e cognome. [email protected] come e-mail. john come nome utente e j0hnP4ssvv0rD come password.
    Nome database magento , nome utente magento , password change-with-strong-password e il server database si trova sullo stesso host del server web. en_US , inglese americano come lingua predefinita. Dollari USD come valuta di default. America/Chicago come fuso orario.
Puoi trovare tutte le opzioni di installazione qui.

Passare alla directory Magento ~/public_html :

cd ~/public_html

Eseguire il comando seguente per avviare l'installazione:

php bin/magento setup:install --base-url=https://example.com/ \ --base-url-secure=https://example.com/ \ --admin-firstname="John" \ --admin-lastname="Doe" \ --admin-email="[email protected]" \ --admin-user="john" \ --admin-password="j0hnP4ssvv0rD" \ --db-name="magento" \ --db-host="localhost" \ --db-user="magento" \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1 \ --db-password="change-with-strong-password" Non dimenticare di cambiare la password ( j0hnP4ssvv0rD ) in qualcosa di più sicuro.

Il processo potrebbe richiedere alcuni minuti e una volta completato ti verrà presentato un messaggio che contiene l'URI al pannello di amministrazione di Magento.

: Magento installation complete.: Magento Admin URI: /admin_13nv5k Nothing to import.

Creazione del crontab di Magento

Magento utilizza cron job per pianificare attività come reindicizzazione, notifiche, sitemap, e-mail e altro.

Per creare il crontab Magento, eseguire il seguente comando come utente magento :

php ~/public_html/bin/magento cron:install

Crontab has been generated and saved

Verificare che crontab sia installato digitando:

crontab -l

#~ MAGENTO START adc062915d7b30804a2b340095af072d * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log #~ MAGENTO END adc062915d7b30804a2b340095af072d

Configurare Nginx

Ormai, dovresti già avere Nginx con certificato SSL installato sul tuo server Ubuntu, se non controlla i prerequisiti per questo tutorial.

Includeremo la configurazione predefinita di Nginx fornita con Magento.

Passa al tuo utente sudo, apri il tuo editor di testo e crea il seguente file:

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com

upstream fastcgi_backend { server unix:/var/run/php/php7.2-fpm-magento.sock; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; set $MAGE_ROOT /opt/magento/public_html; set $MAGE_MODE developer; # or production access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; include /opt/magento/public_html/nginx.conf.sample; } Non dimenticare di sostituire example.com con il tuo dominio Magento e impostare il percorso corretto per i file del certificato SSL. Gli snippet utilizzati in questa configurazione sono creati in questa guida.

Prima di riavviare il servizio Nginx, eseguire un test per accertarsi che non vi siano errori di sintassi:

sudo nginx -t

Se non ci sono errori, l'output dovrebbe apparire così:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Infine, riavvia il servizio Nginx digitando:

sudo systemctl restart nginx

Verifica dell'installazione

Apri il tuo browser, digita il tuo dominio e supponendo che l'installazione sia andata a buon fine, apparirà una schermata simile alla seguente:

Ora puoi accedere all'URI di amministrazione di Magento, accedere come utente amministratore e iniziare a personalizzare la tua nuova installazione di Magento.

Conclusione

Congratulazioni, hai installato con successo Magento 2.3 sul tuo server Ubuntu 18.04. Ora puoi iniziare a personalizzare il tuo negozio.

La documentazione per sviluppatori Magento 2.3 è un buon punto di partenza per saperne di più su come gestire l'installazione di Magento.

ubuntu magento mysql mariadb php nginx compositore e-commerce