GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal dan Mengonfigurasi Magento 2 di Ubuntu 18.04

Magento 2 adalah penerus platform eCommerce sumber terbuka yang kuat, Magento, yang tersedia di distribusi Linux Anda. Tutorial ini akan memberikan langkah-langkah untuk menginstal Magento 2 dengan Nginx di Ubuntu 18.04. Software ini ditulis dalam PHP dan menggunakan MySQL atau MariaDB untuk database yang berarti konfigurasi dapat dilakukan dengan LEMP.

Magento 2 adalah peningkatan terbaru dari Magento yang menawarkan beberapa peningkatan seperti

  • baik frontend maupun backend, satu untuk administrasi dan satu lagi untuk pelanggan toko
  • fleksibilitas dan dukungan penuh
  • kecepatan situs dan plugin terintegrasi...

Diagram database Magento 2 berbeda dengan Magento 1. Beberapa tabel telah diganti namanya atau diubah dari Magento 1 ke Magento 2

  • core_website - store_website (struktur diubah)
  • core_store - toko (struktur tidak berubah)
  • core_translate - terjemahan
  • core_url_rewrite - url_rewrite
  • core_store_group - store_group (struktur tidak diubah)
  • core_email_template - email_template
  • admin_role - otorisasi_role (struktur diubah)
  • admin_rule - otorisasi_rule (struktur diubah)
  • pesanan_flat_penjualan - pesanan_penjualan
  • alamat_data_penjualan - alamat_pesanan_penjualan
  • kotak_datar_penjualan - kotak_pesanan_penjualan
  • penjualan_flat_pesanan_item - penjualan_pesanan_item
  • penjualan_flat_pesanan_pembayaran - pembayaran_pesanan_penjualan
  • penjualan_flat_order_status_history - penjualan_order_status_history
  • kupon_aggregasi_pesanan - salesrule_kupon_aggregasi_pesanan

Magento tampaknya tidak sepenuhnya kompatibel dengan php 7.2 yang merupakan default yang diinstal pada Ubuntu 18.04. Ada komunitas magento di GitHub tempat mereka mencoba mengimplementasikan dukungan php-7.2 di Magento.

Anda dapat di bawah versi php yang berbeda sebenarnya kompatibel dengan magento 2. Anda dapat melihat persyaratan lainnya di situs resmi magento

1) Instal prasyarat

Dalam tutorial kami, kami akan menginstal Magento 2 dengan Nginx di Ubuntu 18.04 dan kami akan menggunakan database MySQL. Ini berarti Anda harus menjalankan server LEMP di server Anda. Magento memerlukan beberapa ekstensi PHP yang perlu Anda instal

  • bc-matematika
  • ketik
  • ikal
  • dom
  • gd, ImageMagick 6.3.7 (atau lebih baru) atau keduanya
  • intl
  • mbstring
  • mcrypt
  • hash
  • openssl
  • PDO/MySQL
  • XML Sederhana
  • sabun
  • spl
  • libxml
  • xsl
  • zip
  • json
  • ikon

Anda harus memiliki software-properties-common paket yang sudah ada di Ubuntu 18.04 dan ondrej/php repositori yang akan kita tambahkan

# add-apt-repository ppa:ondrej/php -y

Sekarang instal php 7.1 dengan dependensi

# apt install php7.1-fpm php7.1-mcrypt php7.1-curl php7.1-cli php7.1-mysql php7.1-gd php7.1-xsl php7.1-json php7.1-intl php-pear php7.1-dev php7.1-common php7.1-mbstring php7.1-zip php7.1-soap php7.1-bcmath
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  autoconf automake autopoint autotools-dev binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-7 debhelper dh-autoreconf
  dh-php dh-strip-nondeterminism dpkg-dev fakeroot g++ g++-7 gcc gcc-7
...
...

Harap dicatat bahwa jika Anda tidak menginstal semua dependensi php ini, Anda akan diblokir pada langkah selanjutnya dari tutorial kami.

Kemudian edit baris file /etc/php/7.1/fpm/php.ini untuk memiliki sesuatu seperti di bawah ini dan pastikan untuk menyesuaikan nilainya dengan milik Anda

# vim /etc/php/7.1/fpm/php.ini
file_uploads = On
upload_max_filesize = 150M
memory_limit = 256M
cgi.fix_pathinfo=0
date.timezone = Cameroon/Douala

Mulai ulang php 7.1-fpm

# systemctl restart php7.1-fpm

2) Buat database Magento 2

Sekarang kita harus terhubung ke database MySQL untuk membuat database untuk Magento

# mysql -u root -p
Enter password:

