Magento adalah aplikasi web e-niaga sumber terbuka dan gratis yang memungkinkan Anda membuat toko eCommerce yang berfungsi penuh dalam hitungan menit. Itu ditulis dalam PHP dan menggabungkan fitur-fitur canggih dengan fleksibilitas dan antarmuka yang ramah pengguna. Ini adalah salah satu solusi paling populer untuk toko online yang dihosting sendiri karena kesederhanaannya dan panel admin yang kuat. Muncul dengan serangkaian fitur yang kaya termasuk, Manajemen Situs, SEO, Manajemen Katalog, Penjelajahan Produk dan Katalog, Manajemen Pesanan, Checkout, Alat Promosi dan Konversi, dan banyak lagi.
Dalam tutorial ini, kami akan menunjukkan cara menginstal platform E-commerce Magento dengan Apache dan Let's Encrypt SSL di Ubuntu 20.04.
Prasyarat
- Server yang menjalankan Ubuntu 20.04 dengan RAM 4 GB.
- Nama domain yang valid ditunjukkan dengan server Anda.
- Kata sandi root dikonfigurasi di server Anda.
Instal Server LAMP
Magento berjalan di server web, ditulis dalam PHP, dan menggunakan MariaDB sebagai database. Jadi, Anda perlu memasang tumpukan LAMP di server Anda.
Pertama, instal server web Apache dan server MariaDB dengan perintah berikut:
apt-get install apache2 mariadb-server mariadb-client -y
Versi terbaru Magento hanya kompatibel dengan PHP 7.1.3+ dan 7.2.x. Jadi, Anda perlu menginstal versi PHP yang didukung dengan ekstensi yang diperlukan di server Anda.
Secara default, Ubuntu 20.04 dikirimkan dengan PHP versi 7.4. Jadi, Anda perlu menambahkan PPA Ondrej di sistem Anda untuk menginstal versi PHP lainnya.
Anda dapat menambahkan Ondrej PHP PPA dengan perintah berikut:
apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php
Selanjutnya, perbarui repositori dan instal PHP dengan ekstensi lain yang diperlukan menggunakan perintah berikut:
apt-get install php7.2 libapache2-mod-php7.2 php7.2-bcmath php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl wget curl unzip -y
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Database MariaDB
Secara default, MariaDB tidak diamankan. Jadi, ada baiknya untuk mengamankan dan mengatur kata sandi root MariaDB. Anda dapat melakukannya dengan perintah berikut:
mysql_secure_installation
Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini:
Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Setelah MariaDB diamankan, masuk ke shell MariaDB:
mysql -u root -p
Berikan kata sandi root MariaDB Anda lalu buat database dan pengguna untuk Magento:
MariaDB [(none)]> CREATE DATABASE magentodb;
MariaDB [(none)]> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';
Selanjutnya, berikan semua hak istimewa ke database Magento dengan perintah berikut:
MariaDB [(none)]> GRANT ALL ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Selanjutnya, flush hak istimewa dan keluar dari shell MariaDB menggunakan perintah berikut:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Unduh Magento
Pada saat penulisan tutorial ini, versi terbaru dari Magento adalah 2.3.5. Anda dapat mengunduhnya dari halaman unduhan resmi Magento.
Setelah diunduh, ekstrak file yang diunduh ke direktori root web Apache dengan perintah berikut:
mkdir /var/www/html/magento
tar -xvjf magento-ce* -C /var/www/html/magento/
Selanjutnya, berikan kepemilikan dan izin yang tepat ke direktori magento:
chown -R www-data:www-data /var/www/html/magento/
chmod -R 755 /var/www/html/magento/
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Apache untuk Magento
Selanjutnya, buat file konfigurasi virtual host Apache baru untuk melayani situs web Magento.
nano /etc/apache2/sites-available/magento.conf
Tambahkan baris berikut:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/magento/ ServerName magento.linuxbuz.com <Directory /var/www/html/magento/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Simpan dan tutup file kemudian aktifkan Magento virtual host dan Apache rewrite module dengan perintah berikut:
a2ensite magento.conf
a2enmod rewrite
Terakhir, restart layanan Apache untuk mengimplementasikan perubahan:
systemctl restart apache2
Pada titik ini, server web Apache dikonfigurasi untuk melayani Magento.
Amankan Magento dengan Let's Encrypt SSL
Itu selalu merupakan ide yang baik untuk mengamankan situs web Anda dengan Let's Encrypt SSL gratis. Pertama, instal klien Certbot di server Anda untuk mengunduh dan mengonfigurasi Let's Encrypt SSL untuk situs web Anda.
apt-get install certbot python3-certbot-apache -y
Setelah Certbot terinstal, jalankan perintah berikut untuk mengunduh dan menginstal Let's Encrypt SSL untuk situs web Anda:
certbot --apache -d magento.linuxbuz.com
Anda akan diminta untuk memberikan email yang valid dan menerima persyaratan layanan seperti yang ditunjukkan di bawah ini:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for magento.linuxbuz.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/magento-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/magento-le-ssl.conf Enabling available site: /etc/apache2/sites-available/magento-le-ssl.conf
Selanjutnya, Anda akan diminta untuk memilih apakah akan mengalihkan lalu lintas HTTP ke HTTPS atau tidak:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Ketik 2 dan tekan Enter untuk menyelesaikan penginstalan.
Redirecting vhost in /etc/apache2/sites-enabled/magento.conf to ssl vhost in /etc/apache2/sites-available/magento-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://magento.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=magento.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/magento.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/magento.linuxbuz.com/privkey.pem Your cert will expire on 2020-08-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Akses Situs Web Magento
Pada titik ini, situs web Magento Anda diamankan dengan Let's Encrypt SSL.
Sekarang, buka browser web Anda dan ketik URL https://magento.linuxbuz.com. Anda akan diarahkan ke wizard penginstalan berbasis web Magento:
Klik tombol Setuju dan Penyiapan Magento tombol. Anda akan melihat layar Kesiapan Magento:
Klik tombol Mulai Kesiapan Periksa tombol. Setelah pemeriksaan Kesiapan selesai, Anda akan melihat layar berikut:
Klik Berikutnya tombol. Anda akan melihat layar pengaturan Database:
Berikan nama basis data Magento Anda, nama pengguna basis data, kata sandi dan klik tombol Berikutnya tombol. Anda akan melihat wizard konfigurasi web Magento:
Berikan alamat Magento Store dan Admin Anda, Aktifkan HTTPS dan klik Berikutnya tombol. Anda akan melihat layar kustomisasi Store:
Tetapkan Zona Waktu, Mata Uang, Bahasa pilihan Anda dan klik Berikutnya tombol. Anda akan melihat layar pembuatan pengguna admin:
Berikan nama pengguna, email, kata sandi admin Anda dan klik tombol Berikutnya tombol. Anda akan melihat layar berikut:
Klik pada Pasang Sekarang tombol untuk memulai instalasi. Setelah instalasi berhasil diselesaikan, Anda akan melihat layar berikut:
Klik pada alamat admin Magento. Anda akan melihat halaman admin Magento:
Berikan nama pengguna, kata sandi admin Magento Anda, dan klik Tanda di tombol. Anda akan melihat dasbor Magento di layar berikut:
Anda juga dapat mengakses toko Magento menggunakan URL https://magento.linuxbuz.com. Anda akan melihat layar berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal Magento dengan Let's Encrypt SSL di Ubuntu 20.04. Anda sekarang dapat menyebarkan toko online Anda sendiri dengan mudah. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.