GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara menginstal Magento 2.4.5 di Ubuntu 22.04

Magento adalah platform e-commerce open source yang ditulis dalam PHP. Magento termasuk dalam 3 platform e-niaga teratas dan salah satu yang terkemuka di industri e-niaga. Beberapa fitur dasar Magento adalah Manajemen produk, Manajemen inventaris, Manajemen pesanan, Pelaporan, dan lain-lain. Banyak organisasi besar memilih Magento sebagai platform e-niaga karena sangat dapat disesuaikan, terukur, dengan keamanan tingkat lanjut, dan ramah seo.

Dalam tutorial ini kami akan memandu Anda tentang cara menginstal Magento 2.4.5 di  Ubuntu 22.04.

Mari kita mulai.

1 Prasyarat

  • Ubuntu 22.04
  • Minimal 2 GB RAM atau Lebih Tinggi

2 Memperbarui sistem

Sebelum kita memulai instalasi, kita perlu memperbarui sistem kita.

sudo apt update -y && apt upgrade -y

3 Memasang ekstensi PHP dan PHP

Versi PHP yang diperlukan untuk Magento 2.4.5 adalah PHP 8.1. Dalam instalasi ini kita akan menggunakan repositori Ubuntu 22.04 untuk menginstal PHP 8.1 karena ini adalah set versi default. Mari kita instal PHP 8.1 dan ekstensi yang dibutuhkan oleh Magento.

sudo apt install php libapache2-mod-php php-bcmath php-curl php-fpm php-gd php-intl php-mbstring php-mysql php-soap php-xml php-xsl php-zip php-cli

Mari kita ubah beberapa nilai PHP yang diperlukan agar Magento berjalan dengan benar.

Mari kita periksa dulu lokasi file konfigurasi PHP.

sudo php --ini | grep "Loaded Configuration File"

Output:
Loaded Configuration File:         /etc/php/8.1/cli/php.i

Edit file konfigurasi PHP.

sudo nano /etc/php/8.1/cli/php.ini

Ubah file konfigurasi dengan nilai berikut.

memory_limit = 1G
upload_max_filesize = 128M
zlib.output_compression = on
max_execution_time = 18000
realpath_cache_size = 10M
realpath_cache_ttl = 7200

Simpan file konfigurasi dan keluar.

4 Instalasi dan Konfigurasi Database

Magento 2.4.5 mendukung MariaDB 10.4 atau MySQL 8. Dalam panduan ini kita akan menggunakan MySQL 8.0.

Mari kita instal MySQL.

sudo apt install mysql-server

Mari kita mengamankan instalasi MySQL tetapi sebelum itu kita perlu mengatur kata sandi root MySQL terlebih dahulu untuk menghindari masalah di bawah ini:

… Gagal! Kesalahan:SET PASSWORD tidak memiliki arti penting bagi pengguna 'root'@'localhost' karena metode autentikasi yang digunakan tidak menyimpan data autentikasi di server MySQL. Harap pertimbangkan untuk menggunakan ALTER USER sebagai gantinya jika Anda ingin mengubah parameter otentikasi .

Mari kita atur kata sandi root MySQL.

sudo mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mysecretpassword';
mysql> exit

Mari kita mengamankan instalasi MySQL.

sudo mysql_secure_installation

Output:
Securing the MySQL server deployment.

Enter password for user root:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 50
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

Mulai ulang layanan MySQL.

sudo systemctl restart mysql

Mari kita buat database untuk instance Magento kita.

sudo mysql -u root -p

Perintah tersebut akan meminta Anda untuk memasukkan kata sandi root MySQL.

Namun sebelum kita melanjutkan dalam membuat database mari kita ubah dulu password policy menjadi “RENDAH ” ini opsional jika Anda tidak ingin menggunakan kebijakan kata sandi yang ketat.

mysql> SET GLOBAL validate_password.policy = 0;
 

Mari kita buat database untuk Magento.

mysql> CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'mypassword';
mysql> GRANT ALL ON magento2.* TO 'magento_user'@'localhost';
mysql> flush privileges;
mysql> exit

5 Memasang Pencarian Elastis

Mulai Magento 2.4, semua penginstalan harus dikonfigurasi untuk menggunakan Elasticsearch.

Mari kita mulai instalasi Elasticsearch.

sudo apt install apt-transport-https ca-certificates gnupg2
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
sudo apt update
sudo apt install elasticsearch

Mulai dan aktifkan Elasticsearch.

sudo systemctl enable elasticsearch --now

Periksa statusnya.

sudo systemctl status elasticsearch

6 Memasang Komposer

Karena Magento berbasis PHP dan memerlukan berbagai jenis paket untuk dijalankan dan untuk menginstal paket yang diperlukan untuk menjalankan Magento, kita perlu menginstal pengelola paket yang disebut komposer.

Untuk menginstal komposer.

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

Periksa versinya.

sudo composer --version

Output:
Composer version 2.4.3 2022-10-14 16:56:41

7 Instalasi dan konfigurasi server web

Kami akan menyiapkan Magento di server web Nginx dan Apache.

Untuk Apache .

Instal terlebih dahulu server web Apache.

sudo apt install apache2

Mulai dan aktifkan Apache.

sudo systemctl enable apache2 --now