Kemudian buat database magento, pengguna dan berikan hak istimewa

mysql> CREATE DATABASE magentodb;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'magentodb-password';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'magentodb-password';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

3) Unduh dan konfigurasikan Magento 2

Tutorial ini akan menunjukkan penginstalan Magento 2.2.5 yang sebenarnya merupakan versi rilis terbaru yang tersedia. Kami akan mengunduhnya langsung dari repositori resmi GitHub Magento

# wget https://github.com/magento/magento2/archive/2.2.5.tar.gz
--2018-07-13 08:24:37-- https://github.com/magento/magento2/archive/2.2.5.tar.gz
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113
Connecting to github.com (github.com)|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
...
...

Sekarang buka kompresnya

# tar xvf 2.2.5.tar.gz

Kemudian pindahkan ke folder root server nginx Anda

# mv magento2-2.2.5/ /var/www/html/magento

Pastikan untuk memperbarui izin menggunakan perintah chmod dan kepemilikan menggunakan perintah chown seperti yang ditunjukkan di bawah ini:

# chown -R www-data:www-data /var/www/html/ && chmod -R 755 /var/www/html/

Anda juga dapat membutuhkan komposer jika Anda berencana untuk mengembangkan ekstensi Magento. Anda juga akan membutuhkannya jika ingin berkontribusi pada basis kode Magento 2.

# apt install composer -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
jsonlint php-cli-prompt php-composer-ca-bundle 
....
....

Kemudian centang

# composer -V
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Composer 1.6.3 2018-01-31 16:28:17

Sekarang kita dapat menginstal komponen magento dengan composer. Ini hanya dapat dilakukan jika Anda telah menginstal semua persyaratan php

# cd /var/www/html/magento/ && composer install -v
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Dependency resolution completed in 0.001 seconds
Analyzed 177 packages to resolve dependencies
Analyzed 482 rules to resolve dependencies
Package operations: 117 installs, 0 updates, 0 removals
Installs: magento/magento-composer-installer:0.1.13, braintree/braintree_php:3.28.0, colinmollenhour/cache-backend-file:1.4, colinmollenhour/cache-bac
kend-redis:1.10.4, colinmollenhour/credis:1.8.2
...
...

4) Konfigurasikan nginx untuk magento

Sekarang kita akan mengkonfigurasi Nginx untuk Magento. Periksa lokasi soket PHP yang akan terhubung dengan Nginx. Jadi Daftar isi direktori /var/run/php/

# ls /var/run/php/
php7.1-fpm.pid php7.1-fpm.sock

Sekarang edit file konfigurasi

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

upstream fastcgi_backend {
        server unix:/var/run/php/php7.1-fpm.sock;
}       
        
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        server_name www.mywebstore.com;

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

Anda dapat menyimpan konfigurasi, keluar dan mengaktifkan virtual host dengan membuat link simbolik seperti di bawah ini

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

Untuk menghindari beberapa kesalahan tentang host virtual default yang akan digunakan, pastikan untuk mengedit blok server dari konfigurasi default nginx /etc/nginx/sites-available/default untuk menghapus default_server sebutkan seperti di bawah ini

#vim /etc/nginx/sites-available/default

server {
        listen 80;
        listen [::]:80;
        # your others line below
}

Jika Anda tidak melakukannya, Anda akan mendapatkan kesalahan seperti di bawah

[emerg] 2369#2369: a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/magento:22

menunjukkan bahwa dua host virtual telah dianggap sebagai host virtual default untuk digunakan. Periksa konfigurasinya

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Sekarang restart server nginx

# systemctl restart nginx

4) Selesaikan instalasi web wizard magento

Sekarang Anda dapat meluncurkan browser web Anda untuk melanjutkan instalasi Magento http://www.yourwebstore.com lalu setuju

Periksa lingkungan php

Jika lingkungan Anda benar, semuanya akan berwarna hijau

Sekarang konfigurasikan database yang sudah dibuat dengan informasi yang digunakan sebelumnya dengan baris perintah mysql

Konfigurasikan akses web. Pastikan untuk menyimpan alamat admin magento. Anda dapat melihat opsi lanjutan

Sekarang pilih mata uang, bahasa dan zona waktu yang akan digunakan oleh toko Anda

Anda dapat melihat opsi lanjutan yang menunjukkan modul yang akan diinstal

Konfigurasi akun admin

Sekarang instalasi dapat dimulai

Sekarang Anda dapat melihat ringkasan konfigurasi. Jangan lupa tentang sebutan penting di halaman ini untuk alasan keamanan

Sekarang Anda akan melihat halaman login. Masukkan parameter admin Anda yang dibuat sebelumnya

