GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Magento 2 Dengan Varnish dan Apache di Ubuntu 16.04

Magento adalah Sistem Manajemen Konten sumber terbuka dan gratis yang dibangun dalam PHP, kerangka kerja Zend, dan basis data MySQL. Ini adalah aplikasi web eCommerce yang sangat populer yang berjalan di atas banyak aplikasi open source seperti Apache, MySQL dan banyak lagi. Magento hadir dengan banyak modul bawaan yang digunakan untuk menambahkan lebih banyak fungsionalitas.

Varnish Cache adalah akselerator aplikasi web open source yang kuat yang juga dikenal sebagai proxy reverse HTTP caching. Ini digunakan untuk mempercepat situs web Anda dengan menyimpan salinan halaman web saat pertama kali dikunjungi pengguna. Magento dan Varnish adalah kombinasi yang dikenal untuk meningkatkan kinerja situs secara signifikan. Varnish terintegrasi secara default di Magento 2. Anda hanya perlu membuat beberapa perubahan konfigurasi untuk membuatnya berfungsi.

Dalam tutorial ini, kita akan mempelajari cara menginstal Magento 2 dengan Varnish sebagai cache satu halaman penuh di server Ubuntu 16.04.

Persyaratan

  • Server yang menjalankan Ubuntu 16.04.
  • Apache, PHP, dan MariaDB.
  • Pengguna non-root dengan pengaturan hak sudo di server Anda.

1 Memulai

Sebelum memulai, disarankan untuk memperbarui sistem Anda dengan paket terbaru dengan menjalankan perintah berikut:

sudo apt-get update -y
sudo apt-get upgrade -y

Setelah sistem Anda diperbarui, mulai ulang sistem Anda dan masuk dengan pengguna sudo.

2 Instal Server LAMP

Magento tidak akan berfungsi tanpa menginstal LAMP stack (Apache, PHP, MariaDB). Pertama, install Apache web server dan varnish dengan menjalankan perintah berikut:

sudo apt-get install apache2 varnish -y

Setelah menginstal Apache, mulai layanan Apache dan aktifkan untuk memulai saat boot dengan menjalankan perintah berikut:

sudo systemctl start apache2
sudo systemctl enable apache2

Magento ditulis dalam bahasa PHP, jadi Anda juga perlu menginstal PHP dengan semua pustaka ke sistem Anda. Anda dapat menginstal semuanya dengan menjalankan perintah berikut:

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-mysql php7.0-mcrypt php7.0-xsl php-imagick php7.0-gd php7.0-cli php-pear php7.0-intl php7.0-curl php7.0-zip php7.0-gd php7.0-soap php7.0-xml -y

Setelah menginstal PHP bersama dengan semua pustaka yang diperlukan, Anda perlu mengubah beberapa pengaturan default PHP. Anda dapat melakukannya dengan mengedit file php.ini:

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

Ubah baris berikut:

memory_limit = 512
upload_max_filesize = 128M
zlib.output_compression = on
max_execution_time = 15000

Simpan dan tutup file setelah Anda selesai.

3 Instal dan Konfigurasi MariaDB

Magento menggunakan MariaDB sebagai database. Jadi, Anda perlu menginstalnya ke server Anda. Anda dapat menginstalnya hanya dengan menjalankan perintah berikut:

sudo apt-get install mariadb-server -y

Setelah menginstal MariaDB, mulai layanan MariaDB dan aktifkan untuk memulai saat boot dengan menjalankan perintah berikut:

sudo systemctl start mysql
sudo systemctl enable mysql

Secara default, MariaDB tidak diamankan, jadi Anda harus mengamankannya. Anda dapat mengamankannya dengan menjalankan perintah berikut:

sudo mysql_secure_installation

Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n

 ... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB 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? [Y/n] 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? [Y/n] Y
 ... Success!

By default, MariaDB 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? [Y/n] 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? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Selanjutnya, login ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Masukkan kata sandi root Anda saat diminta, lalu buat database untuk Magento dengan perintah berikut:

MariaDB [(none)]>CREATE DATABASE magento_db;

Setelah membuat database untuk Magento, buat nama pengguna, dan kata sandi dengan perintah berikut:

MariaDB [(none)]>CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';

Selanjutnya, berikan hak istimewa ke database Magento dengan perintah berikut:

