GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Magento 2 dengan Nginx dan Mengenkripsi SSL di Ubuntu 20.04 LTS

Magento adalah perangkat lunak e-commerce open source dan sistem manajemen konten yang banyak digunakan untuk situs web e-commerce berdasarkan PHP Zend Framework. Ini menggunakan MySQL atau MariaDB sebagai backend database. Pengembangan Magento dimulai pada tahun 2008 oleh Varien.

Dalam tutorial ini, kami akan menunjukkan kepada Anda langkah demi langkah cara menginstal Magento 2 pada versi terbaru Ubuntu 20.04. Kami akan menginstal Magento di bawah tumpukan LEMP, server web Nginx, PHP-FPM 7.3, dan server MariaDB.

Persyaratan

Untuk tutorial ini, kita akan menginstal Magento 2 di sistem Ubuntu 20.04 dengan RAM 2 GB, ruang disk kosong 50 GB, dan 2 CPU.

Apa yang akan kita lakukan?

  • Instal Server Web Nginx
  • Instal dan Konfigurasi PHP-FPM 7.3
  • Instal dan Konfigurasi Server MySQL
  • Instal Komposer PHP
  • Unduh dan Instal Magento
  • Buat SSL Letsencrypt
  • Siapkan Nginx Virtualhost untuk Magento
  • Pasca-Instalasi Magento

Langkah 1 - Instal Nginx Webserver

Pertama, kita akan menginstal server web Nginx ke sistem Ubuntu 20.04.

Instal Nginx menggunakan perintah apt di bawah ini.

sudo apt install nginx

Setelah semua instalasi selesai, mulai layanan Nginx dan tambahkan ke boot sistem.

systemctl start nginx
systemctl enable nginx

Setelah itu, periksa status layanan Nginx menggunakan perintah berikut.

systemctl status nginx

Server web Nginx aktif dan berjalan di Server Ubuntu 20.04.

Selanjutnya, kita akan membuka port HTTP dan HTTPS pada sistem Ubuntu kita.

Jalankan perintah ufw di bawah ini.

for svc in ssh http https
do
ufw allow $svc
done

Akibatnya, layanan SSH, HTTP, dan HTTPS telah ditambahkan ke aturan firewall ufw.

Sekarang jalankan aktifkan ufw firewall menggunakan perintah berikut.

ufw enable

Ketik 'y' dan tekan Enter, dan Anda telah mengaktifkan firewall ufw.

Langkah 2 - Instal dan Konfigurasi PHP-FPm 7.3

Setelah menginstal server web Nginx, kami akan menginstal PHP-FPM ke Server Ubuntu 20.04 kami.

Secara default, Ubuntu 20.04 hadir dengan versi terbaru PHP/PHP-FPM 7.4. Namun untuk saat ini, Magento hanya bekerja dengan PHP/PHP-FPM 7.3. Dan pada langkah ini, kita akan menginstal PHP-FPM 7.3 dari repositori PPA.

Sebelum melangkah lebih jauh, instal paket 'software-properties-common' dan tambahkan repositori PPA untuk PHP 7.3 menggunakan perintah berikut.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

'add-apt-repository' akan secara otomatis memperbarui semua repositori di sistem.

Sekarang instal paket PHP-FPM 7.3 dari repositori PPA menggunakan perintah apt di bawah ini.

sudo apt install php7.3-fpm php7.3-common php7.3-curl php7.3-cli php7.3-mysql php7.3-gd php7.3-xml php7.3-json php7.3-intl php-pear php7.3-dev php7.3-common php7.3-mbstring php7.3-zip php7.3-soap php7.3-bcmath php7.3-opcache -y

Dan instalasi PHP-FPM 7.3 telah selesai.

Setelah itu, masuk ke direktori '/etc/php/7.3' dan edit konfigurasi 'php.ini' untuk PHP-FPM.

cd /etc/php/7.3/
vim fpm/php.ini

Batalkan komentar dan ubah konfigurasi seperti di bawah ini.

date.timezone = Asia/Singapore
memory_limit = 1G
max_execution_time = 1800
zlib.output_compression = On
cgi.fix_pathinfo = 0

opcache.enable=1
opcache.save_comments = 1

Simpan dan tutup.

Selanjutnya, mulai layanan PHP-FPM dan tambahkan ke boot sistem.

systemctl start php7.3-fpm
systemctl enable php7.3-fpm

Layanan PHP-FPM aktif dan berjalan, periksa menggunakan perintah di bawah ini.

ss -xa | grep php
systemctl status php7.3-fpm

Akibatnya, PHP-FPM aktif dan berjalan di server Ubuntu 20.04, berjalan di bawah file kaus kaki '/run/php/php7.3-fpm.sock'.

Langkah 3 - Instal dan Konfigurasi Server MariaDB

Pada langkah ini, kita akan menginstal server database MariaDB, mengatur kata sandi root default untuk MariaDB, dan membuat database dan pengguna baru untuk Magento.

