Linux

Hoe Magento met Nginx op Debian 10 te installeren

 

In deze tutorial leggen we uit hoe je Magento 2.3.2 kunt installeren Debian 10 VPS met Nginx.

Magento is een open-source e-commerceplatform geschreven in de PHP-taal. Het is een krachtige en een van de meest populaire oplossingen voor door uzelf gehoste online winkels vanwege de eenvoud en gebruiksvriendelijkheid. Magento stelt ons in staat om een ​​volledig functioneel online winkelwagen systeem te hosten zonder enige programmeerkennis. Met Magento kunnen we ook de kernbestanden aanvullen en de functionaliteit van Magento uitbreiden door nieuwe modules toe te voegen. Magento wordt geleverd met een uitgebreide reeks functies, waaronder websitebeheer, SEO, orderbeheer, klantenservicetools, marketingtools, een kassasysteem en betalings- en verzendsystemen. Laten we beginnen met de installatie.

Vereisten:

  • A Debian 10 VPS met root-toegang ingeschakeld of een gebruiker met sudo-privileges.
  • Minimaal 2 GB RAM - We gebruiken ons SSD 2 VPS-abonnement.
  • PHP versie 7.1.3+ en PHP 7.2.x.
  • Een statisch IP-adres is geconfigureerd en toegewezen aan je VPS.

Stap 1: Log in via SSH en update pakketten

Log in op uw Debian 10 VPS met SSH als rootgebruiker:

ssh [email protected] IP_Address -p Poortnummer

Vervang "root" door een gebruiker die sudo-rechten heeft, indien nodig. Vervang bovendien "IP_Address" en "Port_Number" door het respectievelijke IP-adres en SSH-poortnummer van uw server.

Laten we er vervolgens voor zorgen dat we Debian 10 gebruiken. U kunt dat als volgt doen:

# lsb_release -a

Je zou dit als output moeten krijgen:

Distributeur-ID: Debian Beschrijving: Debian GNU / Linux 10 (buster) Release: 10 Codenaam: buster

Voer vervolgens de volgende opdracht uit om te controleren of alle geïnstalleerde pakketten op de server zijn bijgewerkt naar de nieuwste beschikbare versie:

# apt update && apt upgrade

Stap 2: installeer Nginx, MariaDB en PHP

Installeer Nginx, MariaDB en andere vereiste pakketten met de volgende opdracht:

apt-get installeer nginx mariadb-server git curl software-properties-common -y

Standaard wordt Debian 10 geleverd met PHP-versie 7.3. Maar Magento 2.3 ondersteunt PHP 7.3 niet. We moeten dus PHP 7.2 en andere vereiste extensies installeren.

Natuurlijk zal Magento uiteindelijk een versie uitbrengen die werkt met PHP 7.3. Als je Magento installeert met een versie die PHP 7.3 ondersteunt, dan moet je deze stap overslaan.

U kunt PHP 7.2 installeren vanuit de SURY-repository. Om SURY-repository toe te voegen, downloadt u eerst en GPG-sleutel met de volgende opdracht:

wget https://packages.sury.org/php/apt.gpg apt-key voeg apt.gpg toe

Voeg vervolgens de SURY-repository toe aan APT met de volgende opdracht:

echo "deb https://packages.sury.org/php/ $ (lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

Werk vervolgens de repository bij en installeer PHP 7.2 samen met alle vereiste extensies met de volgende opdrachten:

apt-get update -y apt-get install php7.2 php7.2-fpm php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2. 7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl php7.2-bcmath php7.2-imagick php7.2-xsl phpXNUMX-intl -y

Open vervolgens php.ini bestand en wijzig de standaard PHP-instellingen:

nano /etc/php/7.2/fpm/php.ini

Wijzig de volgende instellingen:

memory_limit = 256 M upload_max_filesize = 128 M zlib.output_compression = Aan max_execution_time = 15000 date.timezone = America / Chicago

Sla het bestand op en sluit het.

Stap 3: Maak een Magento-database

Beveilig uw MariaDB-installatie met behulp van de mysql_secure_installation script. Dit script zal anonieme gebruikers verwijderen, root-login op afstand verbieden en de testdatabase verwijderen.