MariaDB [(none)]>GRANT ALL PRIVILEGES ON magento_db.* TO 'magento'@'localhost';

Selanjutnya, jalankan perintah FLUSH PRIVILEGES muat ulang hak istimewa:

MariaDB [(none)]>FLUSH PRIVILEGES;

Terakhir, keluar dari konsol MariaDB dengan perintah berikut:

MariaDB [(none)]>\q

4 Unduh Magento

Pertama, Anda perlu mengunduh versi terbaru Magento dari situs resminya.

Setelah mengunduh Magento, ekstrak file zip yang diunduh ke direktori root web apache dengan perintah berikut:

sudo mkdir /var/www/html/magento/
sudo unzip magento2-develop.zip -d /var/www/html/magento

Selanjutnya, ubah kepemilikan direktori magento dan berikan izin yang sesuai untuknya:

sudo chown -R www-data:www-data /var/www/html/magento
sudo chmod -R 777 /var/www/html/magento

Selanjutnya, Anda perlu menginstal Komposer ke sistem Anda. Composer adalah manajer dependensi yang digunakan untuk menginstal semua dependensi PHP yang diperlukan. Anda dapat mengunduh dan menginstal biner Komposer dengan perintah berikut:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/bin/composer

Selanjutnya, jalankan perintah composer untuk menginstal semua dependensi yang dibutuhkan oleh Magento:

cd /var/www/html/magento
sudo composer install

Setelah semua dependensi terinstal, Anda dapat melanjutkan untuk mengonfigurasi Apache untuk Magento.

5 Konfigurasi Apache untuk Magento

Selanjutnya, Anda perlu membuat file host virtual Apache untuk Magento. Buat file konfigurasi Apache baru bernama magento.conf dengan perintah berikut:

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

Tambahkan baris berikut:

<VirtualHost *:8080>
ServerAdmin [email protected]
DocumentRoot /var/www/html/magento
ServerName 192.168.15.189
ServerAlias www.example.com
<Directory "/var/www/html/magento/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/magento-error_log
CustomLog /var/log/apache2/magento-access_log common
</VirtualHost>

Simpan file tersebut, lalu aktifkan virtual host Anda dengan modul Apache rewrite dengan perintah berikut:

sudo a2ensite magento
sudo a2enmod rewrite

Selanjutnya, Anda juga perlu mengubah port mendengarkan Apache dari 80 menjadi 8080. Karena kami akan mencadangkan port 80 untuk pernis. Untuk melakukannya, buka file ports.conf:

sudo nano /etc/apache2/ports.conf

Ubah file seperti gambar di bawah ini:

Listen 8080

Terakhir, restart layanan Apache untuk menerapkan perubahan ini dengan perintah berikut:

sudo systemctl restart apache2

6 Wisaya Instalasi Web Magento Akses

Magento sudah terinstall, sekarang saatnya menginstal Magento melalui web browser.

Untuk melakukannya, buka browser web Anda dan ketik URL http://192.168.15.189:8080, Anda akan melihat halaman berikut:

Sekarang, setujui Syarat dan Ketentuan lalu klik tombol "Agree and Setup Magento", Anda akan melihat halaman berikut:

Periksa semua Kesiapan dan klik tombol "Berikutnya", Anda akan melihat halaman berikut:

Berikan detail basis data Anda, seperti Nama basis data, Nama pengguna basis data dan Kata sandi, lalu klik tombol "Berikutnya", Anda akan melihat halaman berikut:

Berikan detail situs web Anda dan klik tombol "Berikutnya", Anda akan melihat halaman berikut:

Sesuaikan Magento sesuai kebutuhan Anda dan klik tombol "Berikutnya", Anda akan melihat halaman berikut:

Berikan detail pengguna admin Anda dan klik tombol "Berikutnya", Anda akan melihat halaman berikut:

Sekarang, klik tombol "Instal Sekarang" untuk memulai instalasi Magento. Setelah instalasi selesai, Anda akan melihat halaman berikut:

Catatan:Ingat URL Admin Magento Anda:http://192.168.15.189/admin_wczta4. Ini akan digunakan untuk mengakses admin Magento.

Sekarang, klik tombol "Luncurkan Magento Admin", Anda akan melihat halaman login Magento seperti di bawah ini:

Berikan kredensial admin Magento Anda dan klik tombol "Masuk", Anda akan melihat Dasbor Magento seperti di bawah ini:

Dari dasbor Admin Magento Anda, klik tombol TOKO (sisi kiri)> Konfigurasi> LANJUTAN> Sistem> Cache Halaman Penuh , lalu Unselect use system value dan pilih Varnish Cache dari daftar Caching Application, simpan konfigurasi, klik tautan Varnish Configuration dan klik tombol Export VCL for Varnish 4 (ini akan mengekspor file varnish.vcl di /var/www /html/magento/var directoy) seperti yang ditunjukkan di bawah ini:

Terakhir, bersihkan cache Magento dengan perintah berikut:

cd /var/www/html/magento
sudo php bin/magento cache:flush

Setelah selesai, Anda dapat melanjutkan untuk mengkonfigurasi pernis.

6 Konfigurasi Pernis

Magento sekarang diinstal dan dikonfigurasi. Saatnya mengkonfigurasi pernis.

Pertama, hapus file /etc/varnish/default.vcl dan buat symlink dari konfigurasi varnish yang diekspor:

sudo rm -rf /etc/varnish/default.vcl
sudo ln -s /var/www/html/magento/var/varnish.vcl /etc/varnish/default.vcl

Selanjutnya, Anda perlu membuat file layanan systemd untuk pernis. Anda dapat melakukannya dengan menyalin varnish.service dari /lib/systemd/system/ ke direktori /etc/systemd/system/:

sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/

Setelah menyalin file ini, Anda perlu membuat beberapa perubahan pada file varnish.service:

sudo nano /etc/systemd/system/varnish.service

Lakukan perubahan berikut:

[Unit]
Description=Varnish HTTP accelerator
Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd

[Service]
Type=simple
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
ExecReload=/usr/share/varnish/reload-vcl
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true

[Install]
WantedBy=multi-user.target

Simpan file jika sudah selesai, kemudian restart service varnish dengan perintah berikut:

sudo systemctl daemon-reload
sudo systemctl reload varnish.service

Jika semuanya berfungsi dengan baik, maka Anda seharusnya dapat masuk ke back-end Magento Anda dengan mengetikkan URL berikut di browser web Anda:

http://192.168.15.189/admin_wczta4

Anda juga dapat memeriksa apakah pernis diaktifkan atau tidak dengan menjalankan perintah berikut:

curl -I http://192.168.15.189/admin_wczta4

Anda akan melihat bahwa pernis diaktifkan:

Date: Fri, 07 Jul 2017 17:10:01 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: store=default; expires=Sat, 07-Jul-2018 17:10:03 GMT; Max-Age=31536000; path=/; HttpOnly
Set-Cookie: PHPSESSID=irp2k8cmrhct0dfh18qk7ap0i4; expires=Fri, 07-Jul-2017 18:10:04 GMT; Max-Age=3600; path=/; domain=192.168.15.189; HttpOnly
Expires: Thu, 07 Jul 2016 17:10:04 GMT
Cache-Control: max-age=0, must-revalidate, no-cache, no-store
Pragma: no-cache
Location: http://192.168.15.189/admin_wczta4/?SID=irp2k8cmrhct0dfh18qk7ap0i4
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Varnish: 2
Age: 0
Via: 1.1 varnish-v4
Connection: keep-alive

Selamat! Anda telah berhasil mengonfigurasi Magento dengan Varnish di server Ubuntu 16.04.


Ubuntu
  1. Cara Menginstal Apache di Ubuntu 18.04

  2. Cara Setup Opencart dengan LAMP (PHP, Apache, Mariadb) di Ubuntu 20.04

  3. Bagaimana Cara Menginstal dan Mengonfigurasi Varnish di Ubuntu 20.04?

  1. Cara Menginstal dan Mengonfigurasi Nextcloud dengan Apache di Ubuntu 18.04

  2. Cara Menginstal Joomla dengan Apache di Ubuntu 18.04

  3. Cara mengatur kluster Apache Tomcat dengan 3 Node di Ubuntu

  1. Cara Install dan Konfigurasi OpenLiteSpeed ​​Server bersama MariaDB dan PHP di Ubuntu 20.04

  2. Cara Setup WordPress di Server Ubuntu dengan Apache

  3. Cara Menginstal NextCloud di Ubuntu 20.04 dengan Apache