Instal paket MariaDB Server ke Ubuntu 20.04 menggunakan perintah apt di bawah ini.

sudo apt install mariadb-server

Setelah semua instalasi selesai, mulai layanan MariaDB dan tambahkan ke boot sistem.

systemctl start mariadb
systemctl enable mariadb

Layanan MariaDB aktif dan berjalan.

Selanjutnya, kita akan mengatur kata sandi root MariaDB menggunakan utilitas 'mysql_secure_installaltion'.

Jalankan perintah 'mysql_secure_installaltion' di bawah ini.

mysql_secure_installation

Ketikkan kata sandi Anda yang kuat untuk pengguna root MariaDB dan ketik 'Y' untuk semua konfigurasi.

Set a root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Hasilnya, kata sandi root MariaDB telah dikonfigurasi.

Selanjutnya, kita akan membuat database dan user baru untuk instalasi Magento.

Masuk ke shell MariaDB/MySQL menggunakan perintah mysql di bawah ini.

mysql -u root -p

Sekarang buat database baru untuk instalasi Magento kita. Buat database 'magentodb' dan pengguna 'magentouser' dengan kata sandi 'magentodbpass'.

Jalankan kueri MySQL di bawah ini.

create database magentodb;
create user [email protected]'localhost' identified by 'magentopassdb';
grant all privileges on magentodb.* to [email protected]'localhost';
flush privileges;

Sekarang ketik 'exit' untuk keluar dari shell MySQL.

Hasilnya, database dan pengguna baru untuk instalasi Magento telah selesai.

Langkah 4 - Instal Komposer

Komposer adalah manajer ketergantungan untuk PHP. ini adalah manajer paket tingkat aplikasi untuk PHP yang memungkinkan Anda mengunduh dependensi dan pustaka PHP tambahan ke proyek PHP Anda.

Pada langkah ini, kita akan menginstal PHP Composer dari repositori Ubuntu.

Instal Komposer menggunakan perintah apt di bawah ini.

sudo apt install composer -y

Setelah penginstalan selesai, periksa versi komposer di bawah ini.

composer --version

Di bawah ini adalah respons yang akan Anda dapatkan.

Composer 1.10.1 2020-03-13 20:34:27

Seperti yang dapat dilihat, Komposer 1.10 telah diinstal pada Server ubuntu 20.04.

Langkah 5 - Unduh dan Instal Magento 2

Pada langkah ini, kita akan mendownload dan menginstal Magento 2, dan semua paket PHP yang dibutuhkan menggunakan Composer.

Pertama, masuk ke direktori '/var/www/' dan unduh kode sumber Magento 2.3.5 CE (Edisi Komunitas) menggunakan perintah wget seperti di bawah ini.

cd /var/www/
wget -q https://github.com/magento/magento2/archive/2.3.5.tar.gz

Setelah semua selesai, ekstrak kode sumber Magento dan ubah nama direktori yang diekstraksi menjadi direktori 'magento2'.

tar -xf 2.3.5.tar.gz
mv magento2-*/ magento2/

Selanjutnya, masuk ke direktori instalasi Magento '/var/www/magento2' dan instal semua dependensi paket PHP untuk Magento menggunakan perintah Composer seperti di bawah ini.

cd /var/www/magento2/
composer install

Setelah semua instalasi selesai, perbaiki kepemilikan direktori instalasi Magento 2 kepada pengguna 'www-data'.

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

Hasilnya, instalasi Magento 2 dan semua dependensi paket telah selesai.

Langkah 6 - Buat SSL Letsencrypt

Untuk tutorial ini, kita akan mengamankan instalasi Magento 2 menggunakan SSL Letsencrypt. Dan pada langkah ini, kita akan membuat SSL Letsencrypt menggunakan perintah certbot. Juga, pastikan bahwa nama domain Anda diselesaikan ke alamat IP server.

Instal alat certbot menggunakan perintah apt di bawah ini.

sudo apt install certbot

Setelah penginstalan selesai, hentikan layanan Nginx.

systemctl stop nginx
certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d magento.hakase-labs.io

Setelah semua selesai, Anda akan mendapatkan sertifikat SSL di direktori '/etc/letsencrypt/live/magento.your-domain.com'.

Hasilnya, instalasi SSL Letsencrypt untuk Magento 2 telah dibuat.

Langkah 7 - Siapkan Nginx Virtualhost untuk Magento 2

Pada langkah ini, kita akan menambahkan konfigurasi virtualhost Nginx baru untuk Magento 2.

Buka direktori '/etc/nginx/sites-available/' dan buat konfigurasi baru 'magento' menggunakan editor vim.

cd /etc/nginx/sites-available/
vim magento

Rekatkan konfigurasi berikut ke dalamnya.

