Android

Hoe magento 2 op ubuntu 18.04 te installeren

How to install Magento 2 on Ubuntu 18 04 Complete Guide

How to install Magento 2 on Ubuntu 18 04 Complete Guide

Inhoudsopgave:

Anonim

Magento is een toonaangevend e-commerceplatform van ondernemingsklasse dat is gebouwd op open source-technologie en krachtige functies combineert met flexibiliteit en een gebruikersvriendelijke interface.

Met functies zoals boeiende winkelervaringen, flexibele modulaire architectuur en schaalbaarheid en prestaties op bedrijfsniveau Magento is een voorkeursplatform voor de meeste online verkopers.

In deze zelfstudie laten we u zien hoe u Magento 2.3 op een Ubuntu 18.04-machine kunt installeren. We gebruiken Nginx als webserver, de nieuwste PHP 7.2 en MySQL / MariaDB als databaseserver.

voorwaarden

Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan voordat u doorgaat met deze zelfstudie:

  • Zorg dat een domeinnaam verwijst naar het IP-adres van uw openbare server. We zullen example.com Nginx wordt op uw Ubuntu-server geïnstalleerd door deze instructies te volgen. Een SSL-certificaat is geïnstalleerd voor uw domein om gebruikersinformatie te coderen. U kunt een gratis Let's Encrypt SSL-certificaat installeren door deze instructies te volgen.

Om toegang te krijgen tot de Magento 2-coderepository moet u authenticatiesleutels genereren. Als u geen Magento Marketplace-account hebt, kunt u er hier een maken. Nadat u het account hebt gemaakt, raadpleegt u deze instructies voor het genereren van een nieuwe set verificatiesleutels.

Werk de systeempakketten bij naar de nieuwste versies en installeer het hulpprogramma Unzip:

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

MySQL-database maken

Als u MySQL of MariaDB op uw server hebt geïnstalleerd, kunt u deze stap overslaan. Als dit niet het geval is, kunt u het MySQL 5.7-serverpakket installeren vanuit de standaardrepository's van Ubuntu door het volgende te typen:

sudo apt install mysql-server mysql-client Voor nieuwe MySQL-installaties wordt het aanbevolen om de opdracht mysql_secure_installation voeren om de beveiliging van uw MySQL-server te verbeteren.

Meld u aan bij de MySQL-shell met de volgende opdracht:

sudo mysql

Voer vanuit de MySQL-shell de volgende SQL-instructie uit om een ​​nieuwe database met de naam magento :

CREATE DATABASE magento;

Maak vervolgens een MySQL-gebruikersaccount met de naam magento en verleen de benodigde machtigingen aan de gebruiker door de volgende opdracht uit te voeren:

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Zorg ervoor dat u change-with-strong-password met een sterk wachtwoord.

Als u klaar bent, verlaat u de MySQL-console door te typen:

EXIT;

Systeemgebruiker maken

Maak een nieuwe gebruiker en groep, die eigenaar van het Magento-bestandssysteem wordt, voor de eenvoud noemen we de gebruiker magento :

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

Voeg de www-data gebruiker toe aan de magento groep en wijzig de /opt/magento mapmachtigingen zodat de Nginx toegang heeft tot de Magento-installatie:

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

PHP installeren en configureren

PHP 7.2, de standaard PHP-versie in Ubuntu 18.04, wordt volledig ondersteund en aanbevolen voor Magento 2.3. Omdat we Nginx als webserver gaan gebruiken, installeren we ook het PHP-FPM-pakket.

Voer de volgende opdracht uit om PHP en alle vereiste PHP-modules te installeren:

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

De PHP-FPM-service wordt automatisch gestart nadat het installatieproces is voltooid. U kunt dit verifiëren door de servicestatus af te drukken:

sudo systemctl status php7.2-fpm

De uitvoer moet aangeven dat de fpm-service actief en actief is.

● 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

Stel de vereiste en aanbevolen PHP-opties in door het php.ini bestand te bewerken met 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

Vervolgens moeten we een FPM-pool maken voor de magento gebruiker.

Open uw teksteditor en maak het volgende bestand:

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 = /

Start de PHP-FPM-service opnieuw om de wijzigingen door te voeren:

systemctl restart php7.2-fpm

Controleer of de PHP-socket is gemaakt met de volgende opdracht ls:

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

De output zou er ongeveer zo uit moeten zien:

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

Composer installeren

Composer is een afhankelijkheidsbeheerder voor PHP en we zullen het gebruiken om de Magento-kern te downloaden en alle benodigde Magento-componenten te installeren.

Om Composer wereldwijd te installeren, downloadt u het Composer-installatieprogramma met curl en verplaatst u het bestand naar de map /usr/local/bin :

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