mysql_secure_installation

U moet alle onderstaande vragen beantwoorden:

Voer het huidige wachtwoord in voor root (voer in voor geen): Druk op [Enter] aangezien er standaard geen wachtwoord is ingesteld. Stel root-wachtwoord in? [J / n]: N (optioneel) Anonieme gebruikers verwijderen? [Y / n]: Y Root-login op afstand niet toestaan? [J / n]: Y Testdatabase verwijderen en er toegang toe hebben? [J / n]: Y Privilege-tabellen opnieuw laden? [J / n]: Y

Nadat MariaDB is beveiligd, meldt u zich aan bij MariaDB-shell:

mysql -u root -p

Geef uw MariaDB-rootwachtwoord op wanneer daarom wordt gevraagd (als u er een instelt) en maak vervolgens een database en gebruiker voor Magento:

MariaDB [(geen)]> CREATE DATABASE magentodb; MariaDB [(geen)]> GEBRUIKER 'magentouser' @ 'localhost' MAKEN; MariaDB [(geen)]> STEL PASWOORD IN VOOR 'magentouser' @ 'localhost' = PASWOORD ('Str0n9PasSworD');

Zorg ervoor dat u een uniek wachtwoord gebruikt voor de databasegebruiker.

Verleen vervolgens alle rechten aan Magento Database met de volgende opdracht:

MariaDB [(geen)]> VERLEENT ALLES OP magentodb. * AAN 'magentouser' @ 'localhost' GEÏDENTIFICEERD DOOR 'Str0n9PasSworD' MET VERLENINGSOPTIE;

Spoel vervolgens de rechten en verlaat de MariaDB-shell met de volgende opdracht:

MariaDB [(geen)]> VOORRECHTEN VOOR SPOELEN; MariaDB [(geen)]> EXIT;

Als u klaar bent, kunt u doorgaan naar de volgende stap.

Stap 4: Magento downloaden

Op het moment van schrijven van dit artikel is de nieuwste stabiele versie van Magento versie 2.3.2.
Ga eerst naar de GitHub-repository en download de nieuwste versie van Magento met de volgende opdracht:

cd / var / www / html git-kloon https://github.com/magento/magento2.git

Controleer vervolgens de nieuwste versie van Magento met de volgende opdracht:

cd magento2 / git checkout 2.3.2

Vervolgens moeten we Composer installeren om alle benodigde Magento-componenten te installeren. U kunt Composer installeren door gewoon de volgende opdracht uit te voeren:

curl -sS https://getcomposer.org/installer | php - --install-dir = / usr / bin --bestandsnaam = componist

Installeer vervolgens alle door Magento vereiste PHP-afhankelijkheden met de volgende opdracht:

cd / var / www / html / magento2 composer-installatie

Zodra alle afhankelijkheden zonder fouten zijn geïnstalleerd, wijzigt u de eigendom van de magento2 map naar www-data met het volgende commando:

chown -R www-data: www-data / var / www / html / magento2 /

Stap 5: Configureer Nginx voor Magento

Vervolgens moeten we Nginx configureren voor de Magento-winkel. Maak eerst een nieuw Nginx-configuratiebestand voor virtuele hosts met de volgende opdracht:

nano /etc/nginx/sites-beschikbaar/magento.conf

Voeg vervolgens de volgende inhoud toe:

upstream fastcgi_backend {server-unix: /run/php/php7.2-fpm.sock; } server {luister 80; index index.php index.html index.htm; servernaam domeinnaam.com; stel $ MAGE_ROOT / var / www / html / magento2 in; set $ MAGE_MODE ontwikkelaar; omvatten /var/www/html/magento2/nginx.conf.sample; }

Zorg ervoor dat u domeinnaam.com vervangt door uw geregistreerde domeinnaam.

Sla het bestand op en sluit het. Controleer vervolgens Nginx op een syntaxisfout:

nginx -t

Je zou de volgende uitvoer moeten krijgen:

nginx: de syntaxis van het configuratiebestand /etc/nginx/nginx.conf is ok nginx: configuratiebestand /etc/nginx/nginx.conf test is geslaagd