Anda dapat melihat halaman beranda dasbor toko web magento Anda. Jangan ragu untuk menelusuri setiap fitur yang disediakan oleh magento2

Anda dapat membuka halaman beranda toko web Anda. Ini adalah halaman untuk klien

Anda dapat menghadapi beberapa kesalahan selama proses, kami akan membahas kemungkinan kesalahan yang dapat terjadi.

5) Perbaiki beberapa kemungkinan kesalahan

Selama proses tersebut, Anda dapat menghadapi beberapa masalah yang dapat menghentikan penginstalan Magento 2. Jadi kami telah mencantumkan beberapa kesalahan dengan perbaikan yang dapat diterapkan

php FastCGI ditolak

Anda dapat memiliki izin yang ditolak karena file konfigurasi nginx default Magento 2 tidak dapat berfungsi. Dengan memeriksa log nginx Anda, Anda dapat melihat kesalahan di bawah ini

Untuk mengatasinya, edit /var/www/html/magento/nginx.conf.sample /setup blok lokasi dengan menambahkan baris tertentu seperti di bawah ini

 # vim /var/www/html/magento/nginx.conf.sample

location ~* ^/setup($|/) {
    root $MAGE_ROOT;
    location ~ ^/setup/index.php {

        ### The only line to add is the one below:
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        ###################
        ## Don't change anything else in the file

Kemudian restart nginx. Anda dapat mengikuti utas di Magento Github tentang masalah itu jika Anda tidak dapat menjalankan Pengaturan Web di nginx

Satu atau lebih pengindeks tidak valid. Pastikan tugas cron Magento Anda berjalan

Saat mengakses panel admin untuk pertama kalinya, Anda dapat menerima pesan tentang indeks yang tidak valid dan tugas cron magento yang tidak berfungsi dengan baik seperti di bawah ini

Di sini Anda perlu mengindeks ulang semua pengindeksan yang tersedia di Magento 2. Untuk itu, buka direktori root proyek

# cd /var/www/html/magento

dan jalankan CLI magento

# php bin/magento indexer:reindex
Design Config Grid index has been rebuilt successfully in 00:00:00
Customer Grid index has been rebuilt successfully in 00:00:00
Category Products index has been rebuilt successfully in 00:00:00
Product Categories index has been rebuilt successfully in 00:00:00
Catalog Rule Product index has been rebuilt successfully in 00:00:00
Product EAV index has been rebuilt successfully in 00:00:00
Stock index has been rebuilt successfully in 00:00:00
Product Price index has been rebuilt successfully in 00:00:00
Catalog Product Rule index has been rebuilt successfully in 00:00:00
Catalog Search index has been rebuilt successfully in 00:00:00

Sekarang untuk mengatur dan menjalankan cron untuk Magento 2, gunakan perintah

# php bin/magento cron:run
Ran jobs by schedule.

Jenis Cache tidak valid

Anda dapat menghadapi jenis cache yang tidak valid. Pesan akan muncul di bagian atas

Satu atau beberapa Jenis Cache tidak valid:Cache Halaman. Silakan buka Manajemen Cache dan segarkan jenis cache.
Alasan pembatalan cache blok dapat dari pembaruan produk, perubahan aturan harga katalog, dan juga ekstensi pihak ke-3. Beberapa cronjobs yang sedang berjalan juga dapat menyebabkan cache blok menjadi tidak valid. Resolusi ditunjukkan dalam pesan, buka system> cache management

Anda akan melihat semua jenis cache. Sekarang klik Siram M Cache agento

Baca Juga:

  • Cara Memasang LAMP Stack di Ubuntu 18.04
  • Cara Menginstal PhpMyAdmin dengan LAMP di Ubuntu 18.04

Anda memiliki langkah-langkah berbeda untuk memiliki Magento 2 fungsional di Ubuntu 18.04. Dukungan php-7.2 tampaknya belum siap tetapi komunitas magento sedang mengerjakan tujuan ini. Anda dapat memaksa mencoba untuk mengadaptasi Magento 2 dengan php-7.2 tetapi, ketika dukungan resmi sudah siap, tambalan Anda tidak lagi berfungsi.


Ubuntu
  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

  3. Cara Menginstal Magento 2 di Ubuntu 18.04

  1. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

  2. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 20.04

  3. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  1. Cara Menginstal dan Mengonfigurasi Askbot di Ubuntu 16.04

  2. Cara Menginstal dan Mengonfigurasi MongoDB di Ubuntu 14.04

  3. Cara menginstal dan mengkonfigurasi Solr 6 di Ubuntu 16.04