Opencart adalah solusi keranjang belanja open-source populer yang membantu Anda meng-host situs web e-commerce yang berfungsi penuh. Opencart menyediakan antarmuka yang sederhana dan ramah pengguna untuk menjual produk Anda secara online, seperti Amazon dan Flipcart. Ini dirancang khusus untuk usaha kecil dan menengah dan memiliki semua fitur e-commerce standar yang diperlukan untuk toko online. Ini menawarkan serangkaian fitur yang kaya termasuk multi-mata uang, bahasa, kategori tak terbatas, produk, ulasan produk, multi-toko dan banyak lagi.
Dalam tutorial ini, kami akan menunjukkan cara menginstal OpenCart dengan Nginx di Debian 10 dan mengamankannya dengan Let's Encrypt SSL.
Prasyarat
- Server yang menjalankan Debian 10.
- Kata sandi root dikonfigurasi di server Anda.
Memulai
Pertama, perbarui sistem Anda ke versi terbaru dengan perintah berikut:
apt-get update -y
apt-get upgrade -y
Setelah server Anda diperbarui, mulai ulang untuk menerapkan perubahan.
Instal Server LEMP
Pertama, instal server web Nginx, server database MariaDB, PHP, dan ekstensi PHP lain yang diperlukan dengan menjalankan perintah berikut:
apt-get install nginx mariadb-server php-common php-cli php-fpm php-opcache php-gd php-mysql php-curl php-intl php-xsl php-mbstring php-zip php-bcmath php-soap unzip git -y
Setelah semua paket terinstal, edit file php.ini dan buat beberapa perubahan:
nano /etc/php/7.3/fpm/php.ini
Ubah baris berikut:
memory_limit = 256M upload_max_filesize = 100M opcache.save_comments=1 max_execution_time = 300 date.timezone = Asia/Kolkata
Simpan dan tutup file setelah Anda selesai.
Konfigurasi Database MariaDB
Selanjutnya, Anda perlu mengatur kata sandi root MariaDB karena tidak diatur di Debian 10.
Untuk melakukannya, masuk ke shell MariaDB dengan perintah berikut:
mysql
Setelah login, atur kata sandi root MariaDB dengan perintah berikut:
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewrootpassword");
Selanjutnya, setel plugin otentikasi MariaDB ke mysql_native_password dengan perintah berikut:
MariaDB [(none)]> SET GLOBAL innodb_fast_shutdown = 0;
MariaDB [(none)]> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
Selanjutnya, flush hak istimewa dan keluar dari shell MariaDB dengan perintah berikut:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Selanjutnya, masuk ke MariaDB dengan pengguna root:
mysql -u root -p
Berikan kata sandi root Anda dan buat database dan pengguna untuk OpenCart dengan perintah berikut:
MariaDB [(none)]> CREATE DATABASE opencartdb;
MariaDB [(none)]> GRANT ALL ON opencartdb.* TO 'opencart'@'localhost' IDENTIFIED BY 'password';
Selanjutnya, flush hak istimewa dan keluar dari shell MariaDB dengan perintah berikut:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Setelah MariaDB dikonfigurasi, Anda dapat melanjutkan ke langkah berikutnya.
Unduh OpenCart
Anda dapat mengunduh OpenCart versi terbaru dari repositori Git menggunakan perintah berikut:
wget https://github.com/opencart/opencart/releases/download/3.0.3.2/opencart-3.0.3.2.zip
Setelah mengunduh OpenCart, unzip file yang diunduh dengan perintah berikut:
unzip opencart-3.0.3.2.zip
Selanjutnya pindahkan direktori upload ke direktori root web Nginx dengan perintah berikut:
mv upload /var/www/html/opencart
Selanjutnya, ubah direktori menjadi opencart dan rename file config-dist.php:
cd /var/www/html/opencart/
mv config-dist.php config.php
mv admin/config-dist.php admin/config.php
Selanjutnya, berikan izin yang tepat ke direktori opencart dengan perintah berikut:
chown -R www-data:www-data /var/www/html/opencart/
chmod -R 775 /var/www/html/opencart/
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Nginx untuk OpenCart
Selanjutnya, Anda perlu membuat file konfigurasi virtual host Nginx untuk melayani OpenCart. Anda dapat membuatnya dengan perintah berikut:
nano /etc/nginx/sites-available/opencart.conf
Tambahkan konten berikut:
server { listen 80; server_name opencart.linuxbuz.com; root /var/www/html/opencart; index index.php; access_log /var/log/nginx/opencart_access.log; error_log /var/log/nginx/opencart_error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.3-fpm.sock; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { expires max; log_not_found off; } }
Simpan dan tutup file kemudian periksa Nginx untuk kesalahan sintaks dengan perintah berikut:
nginx -t
Anda akan mendapatkan output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Selanjutnya, aktifkan file virtual host Nginx dengan perintah berikut:
ln -s /etc/nginx/sites-available/opencart.conf /etc/nginx/sites-enabled/
Selanjutnya, restart layanan Nginx dan PHP-FPM untuk menerapkan perubahan:
systemctl restart nginx
systemctl restart php7.3-fpm
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Amankan OpenCart dengan Let's Encrypt SSL
Selanjutnya, Anda perlu menginstal klien Certbot untuk menginstal dan menyiapkan Let's Encrypt untuk situs web Anda.
Secara default, Certbot tidak tersedia di repositori default Debian 10. Jadi, Anda perlu menambahkan repositori Certbot di sistem Anda.
Anda dapat menambahkannya dengan perintah berikut:
echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
Selanjutnya, perbarui repositori dan instal klien Certbot untuk Nginx dengan perintah berikut:
apt-get update -y
apt-get install python3-certbot-nginx -t buster-backports
Setelah terinstal, jalankan perintah berikut untuk mengunduh Let's Encrypt SSL dan konfigurasikan Nginx untuk menggunakan SSL ini:
certbot --nginx -d opencart.linuxbuz.com
Anda akan diminta untuk menerima persyaratan layanan dan memberikan alamat email yang valid 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 opencart.linuxbuz.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/nginx/sites-available/opencart-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/nginx/sites-available/opencart-le-ssl.conf Enabling available site: /etc/nginx/sites-available/opencart-le-ssl.conf Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
Selanjutnya, Anda harus memilih apakah akan mengarahkan ulang lalu lintas HTTP ke HTTPS seperti yang ditunjukkan di bawah ini:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 melanjutkan. Setelah instalasi selesai, Anda akan mendapatkan output berikut:
Redirecting vhost in /etc/nginx/sites-enabled/opencart.conf to ssl vhost in /etc/nginx/sites-available/opencart-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://opencart.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=opencart.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/opencart.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/opencart.linuxbuz.com/privkey.pem Your cert will expire on 2020-04-30. 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
Pada titik ini, OpenCart diamankan dengan Let's Encrypt SSL.
Mengakses Antarmuka Web OpenCart
Sekarang, buka browser web Anda dan ketik URL https://opencart.linuxbuz.com. Anda akan diarahkan ke halaman Perjanjian Lisensi OpenCart:
Klik Lanjutkan tombol untuk menerima Perjanjian Lisensi. Anda akan melihat halaman berikut:
Pastikan semua ekstensi PHP yang diperlukan sudah terpasang lalu klik tombol LANJUTKAN tombol. Anda akan melihat halaman berikut:
Berikan kredensial basis data Anda, nama pengguna admin, kata sandi, dan klik LANJUTKAN tombol. Setelah instalasi selesai, Anda akan melihat halaman berikut:
Sekarang, buka terminal Anda dan hapus direktori instalasi dengan perintah berikut:
rm -rf /var/www/html/opencart/install/
Selanjutnya, klik BUKA TOKO ONLINE ANDA . Anda akan melihat toko OpenCart Anda di halaman berikut:
Selanjutnya, klik tombol MASUK KE ADMINISTRASI ANDA tombol. Anda akan melihat halaman login OpenCart:
Berikan nama pengguna, kata sandi admin Anda, dan klik Masuk tombol. Anda akan melihat panel administrasi OpenCart Anda di halaman berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengamankan OpenCart di Debian 10. Sekarang Anda dapat meng-host keranjang belanja online Anda sendiri dengan OpenCart. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.