Sekarang siapkan host virtual.

sudo nano /etc/apache2/sites-available/magento.conf

Tambahkan konten di bawah ini.

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/magento2/pub
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/">
AllowOverride all
</Directory>
</VirtualHost>

Simpan file dan keluar.

Jangan lupa ubah domain.com ke domain Anda sendiri.

Mari kita aktifkan virtual host yang kita buat.

a2ensite magento.conf

Kemudian aktifkan modul mod_rewrite.

a2enmod rewrite

Kemudian restart Apache.

systemctl restart apache2

Untuk Nginx .

Mari kita instal Nginx terlebih dahulu.

sudo apt install nginx -y

Aktifkan dan mulai Nginx.

sudo systemctl enable nginx --now

Buat blok server.

sudo nano /etc/nginx/sites-available/magento.conf

Masukkan yang berikut ini:

upstream fastcgi_backend {
server unix:/run/php/php8.1-fpm.sock;
}

server {
server_name domain.com www.domain.com;
listen 80;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer; # for production change the developer to production

access_log /var/log/nginx/magento2-access.log;
error_log /var/log/nginx/magento2-error.log;

include /var/www/magento2/nginx.conf.sample;
}

Catatan: Jangan lupa untuk mengubah “domain.com “.

Simpan file dan keluar.

Mari kita aktifkan file konfigurasi Nginx (blok server).

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

Mulai ulang Nginx.

sudo systemctl restart nginx

8 Unduh dan Instal Magento 2.4.5

Untuk sebagian besar situasi, disarankan untuk menginstal Magento menggunakan Marketplace(https://marketplace.magento.com/) dengan membuat kunci akses.

Untuk membuat kunci akses, ikuti langkah-langkah di bawah ini.

  • Masuk Pertama ke akun Marketplace Anda
  • Buka Nama->Profil Saya
  • Buka Marketplace->Produk Saya->Kunci Akses
  • Di bawah tab Magento 2, klik “Buat Kunci Akses Baru
  • Pada popup masukkan nama apapun di textbox lalu klik OK.
  • Selesai dan Anda akan melihat Kunci Akses yang dihasilkan.

Mari kita instal Magento 2.4.5

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.5 /var/www/magento2

Ini akan meminta Anda dengan nama pengguna dan kata sandi dan nama pengguna dan kata sandi adalah kunci_publik dan kunci_pribadi masing-masing.

Username: YOUR_PUBLIC_KEY
Password: YOUR_PRIVATE_KEY

Setelah memasukkan informasi login, ia akan menanyakan apakah Anda ingin menyimpan kredensial di file lokal, cukup jawab dengan ya.

Do you want to store credentials for repo.magento.com in /root/.config/composer/auth.json ? [Yn] Y

Buka Magento direktori root.

cd /var/www/magento2/

Sekarang jalankan perintah instalasi Magento 2.

bin/magento setup:install \
--base-url=http://domain.com \
--db-host=localhost \
--db-name=magento2 \
--db-user=magento_user \
--db-password=mypassword \
--admin-firstname=admin \
--admin-lastname=admin \
[email protected] \
--admin-user=admin \
--admin-password=myadminpassword \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1

Catatan: Jangan lupa untuk mengubah nilainya (lihat teks tebal ) berdasarkan kumpulan nilai Anda sendiri.

Setelah proses instalasi, Anda akan melihat tautan admin untuk instance Magento 2.4.5 Anda.

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1lswn5
Nothing to import.

9 Atur Pekerjaan Cron dan izin

Magento menggunakan cron job untuk mengotomatisasi beberapa operasi. Untuk mengatur cron Magento, jalankan perintah ini.

sudo bin/magento cron:install

Sekarang mari kita perbaiki izin file dari direktori Magento kita.

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

Instance Magento Anda seharusnya sudah aktif dan berjalan sekarang.

Catatan: Jika Anda mengalami masalah saat masuk ke Instans Magento Anda, Anda perlu menonaktifkan otentikasi Dua faktor dengan menjalankan perintah di bawah ini:

sudo bin/magento module:disable Magento_TwoFactorAuth

Selamat Anda telah berhasil menginstal Magento 2.4.5  sekarang Anda dapat mengakses instance Magento di http://domain.com

10 Kesimpulan

Anda telah belajar dalam tutorial ini tentang cara menginstal Magento 2.4.5 menggunakan server web yang berbeda. Jika Anda menggunakan Ubuntu 22.04, Anda dapat memeriksa artikel kami di Magento 2.4.4.


Ubuntu
  1. Cara Menginstal PHP 8.0 di Ubuntu 20.04 / Ubuntu 18.04

  2. Cara Menginstal PHP 7.2 di Ubuntu 16.04

  3. Cara Menginstal PHP 7.3 di Ubuntu 16.04

  1. Cara Menginstal MySQL 8.0 di Ubuntu 18.04

  2. Cara Menginstal PHP di Ubuntu 18.04

  3. Cara Menginstal PHP di Ubuntu 20.04

  1. Cara Menginstal PHP 8.0 di Ubuntu 20.04

  2. Cara Menginstal Apache, MySQL, PHP di Ubuntu 18.04 LTS

  3. Cara Instal Apache, MySQL &PHP di Ubuntu 20.04