GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Magento 2 dengan Nginx dan Letsencrypt di Ubuntu 18.04

Magento adalah perangkat lunak e-commerce Open Source dan sistem manajemen konten yang banyak digunakan untuk situs web e-commerce berdasarkan PHP Zend Framework. Ini menggunakan MySQL atau MariaDB sebagai backend database. Pengembangan Magento telah dimulai pada tahun 2008 oleh Varien.

Dalam tutorial ini, saya akan menunjukkan cara menginstal Magento 2 dengan Nginx, PHP 7.1 FPM, dan MySQL sebagai database. Saya akan menggunakan ubuntu 18.04 (Bionic Beaver) sebagai sistem operasi server. Jika Anda belum memiliki pengaturan server minimal, silakan lihat tutorial ini untuk mendapatkan pengaturan dasar yang tepat.

Prasyarat

  • Ubuntu 18.04
  • Memori RAM 2 GB atau lebih
  • Hak istimewa root

Apa yang akan kami lakukan

  1. Instal Nginx di Ubuntu 18.04
  2. Instal dan Konfigurasi PHP-FPM 7.1
  3. Instal dan Konfigurasi Server MySQL
  4. Instal dan Konfigurasi Magento 2
    1. Instal Komposer PHP
    2. Unduh Magento 2
    3. Instal Komponen Magento
    4. Buat SSL Letsencrypt
    5. Konfigurasi Nginx Virtual Host untuk Magento
    6. Pasca-Instalasi Magento
  5. Pengujian

Langkah 1 - Instal Nginx di Ubuntu 18.04 LTS

Dalam tutorial ini, kita akan menggunakan server web Nginx untuk instalasi Magento kita.

Masuk ke server, perbarui repositori, dan tingkatkan semua paket.

sudo apt update
sudo apt upgrade

Sekarang instal server web Nginx menggunakan perintah apt di bawah ini.

sudo apt install nginx -y

Setelah penginstalan selesai, mulai layanan Nginx dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start nginx
systemctl enable nginx

Web server Nginx sudah terinstall, cek dengan perintah netstat dan pastikan HTTP port 80 dalam keadaan 'LISTEN'. Cara lainnya adalah dengan menggunakan perintah curl seperti di bawah ini.

netstat -plntu
curl -I localhost

Langkah 2 - Instal dan Konfigurasi PHP-FPM 7.1

Setelah instalasi server web Nginx, kami akan menginstal PHP 7.1 di server karena Magento belum mendukung PHP 7.2. Kami akan menginstal PHP-FPM dengan semua ekstensi yang dibutuhkan oleh Magento 2.

Daftar ekstensi PHP yang diperlukan untuk instalasi Magento 2:

  • 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

Untuk panduan ini, kami akan menginstal paket PHP-FPM dari repositori PPA. Kami akan menggunakan repositori 'ondrej/php'.

Instal paket 'software-properties-common' dan tambahkan repositori 'ondrej/php' menggunakan perintah di bawah ini.

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y

Sekarang instal PHP-FPM 7.1 dengan semua ekstensi yang diperlukan.

sudo 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 -y

Setelah instalasi selesai, periksa versi PHP dan ekstensi yang diinstal menggunakan perintah PHP.

php -v
php -me

Selanjutnya, kita akan mengkonfigurasi file php.ini untuk PHP-FPM dan PHP-CLI.

Edit file php.ini menggunakan vim.

vim /etc/php/7.1/fpm/php.ini
vim /etc/php/7.1/cli/php.ini

Ubah nilai dari baris-baris tersebut seperti di bawah ini.

memory_limit = 512M
max_execution_time = 180
zlib.output_compression = On

Simpan dan keluar.

Sekarang restart layanan PHP-fpm dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl restart php7.1-fpm
systemctl enable php7.1-fpm

Instalasi dan konfigurasi PHP-FPM 7.1 telah selesai, periksa layanan menggunakan perintah netstat.

netstat -pl | grep php

Dan Anda akan mendapatkan file socks PHP-fpm seperti di bawah ini.

Langkah 3 - Instal dan Konfigurasi Server MySQL

Perangkat lunak Magento membutuhkan MySQL 5.6.x, dan Magento 2.1.2 atau yang lebih baru membutuhkan MySQL 5.7.x. Dalam tutorial ini, kita akan menginstal server MySQL 5.8 terbaru pada sistem Ubuntu 18.04.

