Hoe je Magento 2 op CentOS 7 kunt installeren

Geschatte leestijd: 4 min

Introductie

Magento is een populaire open-source e-commerce webshop applicatie. Het is geschreven in PHP en maakt gebruik van MySQL / MariaDB database server. Het is volledig aanpasbaar, je kunt zeer eenvoudig het design, functionaliteit en content van jouw webshop aanpassen. Verder wordt je voorzien van duizenden plugins en installaties. Bovendien is Magento zeer veilig en volledig SEO-ready. 

In deze tutorial zullen we Magento 2.3 installeren met Apache webserver, PHP 7.2 en MariaDB 10.3.

Vereisten

  • Een Cloud VPS of Dedicated server met minimaal 4GB RAM en CentOS 7
  • Je moet ingelogd zijn via SSH als sudo of root gebruiker. In deze tutorial gaan we ervan uit dat je bent ingelogd als sudo gebruiker.
  • Een domeinnaam die verwijst naar jouw  VPS of Dedicated server. In deze tutorial gebruiken we example.com. Zorg ervoor dat je example.com vervangt met je eigen domeinnaam.

Stap 1: Systeem updaten

Begin eerst met het updaten van jouw systeem. Installeer de laatste pakketten en beveiligingspatches door de onderstaande commando’s uit te voeren.

sudo yum -y update

Stap 2: Installeer Apache Web Server

Voer het onderstaande commando uit om Apache webserver te installeren.

sudo yum -y install httpd

Start de Apache webserver en zorg ervoor dat het automatisch start tijdens het bootproces door de onderstaande commando’s uit te voeren:

sudo systemctl start httpd
sudo systemctl enable httpd

Sta toe dat poort 80 bereikt kan worden door de firewall. Voer hiervoor het onderstaande commando uit:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

Herlaad de firewall om de nieuwe instelling van kracht te laten worden.

sudo firewall-cmd --reload
sudo sed -i 's/enforcing/disabled/g' /etc/selinux/config /etc/selinux/config
sudo setenforce 0

Je kunt nu example.com vanuit jouw browser bezoeken om de standaard Apache webpagina te bekijken.

Stap 3: Installeer PHP 7.2

Magento 2 is compatibel met PHP versie 7.1.x en PHP versie 7.2.x. In deze tutorial zullen we PHP 7.2.x installeren met behulp van de IUS community repository.

Voer het onderstaande commando uit om de IUS repository in te stellen op jouw systeem.

curl https://setup.ius.io | sudo bash

Installeer PHP 7.2 samen met alle vereiste PHP-modules door het onderstaande commando uit te voeren:

sudo yum -y install php72u php72u-pdo php72u-opcache php72u-xml php72u-gd php72u-devel php72u-intl php72u-mbstring php72u-json php72u-iconv php72u-mysqlnd php72u-fpm php72u-bcmath php72u-soap unzip

PHP is nu geinstalleerd op jouw server.

Stap 4: Installeer MariaDB Server

Creëer de MariaDB 10.3 repository bestand in het systeem door het onderstaande commando uit te voeren:

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

Installeer nu de MariaDB server.

sudo yum -y install MariaDB-server MariaDB-client

Start de database server en zorg ervoor dat het automatisch start tijdens het bootproces.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Stel een root wachtwoord in en beveilig de MariaDB instance door het onderstaande commando uit te voeren:

sudo mysql_secure_installation

Stap 5: Creëer een Database voor Magento

Log in op jouw MariaDB instance als root gebruiker door het onderstaande commando uit te voeren:

mysql -u root -p

Voer de volgende query’s uit om MySQL-gebruiker en -database voor Magento te maken. Zorg ervoor dat je de voorbeeldwaarden wijzigt met de werkelijke waarden. Noteer de inloggegevens, omdat er deze later tijdens de installatie nodig hebben.

CREATE DATABASE magento_data;
GRANT ALL ON magento_data.* TO magento@localhost IDENTIFIED BY 'Strong-Password';
FLUSH PRIVILEGES;

Stap 6: Installeer Composer

Composer is een dependency management tool voor PHP-projecten. Download composer install script door het onderstaande commando uit te voeren:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Installeer nu de composer door het onderstaande commando uit te voeren:

