GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Magento 2 di Ubuntu 18.04

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 upgradesudo 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-datasudo 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.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.inisudo 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 dan j0hnP4ssvv0rD sebagai kata sandi.
  • Nama basis data magento , nama pengguna magento , sandi change-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.
Anda dapat menemukan semua opsi penginstalan di sini.

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.com
upstream 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.


Ubuntu
  1. Cara Menginstal Magento2 di Ubuntu 16.04

  2. Cara Menginstal PHP 7 di Ubuntu 14.04

  3. Cara Menginstal PHP 7 di Ubuntu 15.04

  1. Cara Menginstal R di Ubuntu 20.04

  2. Cara Menginstal PHP 7.4 / 7.3 / 7.2 di Ubuntu 18.04 / Ubuntu 16.04

  3. Cara Menginstal Magento di Ubuntu 18.04

  1. Cara Menginstal Go di Ubuntu 18.04

  2. Cara Menginstal Magento dengan Nginx di Ubuntu 16.04

  3. Cara menginstal Joomla 3.9 di Ubuntu 20.04