Instal MySQL 5.8 menggunakan perintah apt di bawah ini.

sudo apt install mysql-server mysql-client -y

Setelah penginstalan selesai, jalankan layanan MySQL dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start mysql
systemctl enable mysql

Sekarang kita akan mengkonfigurasi kata sandi root MySQL menggunakan perintah 'mysql_secure_installation'.

mysql_secure_installation

Pada MySQL versi 5.8 ini terdapat peningkatan keamanan untuk kebijakan password MySQL. Anda harus memilih kebijakan sandi - 0 untuk kebijakan RENDAH, 1 untuk kebijakan SEDANG, dan 2 untuk kebijakan sandi KUAT.

Untuk panduan ini, kami akan menggunakan kebijakan sandi 'MENENGAH', dan disarankan untuk menggunakan kebijakan sandi 'KUAT' di server produksi.

Pilih nomor '1' dan tekan Enter, lalu ketik kata sandi 'root' MySQL baru Anda.

 Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Kata sandi root MySQL telah disiapkan.

Selanjutnya, kita akan membuat database baru untuk instalasi Magento kita. Kami akan membuat database baru bernama  'magentodb' dengan pengguna 'magentouser' dan sandinya adalah '[email protected]#'.

Masuk ke shell MySQL menggunakan pengguna root.

mysql -u root -p

Sekarang jalankan kueri MySQL di bawah ini untuk membuat database dan pengguna.

create database magentodb;
create user [email protected] identified by '[email protected]#';
grant all privileges on magentodb.* to [email protected] identified by '[email protected]#';
flush privileges;

Instalasi dan konfigurasi server MySQL untuk instalasi Magento telah selesai.

Langkah 4 - Instal dan Konfigurasi Magento 2

Pada langkah ini, kita akan menginstal Magento 2.2.4 versi terbaru dari repositori Github. Kami akan menginstal PHP composer untuk menginstal komponen Magento, mendownload Magento dari repositori Github, mengkonfigurasi virtual host Nginx untuk Magento, dan menginstal Magento menggunakan instalasi posting berbasis web.

- Instal PHP Composer

Instal PHP Composer di ubuntu 18.04 menggunakan perintah apt di bawah ini.

sudo apt install composer -y

Setelah instalasi selesai, periksa versi komposer yang diinstal pada sistem.

composer -V

Komposer PHP versi terbaru telah diinstal.

- Unduh Magento 2

Buka direktori '/var/www' dan unduh kode sumber arsip Magento dari Github menggunakan perintah wget.

cd /var/www/
wget https://github.com/magento/magento2/archive/2.2.4.tar.gz

Sekarang ekstrak file arsip Magento dan ganti nama direktori menjadi 'magento2'.

tar -xf 2.2.4.tar.gz
mv magento2-2.2.4/ magento2/

Kode sumber Magento telah diunduh, dan direktori '/var/www/magento2' akan menjadi root web untuk situs Magento.

- Instal Komponen Magento

Instal komponen Magento menggunakan komposer PHP. Masuk ke direktori 'magento2' dan instal semua komponen PHP yang dibutuhkan oleh Magento menggunakan perintah 'composer'.

cd /var/www/magento2
composer install -v

Setelah instalasi selesai, Anda akan mendapatkan hasil seperti gambar di bawah ini.

- Buat SSL Letsencrypt

Kami akan mengamankan instalasi Magento kami menggunakan SSL dari Letsencrypt. Instal Letsencrypt menggunakan perintah apt di bawah ini.

sudo apt install letsencrypt -y

Setelah instalasi selesai, hentikan layanan nginx.

systemctl stop nginx

Sekarang buat sertifikat SSL untuk nama domain menggunakan perintah certbot seperti di bawah ini.

certbot certonly --standalone -d magento.hakase-labs.pw

Ketik alamat email Anda, terima TOS Letsencrypt, lalu ketik 'N' untuk berbagi email.

Jika sudah selesai maka akan mendapatkan hasil seperti dibawah ini.

File sertifikat SSL Letsencrypt telah dibuat ke direktori '/etc/letsencrypt/live'.

- Konfigurasikan Nginx Virtual Host

Buka direktori '/etc/nginx/sites-available' dan buat file host virtual baru 'magento' menggunakan vim.

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

Tempelkan konfigurasi berikut di sana.

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