Activeer vervolgens de virtuele Nginx-host met de volgende opdracht:

ln -s /etc/nginx/sites-available/magento.conf / etc / nginx / sites-enabled /

Start ten slotte de Nginx- en PHP-FPM-service opnieuw om alle configuratiewijzigingen toe te passen:

systemctl herstart nginx systemctl herstart php7.2-fpm

Stap 6: Open de Magento Web Installation Wizard

Open nu uw webbrowser en open de URL http://domain-name.com. U zou de Magento-installatiewizard moeten zien zoals hieronder getoond:

magento_install_1

Klik op de knop Akkoord en Magento instellen. U zou de Magento Readiness check-wizard moeten zien:

magento_install_2

Klik nu op Start Readiness Check om de juiste PHP-versie, PHP-extensies en bestandsrechten te controleren. Zodra de gereedheidscontrole is voltooid, ziet u de volgende pagina:

magento_install_3

Klik dan op de knop Volgende. U zou de databaseconfiguratiepagina moeten zien:

magento_install_4

Geef de Magento-databasegegevens op die we eerder hebben ingesteld en klik vervolgens op de knop Volgende. U zou de Magento Web-configuratiewizard moeten zien:

magento_install_5

Geef uw winkeladres en Magento-beheerdersadres op. Klik vervolgens op de knop Volgende. U zou de volgende pagina moeten zien:

magento_install_6

Selecteer nu uw tijdzone, valuta, taal en klik op de knop Volgende. U zou de Magento admin-installatiewizard moeten zien:

magento_install_7

Geef uw gebruikersnaam, wachtwoord en e-mailadres voor beheerders op en klik vervolgens op de knop Volgende. U zou de volgende pagina moeten zien:

magento_install_8

Klik ten slotte op de knop Nu installeren om de Magento-installatie te starten. Zodra de installatie is voltooid, ziet u de volgende pagina:

magento_install_9

Nadat Magento succesvol is geïnstalleerd, klikt u op de knop Magento Admin starten, u wordt doorgestuurd naar de Magento-beheerinterface:

magento_install_10

Geef uw Magento-gebruikersnaam en -wachtwoord op - klik op de knop Aanmelden. In het volgende scherm wordt u doorgestuurd naar het Magento-dashboard:

magento_install_11

Gefeliciteerd! De installatie is nu voltooid. Er moet echter nog één ding worden gedaan.

Stap 7: Configureer Cron Job For Magento

Er zijn veel configuraties en functies in Magento 2 die een cron-taak nodig hebben voor de goede werking van uw Magento. Lijst van de taken die door cron in Magento 2 worden afgehandeld zijn: nieuwsbrieven, herindexering, update van valutakoersen, waarschuwingen / meldingen, catalogusprijsregels en nog veel meer.

Voer de volgende opdracht uit met de om de Magento-crontab te maken www-data gebruiker zoals hieronder weergegeven:

cd / var / www / html / magento2 sudo -u www-data php bin / magento cron: installeren

U kunt nu de geïnstalleerde cron-taak zien met de volgende opdracht:

crontab -u www-data -l

Je zou de volgende uitvoer moeten krijgen:

# ~ MAGENTO START f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f * * * * * /usr/bin/php7.2 / var / www / html / magento2 / bin / magento cron: run 2> & 1 | grep -v "Ran jobs volgens planning" >> /var/www/html/magento2/var/log/magento.cron.log * * * * * /usr/bin/php7.2 / var / www / html / magento2 /update/cron.php >> /var/www/html/magento2/var/log/update.cron.log * * * * * /usr/bin/php7.2 / var / www / html / magento2 / bin / magento setup: cron: run >> /var/www/html/magento2/var/log/setup.cron.log # ~ MAGENTO END f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f

Dat is het. Je hebt Magento succesvol geïnstalleerd en geconfigureerd op een Debian 10 VPS met de Nginx web Server. U kunt nu binnen enkele minuten uw eigen online winkel hosten en beginnen met het aanpassen van uw winkel volgens uw vereisten.