GNU/Linux >> Belajar Linux >  >> Debian

Cara Instal OpenCart dengan Nginx dan Lets Encrypt di Debian 10

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.


Debian
  1. Instal Lets Encrypt dan Secure Nginx dengan SSL/TLS di Debian 9

  2. Cara Install Automad CMS dengan Apache dan Lets Encrypt di Debian 10

  3. Cara Menginstal Forum ElkArte dengan Apache dan Mengenkripsi di Debian 10

  1. Cara Menginstal Askbot dengan Nginx dan Mengamankan dengan Lets Encrypt di CentOS 8

  2. Cara Menginstal Drupal 9 dengan Nginx dan Mengenkripsi SSL di Debian 10

  3. Cara Menginstal Joomla dengan Apache dan Mengenkripsi SSL di Debian 10

  1. Cara Menginstal Drupal dengan Apache dan Mengenkripsi SSL di Debian 11

  2. Instal TaskBoard dengan Apache dan biarkan Enkripsi SSL di Debian 11

  3. Cara Menginstal SuiteCRM dengan Apache dan Lets Encrypt SSL gratis di Debian 11