upstream fastcgi_backend {
        server  unix:/run/php/php7.3-fpm.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name magento.hakase-labs.io;
    return 301 https://$server_name$request_uri;
}

server {

        listen 443 ssl http2;
        server_name magento.hakase-labs.io;

        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.io/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.io/privkey.pem;

        set $MAGE_ROOT /var/www/magento2;
        set $MAGE_MODE developer;
        include /var/www/magento2/nginx.conf.sample;
}

Simpan dan tutup.

Selanjutnya, aktifkan virtualhost Magento Nginx dan uji konfigurasi nginx, dan pastikan tidak ada error.

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
nginx -t

Sekarang restart layanan Nginx menggunakan perintah berikut.

systemctl restart nginx

Hasilnya, konfigurasi virtual host Nginx untuk Magento 2 telah dibuat dan diaktifkan.

Langkah 8 - Pasca-Instalasi Magento

Buka browser web Anda dan ketik nama domain penginstalan Magento Anda di bilah alamat.

https://magento.hakase-labs.io/

Sekarang Anda akan diedit ke koneksi aman HTTPS dan Anda akan mendapatkan halaman selamat datang Magento dan Persyaratan Layanan.

Klik 'Setuju dan Siapkan Magento ' untuk melanjutkan.

Pada halaman 'Pemeriksaan kesiapan', pastikan semua persyaratan berwarna hijau dan klik tombol 'Berikutnya '.

Ketik detail database MariaDB dan pengguna yang kita buat di atas dan klik 'Berikutnya '.

Untuk 'Konfigurasi web', ubah semua protokol HTTP menjadi HTTPS, dan pastikan untuk mengubah 'Alamat Admin Magento'.

Sekarang klik 'Opsi Lanjutan' dan tandai semua opsi HTTPS, lalu hapus tanda opsi 'Apache Rewrites' dan klik 'Berikutnya ' lagi.

Selanjutnya, pada konfigurasi Magento 'Customize Your Store', biarkan sebagai default dan klik 'Next '.

Sekarang ketik rincian pengguna admin, email, dan kata sandi. Kemudian klik tombol Berikutnya tombol.

Klik 'Instal Sekarang' untuk menginstal toko Magento 2 Anda.

Sekarang buat semua instalasi tidak error.

Setelah semua instalasi selesai, Anda akan mendapatkan 'Success ' halaman seperti di bawah ini.

Klik 'Luncurkan Admin Magento ' untuk masuk ke Dasbor Admin Magento Anda.

Sekarang ketik pengguna dan kata sandi Admin Magento Anda, lalu klik tombol 'Masuk' dan Anda akan mendapatkan Dasbor Admin Magento seperti di bawah ini.

Untuk halaman indeks default Magento, buka tab baru dan ketik nama domain Anda di bilah alamat.

Di bawah ini adalah halaman indeks default Magento.

Hasilnya, instalasi Magento 2 telah selesai.

Selanjutnya, kembali ke shell server Anda dan kami akan menyiapkan Magento Cron dan menghapus izin untuk menulis beberapa direktori instalasi Magento.

Untuk menyiapkan cron Magento, jalankan perintah di bawah ini.

cd /var/www/magento2
sudo -u www-data php bin/magento cron:install --force

Cron Magento akan berjalan di bawah pengguna 'www-data', periksa menggunakan perintah berikut.

crontab -u www-data -l

Akibatnya, Magento Cron telah ditambahkan ke sistem.

Selanjutnya, kita perlu menghapus izin menulis dari direktori '/var/www/magento2/app/etc'.

Jalankan perintah chmod di bawah ini.

chmod u-w /var/www/magento2/app/etc

Dan akhirnya, instalasi Magento 2 dengan web server Nginx, server MariaDB, PHP-FPM 7.3 pada Ubuntu 20.04 terbaru telah berhasil diselesaikan.


Ubuntu
  1. Cara Menginstal Nextcloud dengan Nginx dan Lets Encrypt SSL di Ubuntu 20.04 LTS

  2. Cara Menginstal Magento 2 dengan Nginx dan Letsencrypt di Ubuntu 18.04

  3. Cara Menginstal Magento dengan Nginx di Ubuntu 16.04

  1. Cara Menginstal Shopware dengan NGINX dan Mari mengenkripsi di Ubuntu 18.04 LTS

  2. Instal Automad CMS dengan Nginx dan Lets Encrypt SSL di Ubuntu 18.04

  3. Cara Install Grav CMS dengan Nginx dan Lets Encrypt di Ubuntu 18.04 LTS

  1. Cara Menginstal X-Cart dengan Nginx dan Mengenkripsi SSL di Ubuntu 18.04 LTS

  2. Cara Menginstal Drupal dengan Nginx dan Mengenkripsi SSL di Ubuntu 20.04 LTS

  3. Cara menginstal Webmin dan mengamankannya dengan Lets Encrypt SSL di Ubuntu 20.04 LTS