Magento adalah platform e-niaga kelas perusahaan terkemuka yang dibangun di atas teknologi sumber terbuka yang menggabungkan fitur-fitur canggih dengan fleksibilitas dan antarmuka yang ramah pengguna.
Dengan fitur-fitur seperti Pengalaman Belanja yang Menarik, Arsitektur Modular Fleksibel, serta Skalabilitas dan Kinerja tingkat Perusahaan, Magento adalah platform pilihan bagi sebagian besar penjual online.
Dalam tutorial ini, kami akan menunjukkan cara menginstal Magento 2.3 pada mesin Ubuntu 18.04. Kami akan menggunakan Nginx sebagai server web, PHP 7.2 terbaru dan MySQL/MariaDB sebagai server database.
Prasyarat #
Pastikan Anda telah memenuhi prasyarat berikut sebelum melanjutkan tutorial ini:
- Memiliki nama domain yang menunjuk ke IP server publik Anda. Kami akan menggunakan
example.com
. - Nginx diinstal pada server Ubuntu Anda dengan mengikuti petunjuk berikut.
- Sertifikat SSL dipasang untuk domain Anda guna mengenkripsi informasi pengguna. Anda dapat memasang sertifikat SSL Let's Encrypt gratis dengan mengikuti petunjuk berikut.
Untuk dapat mengakses repositori kode Magento 2, Anda harus membuat kunci otentikasi. Jika Anda tidak memiliki akun Magento Marketplace, Anda dapat membuatnya di sini. Setelah Anda membuat akun, harap periksa petunjuk berikut tentang cara membuat set kunci autentikasi baru.
Perbarui paket sistem ke versi terbaru dan instal utilitas unzip:
sudo apt update && sudo apt upgrade
sudo apt install unzip
Membuat database MySQL #
Jika Anda telah menginstal MySQL atau MariaDB di server Anda, Anda dapat melewati langkah ini, jika tidak, Anda dapat menginstal paket server MySQL 5.7 dari repositori default Ubuntu dengan mengetik:
sudo apt install mysql-server mysql-client
Untuk instalasi MySQL baru, disarankan untuk menjalankan mysql_secure_installation
perintah untuk meningkatkan keamanan server MySQL Anda. Login ke shell MySQL menggunakan perintah berikut:
sudo mysql
Dari dalam shell MySQL, jalankan pernyataan SQL berikut untuk membuat database baru dengan nama magento
:
CREATE DATABASE magento;
Selanjutnya, buat akun pengguna MySQL dengan nama magento
dan berikan izin yang diperlukan kepada pengguna dengan menjalankan perintah berikut:
GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Pastikan Anda mengubah change-with-strong-password
dengan kata sandi yang kuat. Setelah selesai, keluar dari konsol MySQL dengan mengetik:
EXIT;
Membuat Pengguna Sistem #
Buat pengguna dan grup baru, yang akan menjadi pemilik sistem file Magento, untuk kesederhanaan kami akan memberi nama pengguna magento
:
sudo useradd -m -U -r -d /opt/magento magento
Tambahkan www-data
pengguna ke magento
grup dan ubah /opt/magento
izin direktorisehingga Nginx dapat mengakses instalasi Magento:
sudo usermod -a -G magento www-data
sudo chmod 750 /opt/magento
Instalasi dan Konfigurasi PHP #
PHP 7.2yang merupakan versi PHP default di Ubuntu 18.04 didukung penuh dan direkomendasikan untuk Magento 2.3. Karena kami akan menggunakan Nginx sebagai server web, kami juga akan menginstal paket PHP-FPM.
Jalankan perintah berikut untuk menginstal PHP dan semua modul PHP yang diperlukan:
sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap
Layanan PHP-FPM akan otomatis dimulai setelah proses instalasi selesai, Anda dapat memverifikasinya dengan mencetak status layanan:
sudo systemctl status php7.2-fpm
Outputnya harus menunjukkan bahwa layanan fpm aktif dan berjalan.
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago
Docs: man:php-fpm7.2(8)
Main PID: 16814 (php-fpm7.2)
Status: "Ready to handle connections"
Tasks: 3 (limit: 505)
CGroup: /system.slice/php7.2-fpm.service
Atur opsi PHP yang diperlukan dan direkomendasikan dengan mengedit php.ini
file dengan sed
::
sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini
Selanjutnya kita perlu membuat kumpulan FPM untuk magento
pengguna.
Buka editor teks Anda dan buat file berikut:
sudo nano /etc/php/7.2/fpm/pool.d/magento.conf
/etc/php/7.2/fpm/pool.d/magento.conf[magento]
user = magento
group = www-data
listen.owner = magento
listen.group = www-data
listen = /var/run/php/php7.2-fpm-magento.sock
pm = ondemand
pm.max_children = 50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /
Mulai ulang layanan PHP-FPM agar perubahan diterapkan:
systemctl restart php7.2-fpm
Verifikasi apakah soket PHP berhasil dibuat dengan menjalankan perintah ls berikut:
ls -al /var/run/php/php7.2-fpm-magento.sock
Outputnya akan terlihat seperti ini:
srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=
Menginstal Komposer #
Composer adalah manajer ketergantungan untuk PHP dan kami akan menggunakannya untuk mengunduh inti Magento dan menginstal semua komponen Magento yang diperlukan.
Untuk menginstal composerglobally, download installer Composer dengan curland pindahkan file ke /usr/local/bin
direktori:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Verifikasi instalasi dengan mencetak versi komposer:
composer --version
Outputnya akan terlihat seperti ini:
Composer version 1.8.0 2018-12-03 10:31:16
Menginstal Magento #
Ada beberapa cara untuk menginstal Magento 2. Hindari menginstal Magento dari repositori Github karena versi tersebut ditujukan untuk pengembangan dan bukan untuk instalasi produksi.
Pada saat artikel ini ditulis, versi stabil terbaru dari Magento adalah versi 2.3.0
. Dalam tutorial ini, kita akan menginstal Magento dari repositori mereka menggunakan composer.
Beralih ke penggunamagento
dengan mengetik:
sudo su - magento
Mulai penginstalan dengan mengunduh file magento ke direktori /opt/magento/public_html:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html
Anda akan diminta untuk memasukkan kunci akses, menyalin kunci dari akun pasar Magento Anda dan menyimpannya di auth.json
file, jadi nanti saat memperbarui instalasi Anda, Anda tidak perlu menambahkan kunci yang sama lagi.
Authentication required (repo.magento.com):
Username: e758ec1745d190320ca246e4e832e12c
Password:
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn] Y
Perintah di atas akan mengambil semua paket PHP yang diperlukan. Prosesnya mungkin memakan waktu beberapa menit dan jika berhasil, hasil akhir akan terlihat seperti berikut:
Writing lock file
Generating autoload files
Setelah proyek dibuat, kita dapat memulai instalasi Magento. Kita dapat menginstal Magento baik dari baris perintah atau menggunakan web Setup Wizard. Dalam tutorial ini, kita akan menginstal Magento menggunakan baris perintah.
Kami akan menggunakan opsi berikut untuk menginstal toko Magento:
- URL aman Basis dan Basis disetel ke
https://example.com
, ubah dengan domain Anda. - Administrator Magento:
John
Doe
sebagai nama depan dan belakang.[email protected]
sebagai email.john
sebagai nama pengguna danj0hnP4ssvv0rD
sebagai kata sandi.
- Nama basis data
magento
, nama penggunamagento
, sandichange-with-strong-password
dan server database berada di host yang sama dengan server web. en_US
, Bahasa Inggris AS sebagai bahasa default.USD
dolar sebagai mata uang default.America/Chicago
sebagai zona waktu.
Ubah ke ~/public_html
Magento direktori:
cd ~/public_html
Jalankan perintah berikut untuk memulai instalasi:
php bin/magento setup:install --base-url=https://example.com/ \
--base-url-secure=https://example.com/ \
--admin-firstname="John" \
--admin-lastname="Doe" \
--admin-email="[email protected]" \
--admin-user="john" \
--admin-password="j0hnP4ssvv0rD" \
--db-name="magento" \
--db-host="localhost" \
--db-user="magento" \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--db-password="change-with-strong-password"
Jangan lupa ganti passwordnya (j0hnP4ssvv0rD
) untuk sesuatu yang lebih aman. Prosesnya mungkin memakan waktu beberapa menit dan setelah selesai, Anda akan melihat pesan yang berisi URI ke dasbor admin Magento.
[Progress: 773 / 773]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_13nv5k
Nothing to import.
Membuat crontab Magento #
Magento menggunakan tugas cron untuk menjadwalkan tugas seperti pengindeksan ulang, notifikasi, peta situs, email, dan lainnya.
Untuk membuat crontab Magento jalankan perintah berikut sebagai magento
pengguna:
php ~/public_html/bin/magento cron:install
Crontab has been generated and saved
Verifikasi bahwa crontab diinstal dengan mengetik:
crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
* * * * * /usr/bin/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d
Mengonfigurasi Nginx #
Sekarang, Anda seharusnya sudah menginstal Nginx dengan sertifikat SSL di server Ubuntu Anda, jika belum periksa prasyarat untuk tutorial ini.
Kami akan menyertakan konfigurasi Nginx default yang dikirimkan bersama Magento.
Beralih ke pengguna sudo Anda, buka editor teks Anda dan buat file berikut:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.comupstream fastcgi_backend {
server unix:/var/run/php/php7.2-fpm-magento.sock;
}
server {
listen 80;
server_name example.com www.example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
set $MAGE_ROOT /opt/magento/public_html;
set $MAGE_MODE developer; # or production
access_log /var/log/nginx/example.com-access.log;
error_log /var/log/nginx/example.com-error.log;
include /opt/magento/public_html/nginx.conf.sample;
}
Jangan lupa untuk mengganti example.com dengan domain Magento Anda dan atur jalur yang benar ke file sertifikat SSL. Cuplikan yang digunakan dalam konfigurasi ini dibuat dalam panduan ini. Sebelum memulai ulang layanan Nginx, lakukan tes untuk memastikan tidak ada kesalahan sintaks:
sudo nginx -t
Jika tidak ada kesalahan, outputnya akan terlihat seperti ini:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Terakhir, restart layanan Nginx dengan mengetik:
sudo systemctl restart nginx
Memverifikasi Instalasi #
Buka browser Anda, ketik domain Anda dan dengan asumsi instalasi berhasil, layar yang mirip dengan berikut akan muncul:
Sekarang Anda dapat masuk ke URI Admin Magento, masuk sebagai pengguna admin dan mulai menyesuaikan instalasi Magento baru Anda.