sudo php composer-setup.php --install-dir=/usr/bin/ --filename=composer

Stap 7: Ontvang de Gratis toegangssleutel van Magento Site

Om Magento te kunnen installeren met behulp van composer hebben we toegangssleutels van Magento nodig. Mel je aan of log in op Magento Marketplace en navigeer naar My Profile >> Access Keys in de Marketplace tab.

magento-marketplace

Klik nu op  ‘Create a New Access Key” om een nieuwe toegangssleutel te genereren.

magento-access-key
Noteer de toegangssleutel voor toekomstige verwijzingen, omdat we dit later nodig hebben in deze tutorial.

Stap 8: Creëer een Magento Project met behulp van Composer

Schakel over naar de web root directory van jouw server en creeer een Magento project door het onderstaande commando uit te voeren:

cd /var/www
sudo composer create-project --repository=https://repo.magento.com/ magento/project-community-edition magento

Je wordt gevraagd om een wachtwoord en gebruikersnaam op te geven. Geberuik de public sleutel als gebruikersnaam en de privé sleutel als wachtwoord. Het zal enige tijd duren voordat de Composer alle vereiste dependencies downloadt en installeert.

Wijzig de bestandsrechten.

cd /var/www/magento
sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
sudo find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
sudo chmod u+x bin/magento

Geef de ownership van de bestanden aan de Apache gebruiker.

sudo chown -R apache:apache /var/www/magento

Stap 9: Creëer Apache Vhost voor Magento

Creëer een nieuw virtual host file voor Magento door het onderstaande commando uit te voeren:

sudo vi /etc/httpd/conf.d/magento.conf

Plaats de volgende configuratie in de editor. Zorg ervoor dat je example.com vervangt met je daadwerkelijke domeinnaam.

<VirtualHost *:80>
        ServerName example.com
        DocumentRoot /var/www/magento
        ErrorLog /var/log/httpd/magento_error.log
        CustomLog /var/log/httpd/magento_access.log combined

        <Directory /var/www/magento >
                Options FollowSymLinks
                AllowOverride All
        </Directory>
</VirtualHost>

Herstart de Apache web server zodat de wijzingingen van kracht gaan.

sudo systemctl restart httpd

Stap 10: Installeer Magento via Web Installer

Open http://example.com in je browser, als het goed zie je nu dat je de algemende voorwaarden van Magento moet accepteren. Nadat je akkoord bent gegaan met de algemene voorwaarden wordt je nu doorverwezen naar een multi-step installer.

  • Gereedheidscontrole: Deze stap controleert of jouw server correct is geconfigureerd om Magento te installeren. Als je de tutorial correct hebt gevolgd, zou je nu groen moeten zien in de gereedheidscontrole.
  • Database toevoegen: Voeg de database informatie toe die je in stap 5 van de tutorial hebt gemaakt.
  • Webconfiguratie: Kies jouw shopadres en admin-paneel-adres. Je kunt een willekeurig adres kiezen (niet-te-raden)  voor jouw adminpaneel. Zorg ervoor dat het wel sterk is zodat het beveiligd is tegen aanvallen.
  • Pas jouw shop aan: Kies de standaardtaal, tijdzone en valuta voor jouw webshop.
  • Creëer een Admin Account: Geef hier de administrator informatie op.
  • Installeer: Klik op de installeer knop. Installeer vervolgens Magento met de door jouw gekozen configuratie

Zodra de installatie klaar is kun je teruggaan naar http://example.com om jouw webshop te zien.

Conclusie

In deze tutorial hebben we een functionele e-commerce webshop geïnstalleerd die volledig aangepast kan worden. Log in op het admin-paneel van jouw shop om alle instellingen te ontdekken. We raden je aan om een SSL voor jouw webshop te installeren, dit kun je doen via deze tutorial.

Was dit artikel nuttig?
Niet leuk 0
Weergaven: 374

Reader Interactions

Comments

  1. Gijs Thiessens says

    Goedendag,
    Helaas kom ik niet verder bij het creëren van het magento-project. Hij creëert het in eerst instantie wel, maar na updating dependencies wordt hij geëlimineerd. Er zit wel een composer.jason in de map /var/www/magento

    Wat gaat hier niet goed?

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *