GNU/Linux >> Belajar Linux >  >> Panels >> Panels

Cara Menginstal Magento 2.4 dengan LEMP Stack di Ubuntu 20.04

Dalam panduan ini, kami akan menunjukkan cara menginstal Magento 2.4 dengan LEMP stack di Ubuntu 20.04 VPS.

Magento adalah salah satu platform eCommerce open-source paling populer yang tersedia, berkat penyesuaian dan fleksibilitasnya. Itu dibuat menggunakan Zend Framework dan menggunakan MySQL sebagai sistem manajemen basis datanya. Magento menyediakan keranjang belanja yang sangat fleksibel bagi pedagang online dan dilengkapi dengan serangkaian fitur yang kaya, menjadikannya pilihan yang sangat baik untuk bisnis yang ingin menyiapkan perhentian online tanpa kerumitan.

Menginstal Magento 2.4 dengan LEMP Stack di Ubuntu 20.04 membutuhkan waktu kurang dari 10 menit untuk menyelesaikannya. Mari kita mulai dengan tutorialnya.

Prasyarat

  • VPS Ubuntu 20.04 dengan akses root diaktifkan, atau pengguna dengan hak sudo
  • RAM 4 GB atau lebih tinggi
  • Nginx
  • MariaDB 10.4
  • Elasticsearch 7.6.x karena Magento 2.4 diuji dengan versi ini
  • PHP 7.4 dengan ekstensi bcmath, ctype, curl, dom, gd, hash, iconv, intl, libxml, mbstring, openssl, pdo_mysql, simplexml, soap, xsl, dan zip diaktifkan. Selain itu, untuk alasan kinerja, sebaiknya instal dan aktifkan ekstensi opcache.
  • Nama domain yang valid untuk mengakses situs web Magento 2. Selain itu, sertifikat SSL yang valid diperlukan untuk mengakses situs web menggunakan HTTPS.

Jika Anda belum menyiapkan tumpukan LEMP (Nginx, MariaDB, PHP), tidak masalah – kami juga akan membahas cara menginstalnya dalam tutorial ini.

Memulai

Pertama, kita harus masuk ke server menggunakan SSH. Anda dapat melakukannya dengan memasukkan perintah ini:

ssh root@IP_Address -p Port_number

Ganti "root" dengan pengguna yang memiliki hak sudo jika perlu. Selain itu, ganti “IP_Address” dan “Port_Number” dengan alamat IP dan nomor port SSH server Anda masing-masing.

Setelah Anda masuk, Anda harus memperbarui semua paket OS Ubuntu Anda ke versi terbaru yang tersedia.

apt-get update 
apt-get upgrade

Setelah semua paket OS diperbarui, mulai ulang server Anda jika diperlukan untuk menerapkan perubahan konfigurasi baru.

Instal LEMP dan Elasticsearch

LEMP adalah akronim yang menggambarkan OS Linux dengan Nginx, MySQL (atau MariaDB), dan PHP. Ini adalah kumpulan aplikasi dan server umum yang dapat memberikan dasar bagi banyak paket perangkat lunak. Mari instal LEMP di Ubuntu 20.04 VPS.

Instal Nginx

Jika sudah ada server web Apache yang terinstal di server, hentikan layanan Apache dan nonaktifkan dari mulai saat server boot:

systemctl stop apache2
systemctl disable apache2

Instal Nginx dengan perintah berikut:

apt-get install nginx

Itu saja yang perlu kita lakukan dengan Nginx untuk saat ini.

Instal MySQL

Selanjutnya kita akan menginstall database server MySQL, yang akan digunakan untuk menyimpan data-data website Magento kita, seperti produk, kategori, pelanggan, dan pesanan.
Untuk keperluan tutorial ini, kita akan menginstal dan menggunakan MariaDB. Untuk menginstal server database MariaDB, masukkan perintah berikut:

apt-get install software-properties-common

Kita perlu menambahkan kunci untuk menambahkan repositori MariaDB kita.

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Sekarang kita memiliki kuncinya, mari kita instal repositori:

add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.lstn.net/mariadb/repo/10.4/ubuntu bionic main'

Perbarui repositori APT Anda sehingga daftar paket dapat dibaca.

apt update

Akhirnya, kita dapat menginstal MariaDB.

apt install mariadb-server

Setelah MariaDB terinstal, aktifkan layanan MariaDB untuk memulai pada server boot:

systemctl enable mariadb.service

Periksa status layanan MariaDB:

systemctl status mariadb.service

Ini harus berjalan. Hanya itu yang perlu kita lakukan dengan MariaDB untuk saat ini.

Instal Elasticsearch

Beralih ke direktori tempat Anda dapat mengunduh file untuk sementara.

cd /opt

Ayo download file paket Elasticsearch.

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1-amd64.deb

Instal dengan menjalankan perintah berikut:

dpkg -i elasticsearch-7.6.1-amd64.deb

Mulai layanan Elasticsearch:

systemctl start elasticsearch

Periksa statusnya:

systemctl status elasticsearch

Periksa versi dan informasi lain tentang Elasticsearch:

curl -XGET 'http://localhost:9200'

Jika semuanya terlihat normal hingga saat ini, sekarang kita dapat menginstal PHP.

Instal PHP 7.4

Tambahkan PPA untuk PHP 7.4:

add-apt-repository ppa:ondrej/php

Selanjutnya, perbarui daftar paket OS dan instal PHP 7.4 dengan perintah berikut:

apt-get update
apt-get install php7.4

Instal semua ekstensi PHP yang diperlukan dengan perintah berikut:

apt install php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip php7.4-bcmath

Setelah ekstensi PHP diinstal di server, instal beberapa paket OS lain yang diperlukan untuk instalasi Magento 2:

apt-get install git curl software-properties-common

Selanjutnya, buka file konfigurasi PHP utama /etc/php/7.4/fpm/php.ini :

nano /etc/php/7.4/fpm/php.ini

Ubah setelan berikut:

file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
cgi.fix_pathinfo = 0
zlib.output_compression = On
upload_max_filesize = 128M
max_execution_time = 600
max_input_time = 900
date.timezone = America/Chicago

Simpan dan tutup file konfigurasi PHP.

Buat Database untuk Magento 2

Amankan instalasi MariaDB Anda dengan menggunakan mysql_secure_installation naskah. Skrip ini akan menghapus pengguna anonim, melarang login root dari jarak jauh, dan menghapus database pengujian.

mysql_secure_installation

Kami menyarankan Anda menjawab semua pertanyaan seperti yang ditunjukkan di bawah ini:

Enter current password for root (enter for none): Press [Enter] since no password is set by default
Set root password? [Y/n]: N (You can set a password if you like)
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

Selanjutnya, kita akan membuat user dan database MySQL untuk website Magento 2 kita. Masuk ke server MySQL Anda dengan perintah berikut dan masukkan kata sandi root MySQL Anda saat diminta:

mysql -u root -p

Untuk membuat database baru untuk instance Magento 2 kami, jalankan perintah berikut:

mysql> set global log_bin_trust_function_creators=1;
mysql> CREATE USER 'magento'@'localhost' IDENTIFIED WITH mysql_native_password BY 'strongPassword';
mysql> create database magentodb;
mysql> GRANT ALL PRIVILEGES ON magentodb.* TO 'magento'@'localhost';
mysql> flush privileges;
mysql> quit

Pastikan Anda memberikan magento Pengguna MariaDB kata sandi yang nyata dan kuat.

Instal Magento 2

Kita sekarang dapat melanjutkan dengan instalasi Magento 2. Pada saat artikel ini ditulis, versi stabil terbaru dari Magento adalah versi 2.4.

Pertama, buka repositori GitHub dan unduh versi terbaru Magento dengan perintah berikut:

mkdir -p /var/www/magento2/
cd /var/www/magento2/
git clone https://github.com/magento/magento2.git /var/www/magento2/

Selanjutnya, kita perlu menginstal Komposer untuk menginstal semua komponen Magento yang diperlukan. Anda dapat menginstal Komposer hanya dengan menjalankan perintah berikut:

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

Jalankan perintah berikut ini untuk mengonfigurasi komposer.

cd /var/www/magento2
composer install
bin/magento setup:install --base-url=http://yourdomain.com/ --db-host=localhost --db-name=magentodb --db-user=magento --db-password=strongPassword --admin-firstname=FirstName --admin-lastname=LastName [email protected] --admin-user=magentoadmin --admin-password=strong-password --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1

Jangan lupa untuk mengganti nama domain , sandi basis data , nama pengguna admin , sandi dan alamat email admin demikian.
Setelah instalasi selesai, Anda akan menerima output berikut:

[Progress: 699 / 701]
Post installation file permissions check...
For security, remove write permissions from these directories: '/var/www/magento2/app/etc'
[Progress: 700 / 701]
Write installation date...
[Progress: 701 / 701]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1k4pc0
Nothing to import.

Ingat 'URI Admin Magento'. Anda akan memerlukan info ini nanti karena itulah URL yang akan Anda gunakan untuk masuk ke back-end Magento.

Ubah kepemilikan magento2 direktori ke www-data dengan perintah berikut:

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

Buat File Konfigurasi Nginx

Buat file konfigurasi Nginx dengan editor teks Anda:

nano /etc/nginx/sites-available/magento2

Kemudian tambahkan yang berikut ini sebagai konten file:

upstream fastcgi_backend {
server unix:/run/php/php7.4-fpm.sock;
}
server {
server_name yourdomain.com;
listen 80;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer; # or production
access_log /var/log/nginx/magento2-access.log;
error_log /var/log/nginx/magento2-error.log;
include /var/www/magento2/nginx.conf.sample;
}

Pastikan Anda menyetel yourdomain.com ke nama domain terdaftar Anda.

Hapus file konfigurasi Nginx default, jika tidak digunakan:

rm -f /etc/nginx/sites-enabled/default

Aktifkan file konfigurasi Nginx yang baru dibuat, lalu uji konfigurasi Nginx dan pastikan tidak ada kesalahan:

ln -s /etc/nginx/sites-available/magento2 /etc/nginx/sites-enabled/magento2
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Itu dia! Server web Anda sekarang berhasil dikonfigurasi.

Instal Sertifikat SSL

Kami akan memasang sertifikat SSL gratis dari Let's Encrypt. Instal paket yang diperlukan dengan menjalankan perintah ini:

apt-get install certbot python3-certbot-nginx

Kemudian instal sertifikat SSL baru untuk nama domain Anda, pastikan bahwa yourdomain.com diatur ke nama domain terdaftar Anda:

certbot --nginx -d yourdomain.com -d www.yourdomain.com

Silakan pilih '2' dan pilih untuk mengalihkan lalu lintas HTTP ke HTTPS:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Gunakan perintah Magento 2 CLI berikut untuk memperbarui base-url Magento dan base-url-secure nilai:

cd /var/www/magento2/
php bin/magento setup:store-config:set --base-url="https://yourdomain.com/"
php bin/magento setup:store-config:set --base-url-secure="https://yourdomain.com/"

Edit file konfigurasi Nginx dan aktifkan HTTP/2:

nano /etc/nginx/sites-enabled/magento2

Ganti:

listen 443 ssl;

Dengan:

listen 443 ssl http2;

Mulai ulang layanan Nginx agar perubahan diterapkan:

systemctl restart cron.service

Instal Cron Job

Magento memerlukan konfigurasi cron job untuk banyak fungsi sistem yang penting. Mari kita buat tugas cron berikut:

crontab -u www-data -e

Tambahkan ini ke file:

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log

Simpan dan tutup file.

Mulai ulang layanan cron:

systemctl restart cron.service

Itu adalah segalanya! Magento 2 telah berhasil diinstal di server Anda.

Anda dapat mengakses front-end Magento di http://yourdomain.com :

Masuk ke back-end Magento 2 di http://yourdomain.com /URI Admin Magento , dan konfigurasikan Magento sesuai dengan kebutuhan Anda. Anda dapat memasang ekstensi, menambahkan produk, kategori, dan lainnya.

Menjadi semakin penting untuk memiliki kehadiran online di dunia digital saat ini. Anda tidak perlu menjadi ahli dalam administrasi sistem Linux saat menggunakan hosting Magento Terkelola kami – kami akan mengatur semuanya untuk Anda dan memeliharanya, semua disertakan dengan VPS kami. Kami bahkan dapat mengoptimalkan server Anda serta melakukan permintaan apa pun yang mungkin Anda miliki. Anda masih memiliki kendali penuh atas server Anda, tetapi Anda tidak perlu lagi repot lagi.

Kami harap tutorial ini membantu Anda menginstal Magento 2 di Ubuntu 20.04 VPS Anda. Jika ya, silakan pertimbangkan untuk membagikan pos ini di media sosial dengan pintasan berbagi kami, atau tinggalkan komentar di bawah dengan pertanyaan atau saran apa pun yang mungkin Anda miliki. Terima kasih.


Panels
  1. Cara Menginstal WordPress dengan LAMP Stack di Ubuntu 16.04

  2. Cara Menginstal MariaDB di Ubuntu 16.04

  3. Cara Menginstal LEMP di Ubuntu 18.04

  1. Cara Menginstal Magento di Ubuntu 18.04

  2. Cara Menginstal WordPress dengan LEMP Stack di Ubuntu 18.04

  3. Cara Menginstal WordPress dengan LAMP Stack di Ubuntu 20.04

  1. Cara Menginstal Nextcloud di Ubuntu 20.04

  2. Cara Menginstal WordPress dengan LEMP di Ubuntu 20.04

  3. Cara Menginstal Gitea di Ubuntu 20.04