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.