server {
    listen 80;
    listen [::]:80;
    server_name magento.hakase-labs.pw;
    return 301 https://$server_name$request_uri;
}

server {

        listen 443 ssl;
        server_name magento.hakase-labs.pw;

        ssl on;
        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.pw/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.pw/privkey.pem;

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

Simpan konfigurasi dan keluar.

Sekarang aktifkan virtual host dengan membuat link simbolik untuk file virtual host Magento ke direktori 'sites-enabled'.

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

Uji file konfigurasi nginx dan pastikan tidak ada kesalahan.

nginx -t

Sekarang restart layanan PHP-FPM dan Nginx.

systemctl restart php7.1-fpm
systemctl restart nginx

Dan ubah pemilik direktori web-root Magento menjadi pengguna dan grup 'www-data'.

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

Host virtual nginx untuk Magento telah ditambahkan.

- Pasca-Instalasi Magento

Buka browser web dan ketik URL Magento. Milik saya adalah:

https://magento.hakase-labs.pw/

Untuk 'Persyaratan dan Perjanjian', klik tombol 'Setuju dan Siapkan Magento'.

Sekarang periksa semua konfigurasi sistem dan server untuk 'Pemeriksaan Readlines' Magento, dan pastikan 'lolos' semua pemeriksaan sistem dan konfigurasi seperti di bawah ini.

Sekarang klik tombol 'Berikutnya'.

Konfigurasi basis data untuk Magento - ketik semua info basis data kami dan klik 'Berikutnya'.

Untuk konfigurasi web, ubah 'store address' menjadi HTTPS, 'Magento Admin Address' dengan URL jalur admin Anda dan hapus centang pada 'Apache Rewrites', karena kami menggunakan server web Nginx.

Klik tombol 'Berikutnya' lagi.

Biarkan 'Sesuaikan Toko Anda' sebagai default dan klik 'Berikutnya'.

Ketik pengguna dan kata sandi admin Anda, lalu klik 'Berikutnya'.

Dan klik tombol 'Instal Sekarang' untuk menginstal Magento.

Dan ketika instalasi selesai, Anda akan mendapatkan hasil 'sukses' seperti di bawah ini.

Sekarang kita perlu menonaktifkan akses tulis untuk direktori '/var/www/magento2/app/etc'. Jalankan perintah di bawah ini.

sudo chmod -w /var/www/magento2/app/etc

Magento telah diinstal ke server Ubuntu 18.04 Bionic Beaver.

Langkah 5 - Pengujian

Ketik alamat rumah URL Magento dan pastikan Anda mendapatkan halaman beranda default Magento. Milik saya adalah:https://magento.hakase-labs.pw/

Sekarang login ke dasbor admin Magento dengan mengunjungi URL yang ditentukan selama instalasi 'admin_hakase'. Milik saya adalah:

https://magento.hakase-labs.pw/admin_hakase/

Ketik nama pengguna dan sandi, lalu klik tombol 'Masuk'.

Dan Anda akan mendapatkan dashboard admin Magento seperti di bawah ini.

Magento 2 telah diinstal di Ubuntu 18.04 dengan server web Nginx, database MySQL, dan PHP-FPM 7.1.

Tambahan:

Jika Anda mendapatkan kesalahan tentang cronjob pengindeks Magento yang hilang, Anda dapat menyelesaikannya dengan membuat skrip crontab menggunakan perintah di bawah ini.:

cd /var/www/magento2
sudo -u www-data php bin/magento cron:install --force

Sekarang periksa skrip crontab daftar untuk pengguna 'www-data'.

crontab -u www-data -l


Ubuntu
  1. Cara Menginstal dan Mengkonfigurasi ownCloud dengan Apache di Ubuntu 18.04

  2. Cara Menginstal Magento 2 di Ubuntu 18.04

  3. Cara Instal Nginx Dengan PHP5 Dan MySQL Di Ubuntu 11.10

  1. Cara Menginstal Nextcloud dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Menginstal Magento 2 dengan Nginx dan Mengenkripsi SSL di Ubuntu 20.04 LTS

  3. Cara Menginstal Mattermost dengan PostgreSQL dan Nginx di Ubuntu 16.04

  1. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal SuiteCRM dengan Nginx di Ubuntu 16.04

  3. Cara Menginstal Gitlab dengan PostgreSQL dan Nginx di Ubuntu 15.04