Controleer de installatie door de versie van de componist af te drukken:

composer --version

De output zou er ongeveer zo uit moeten zien:

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

Magento installeren

Er zijn verschillende manieren om Magento 2 te installeren. Vermijd het installeren van Magento vanuit de Github-repository omdat die versie bedoeld is voor ontwikkeling en niet voor productie-installaties.

Op het moment dat dit artikel werd geschreven, is de nieuwste stabiele versie van Magento versie 2.3.0 . In deze tutorial zullen we Magento vanuit hun repositories installeren met behulp van componist.

Schakel over naar de gebruiker magento door te typen:

sudo su - magento

Start de installatie door magento-bestanden te downloaden naar de map / opt / magento / public_html:

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

U wordt gevraagd om de toegangssleutels in te voeren, de sleutels van uw Magento Marketplace-account te kopiëren en op te slaan in het bestand auth.json , zodat u later bij het bijwerken van uw installatie niet dezelfde sleutels opnieuw hoeft toe te voegen.

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

De bovenstaande opdracht haalt alle vereiste PHP-pakketten op. Het proces kan enkele minuten duren en als het succesvol is, ziet het einde van de uitvoer er als volgt uit:

Writing lock file Generating autoload files

Zodra het project is gemaakt, kunnen we de Magento-installatie starten. We kunnen Magento installeren vanaf de opdrachtregel of met behulp van de webconfiguratiewizard. In deze zelfstudie installeren we Magento met behulp van de opdrachtregel.

We zullen de volgende opties gebruiken om de Magento-winkel te installeren:

  • Base en Base beveiligde URL's zijn ingesteld op https://example.com , wijzig dit met uw domein. Magento-beheerder:
    • John Doe als voor- en achternaam. [email protected] als e-mail. john als gebruikersnaam en j0hnP4ssvv0rD als wachtwoord.
    Databasenaam magento , gebruikersnaam magento , wachtwoord change-with-strong-password en de databaseserver bevindt zich op dezelfde host als de webserver. en_US , Amerikaans Engels als standaardtaal. USD dollars als standaard valuta. America/Chicago als een tijdzone.
U vindt hier alle installatie-opties.

Ga naar de map Magento ~/public_html :

cd ~/public_html

Voer de volgende opdracht uit om de installatie te starten:

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" Vergeet niet om het wachtwoord ( j0hnP4ssvv0rD ) te wijzigen in iets veiligers.

Het proces kan enkele minuten duren en na voltooiing krijgt u een bericht te zien met de URI naar het Magento-beheerdersdashboard.

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

Magento crontab maken

Magento gebruikt cron-taken om taken te plannen, zoals herindexeren, meldingen, sitemaps, e-mails en meer.

Om de Magento crontab te maken, voert u de volgende opdracht uit als magento gebruiker:

php ~/public_html/bin/magento cron:install

Crontab has been generated and saved

Controleer of de crontab is geïnstalleerd door te typen:

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

Nginx configureren

U zou nu al Nginx met SSL-certificaat op uw Ubuntu-server moeten hebben geïnstalleerd, zo niet, controleer dan de vereisten voor deze zelfstudie.

We gaan de standaard Nginx-configuratie opnemen die wordt meegeleverd met Magento.

Schakel over naar uw sudo-gebruiker, open uw teksteditor en maak het volgende bestand:

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; } Vergeet niet om example.com te vervangen door uw Magento-domein en het juiste pad naar de SSL-certificaatbestanden in te stellen. De fragmenten die in deze configuratie worden gebruikt, worden in deze handleiding gemaakt.

Voordat u de Nginx-service opnieuw start, moet u een test uitvoeren om er zeker van te zijn dat er geen syntaxisfouten zijn:

sudo nginx -t

Als er geen fouten zijn, ziet de uitvoer er als volgt uit:

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

Start ten slotte de Nginx-service opnieuw op door te typen:

sudo systemctl restart nginx

Installatie verifiëren

Open uw browser, typ uw domein en ervan uitgaande dat de installatie is geslaagd, verschijnt een scherm zoals het volgende:

U kunt nu naar de Magento Admin URI gaan, inloggen als de admin-gebruiker en beginnen met het aanpassen van uw nieuwe Magento-installatie.

Conclusie

Gefeliciteerd, u hebt Magento 2.3 op uw Ubuntu 18.04-server geïnstalleerd. U kunt nu beginnen met het aanpassen van uw winkel.

Magento 2.3 Developer Documentation is een goed startpunt voor meer informatie over het beheren van uw Magento-installatie.

ubuntu magento mysql mariadb php nginx componist e-commerce