GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal PrestaShop di Debian 9

Dalam panduan ini, kami akan menunjukkan cara menginstal dan mengonfigurasi versi terbaru Prestashop pada rilis Debian 9.1, untuk membuat keranjang belanja online gratis.

Prestashop adalah platform manajemen konten e-commerce Open Source gratis yang ditulis dalam bahasa pemrograman PHP yang sering digunakan di Linux di bawah server web Apache/Nginx, PHP dan sistem manajemen database MySQL/MariaDB. CMS Prestashop sangat digunakan saat ini untuk membuat toko online untuk berbagai bisnis dan mengiklankan serta menjual layanan dan barang dagangan.

Persyaratan

  • Penginstalan minimal Debian 9 pada mesin bare-metal atau pada server pribadi virtual.
  • A alamat IP statis yang dikonfigurasi untuk salah satu kartu antarmuka jaringan sistem Anda.
  • hak istimewa root sudo untuk akun lokal atau jarak jauh atau akses langsung ke akun root.
  • Nama domain, pribadi atau publik, bergantung pada penerapan Anda, dengan catatan DNS yang dikonfigurasi dengan benar.

Konfigurasi Awal

Sebelum mulai menginstal dan mengkonfigurasi Prestashop dari sumber di server Anda sendiri, pastikan sistem memenuhi semua persyaratan perangkat lunak untuk mengkompilasi dan menginstal aplikasi. Pada langkah pertama, perbarui repositori sistem dan paket perangkat lunak Anda dengan mengeluarkan perintah di bawah ini.

apt update
apt upgrade

Pada langkah berikutnya, jalankan perintah berikut untuk menginstal beberapa utilitas yang diperlukan yang akan digunakan untuk mengelola sistem Anda lebih lanjut dari baris perintah.

apt install wget bash-completion zip unzip

Selanjutnya, atur nama untuk sistem Anda dengan menjalankan perintah berikut. Ganti variabel hostname Anda sesuai dengan itu.

hostnamectl set-hostname shop

Verifikasi nama host mesin dan file host dengan mengeluarkan perintah di bawah ini.

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

Terakhir, reboot server Debian untuk menerapkan pembaruan kernel dan nama host berubah dengan benar.

systemctl reboot

Prestashop adalah platform e-commerce CMS berbasis web yang sebagian besar ditulis dalam bahasa pemrograman sisi server PHP. Untuk menjalankan skrip file PHP Prestashop, server web, seperti server HTTP Apache, dan gateway pemrosesan PHP harus diinstal dan beroperasi di server. Untuk menginstal server web Apache dan interpreter PHP bersama dengan semua modul PHP yang diperlukan oleh Prestashop agar dapat berjalan dengan baik, jalankan perintah berikut di konsol server Anda.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-xml php7.0-gd php7.0-json php7.0-zip php7.0-intl php7.0-mcrypt php7.0-curl php7.0-intl php7.0-opcache

Setelah Apache dan PHP diinstal, uji apakah server web aktif dan berjalan dan dengarkan koneksi jaringan pada port 80 dengan mengeluarkan perintah berikut dengan hak akses root.

netstat –tlpn

Jika utilitas jaringan netstat tidak diinstal secara default pada sistem Debian Anda, jalankan perintah di bawah ini untuk menginstalnya.

apt install net-tools

Dengan memeriksa output perintah netstat, Anda dapat melihat bahwa server web apache mendengarkan koneksi jaringan yang masuk pada port 80. Untuk tugas yang sama, Anda juga dapat menggunakan ss perintah, yang secara otomatis diinstal secara default di Debian 9.

ss -tlpn

Jika Anda mengaktifkan firewall di sistem Anda, seperti aplikasi firewall UFW, Anda harus menambahkan aturan baru untuk mengizinkan lalu lintas HTTP melewati firewall dengan mengeluarkan perintah berikut.

ufw allow WWW

atau

ufw allow 80/tcp

Jika Anda menggunakan iptables aturan baku untuk mengelola aturan Firewall di server Debian Anda, tambahkan aturan berikut untuk mengizinkan lalu lintas masuk port 80 di firewall sehingga pengunjung dapat menjelajahi toko online Prestashop.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Selanjutnya, aktifkan dan terapkan modul Apache berikut yang diperlukan oleh CMS Prestashop agar dapat berjalan dengan baik, dengan mengeluarkan perintah di bawah ini.

a2enmod rewrite
systemctl restart apache2

Terakhir, uji apakah halaman web default server web Apache dapat ditampilkan di browser klien Anda dengan mengunjungi alamat IP mesin Debian Anda atau nama domain atau server FQDN Anda melalui protokol HTTP, seperti yang ditunjukkan pada gambar di bawah. Jika Anda tidak mengetahui alamat IP mesin Anda, jalankan ifconfig atau ip a perintah untuk mengungkapkan alamat IP server Anda.

http://your_domain.tld

Untuk menginstal dan mengakses panel admin web Prestashop yang didukung dan situs web frontend melalui protokol HTTPS yang akan mengamankan lalu lintas untuk klien Anda, jalankan perintah berikut untuk mengaktifkan modul SSL server web Apache dan file konfigurasi situs SSL.

a2enmod ssl
a2ensite default-ssl.conf

Selanjutnya, buka file konfigurasi situs SSL default Apache dengan editor teks dan aktifkan aturan penulisan ulang URL dengan menambahkan baris kode berikut setelah DocumentRoot direktif, seperti yang ditunjukkan pada contoh di bawah ini:

nano /etc/apache2/sites-enabled/default-ssl.conf

Kutipan file konfigurasi situs SSL:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Juga, buat perubahan berikut pada baris VirtualHost agar terlihat seperti yang ditunjukkan pada kutipan di bawah ini:

        <VirtualHost *:443>

Tutup file SSL Apache dan buka /etc/apache2/sites-enabled/000-default.conf untuk mengedit dan menambahkan aturan penulisan ulang URL yang sama seperti untuk file konfigurasi SSL. Masukkan baris kode setelah DocumentRoot pernyataan seperti yang ditunjukkan pada contoh di bawah ini.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Terakhir, mulai ulang daemon Apache untuk menerapkan semua aturan yang dikonfigurasi sejauh ini dan kunjungi domain Anda melalui protokol HTTP. Karena Anda menggunakan pasangan sertifikat yang ditandatangani sendiri secara otomatis yang dikeluarkan oleh Apache saat penginstalan, peringatan kesalahan akan ditampilkan di browser. Terima peringatan untuk melanjutkan dan diarahkan ke halaman web default Apache.

systemctl restart apache2

https://domainanda.tld

Jika aplikasi firewall UFW memblokir koneksi jaringan yang masuk ke port HTTPS, Anda harus menambahkan aturan baru untuk mengizinkan lalu lintas HTTPS melewati firewall dengan mengeluarkan perintah berikut.

ufw allow 'WWW Full'

atau

ufw allow 443/tcp

Jika iptables adalah aplikasi firewall default yang dipasang untuk melindungi sistem Debian Anda di tingkat jaringan, tambahkan aturan berikut untuk mengizinkan lalu lintas masuk port 443 di firewall sehingga pengunjung dapat menelusuri nama domain Anda.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Pada langkah berikutnya, kita perlu membuat beberapa perubahan lebih lanjut pada file konfigurasi default PHP untuk memastikan bahwa variabel PHP berikut diaktifkan dan zona waktu PHP pengaturan dikonfigurasi dengan benar dan cocok dengan lokasi geografis sistem Anda. Buka /etc/php/7.0/Apache2/php.ini file untuk diedit dan pastikan bahwa baris berikut diatur sebagai berikut. Juga, pada awalnya, buat cadangan file konfigurasi PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Cari, edit, dan ubah variabel berikut di php.ini file konfigurasi:

file_uploads = On
allow_url_fopen = On
memory_limit = 128 M
upload_max_file_size = 64M
date.timezone = Europe/London

Tingkatkan batas_memori variabel yang sesuai untuk mendukung lampiran file besar dan menggantikan zona waktu variabel sesuai dengan waktu fisik Anda dengan melihat daftar zona waktu yang disediakan oleh PHP docs di link berikut http://php.net/manual/en/timezones.php

Jika Anda ingin meningkatkan kecepatan memuat halaman situs web Anda melalui plugin OPCache yang tersedia untuk PHP7, tambahkan pengaturan OPCache berikut di bagian bawah file konfigurasi juru bahasa PHP, seperti yang dijelaskan di bawah ini:

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Tutup file konfigurasi php.ini dan periksa apakah verifikasi akhir file konfigurasi PHP untuk memeriksa apakah variabel telah ditambahkan dengan benar dengan mengeluarkan perintah di bawah ini.

tail /etc/php/7.0/apache2/php.ini

Setelah Anda melakukan semua perubahan yang dijelaskan di atas, mulai ulang daemon apache untuk menerapkan perubahan baru dengan mengeluarkan perintah berikut.

systemctl restart apache2

Terakhir, buat file info PHP dengan menjalankan perintah berikut dan periksa apakah zona waktu PHP telah dikonfigurasi dengan benar dengan mengunjungi file skrip info PHP dari browser di URL berikut, seperti yang diilustrasikan pada gambar di bawah. Gulir ke bawah ke tanggal pengaturan untuk memeriksa konfigurasi zona waktu php.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

https://domain.tld/info.php

Prestashop menyimpan konfigurasi yang berbeda, seperti pengguna, sesi, kontak, produk, katalog, dan lainnya, dalam database RDBMS. Dalam panduan ini, kami akan mengonfigurasi Prestashop untuk menggunakan database MariaDB sebagai backend. Keluarkan perintah di bawah ini untuk menginstal database MariaDB dan modul PHP yang diperlukan untuk mengakses database mysql.

apt install mariadb-server php7.0-mysql

Setelah Anda menginstal MariaDB, verifikasi apakah daemon berjalan dan mendengarkan koneksi di localhost, port 3306, dengan menjalankan netstat perintah.

netstat –tlpn | grep mysql

Kemudian, masuk ke konsol MySQL dan amankan akun root MariaDB dengan mengeluarkan perintah berikut.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

Langkah selanjutnya, amankan MariaDB dengan menjalankan skrip mysql_secure_installation disediakan oleh paket instalasi dari repositori peregangan Debian. Saat dijalankan, skrip akan menanyakan serangkaian pertanyaan yang dirancang untuk mengamankan database MariaDB, seperti:mengubah kata sandi root MySQL, menghapus pengguna anonim, menonaktifkan login root jarak jauh, dan menghapus database pengujian. Jalankan skrip dengan mengeluarkan perintah di bawah ini dan pastikan Anda mengetik ya untuk semua pertanyaan yang diajukan untuk mengamankan daemon MySQL sepenuhnya. Gunakan output skrip di bawah ini kecuali sebagai panduan.

sudo mysql_secure_installation
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] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
 
 
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!

Untuk menguji keamanan MariaDB, coba masuk ke database dari konsol tanpa kata sandi root. Akses ke database harus ditolak jika tidak ada kata sandi yang diberikan untuk akun root. Jika kata sandi diberikan, proses login harus diberikan ke konsol MySQL, seperti yang ditunjukkan pada tangkapan layar di bawah ini.

mysql -h localhost -u root
mysql -h localhost -u root –p

Selanjutnya, login ke konsol database MariaDB, buat database untuk Prestashop dan pengguna dengan kata sandi yang akan digunakan untuk mengelola database Prestashop, dengan mengeluarkan perintah berikut. Ganti nama database PrestaShop, pengguna dan kata sandi yang sesuai.

mysql –u root -p
create database my_shop;
grant all privileges on my_shop.* to 'shop_user' identified by 'shop_password';
flush privileges;
exit

Untuk menerapkan semua perubahan yang dibuat sejauh ini, mulai ulang daemon MySQL dan Apache dan verifikasi apakah daemon berjalan dengan mengeluarkan perintah berikut.

systemctl restart mysql apache2
systemctl status mysql apache2

Instal PrestaShop

Setelah semua persyaratan sistem terpenuhi untuk pemasangan toko online e-niaga Anda, kunjungi halaman rilis Prestashop di GitHub https://github.com/PrestaShop/PrestaShop/releases dan unduh arsip terkompresi paket zip terbaru dengan mengeluarkan utilitas wget, sebagai diilustrasikan dalam contoh berikut.

wget https://github.com/PrestaShop/PrestaShop/releases/download/1.7.2.3/prestashop_1.7.2.3.zip

Setelah pengunduhan arsip zip selesai, ekstrak arsip zip Prestashop langsung ke root dokumen server web Anda dan daftarkan file yang diekstraksi dengan mengeluarkan perintah di bawah ini. Juga, hapus file index.html default yang diinstal oleh server web Apache ke jalur webroot dan juga hapus file info.php yang dibuat sebelumnya.

rm /var/www/html/index.html
rm /var/www/html/info.php
unzip prestashop_1.7.2.3.zip -d /var/www/html/
ls /var/www/html/

Selanjutnya, jalankan perintah di bawah ini untuk memberi pengguna runtime Apache dengan izin menulis penuh ke jalur root web. Gunakan ls perintah untuk membuat daftar izin untuk file instalasi Prestashop yang terletak di direktori /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Lanjutkan dengan instalasi CMS Prestashop dengan membuka browser dan arahkan alamat IP server Anda atau nama domain melalui protokol HTTPS. Pada layar penginstalan pertama, skrip penginstal Prestashop akan membuka isi file prestashop.zip dari jalur root web server web, seperti yang ditunjukkan pada gambar di bawah.

https://yourdomain.tld

Setelah ekstraksi selesai, Anda dapat beralih ke baris perintah dan membuat daftar isi direktori /var/www/html/ untuk melihat semua file hasil ekstraksi Prestashop.

ls -la /var/www/html/

Pada layar berikutnya, penginstal Prestashop akan menampilkan layar selamat datang dan akan meminta Anda untuk memilih bahasa penginstalan untuk melanjutkan proses penginstalan. Pilih bahasa Anda dan tekan tombol Berikutnya untuk melanjutkan ke langkah berikutnya.

Pada layar penginstalan berikutnya, centang 'Saya setuju dengan persyaratan lisensi' dan tekan tombol Berikutnya untuk melanjutkan, seperti yang diilustrasikan pada gambar di bawah.

Pemasang Prestashop sekarang akan melakukan serangkaian pemeriksaan untuk menentukan kompatibilitas dengan sistem dan lingkungan Anda dan akan mencantumkan kesalahan yang mungkin terjadi, jika ditemukan. Jika lingkungan sistem Anda kompatibel dengan instalasi PrestaShop, pesan hijau akan ditampilkan di halaman web Anda, seperti yang ditunjukkan pada tangkapan layar di bawah ini. Sekali lagi, tekan tombol Berikutnya untuk melanjutkan proses instalasi.

Di layar berikutnya, tambahkan informasi yang diperlukan tentang Toko Anda, seperti nama toko, aktivitas utama, negara tempat toko Anda terdaftar, dan detail akun. Berikan alamat email untuk mengakses panel web backend Prestashop dan kata sandi yang kuat yang akan digunakan untuk akun ini, seperti yang ditunjukkan pada tangkapan layar di bawah ini. Setelah selesai tekan tombol Berikutnya untuk melanjutkan.

pada layar instalasi berikutnya, tambahkan alamat database MySQL, nama dan kredensial yang dibuat sebelumnya untuk Prestashop tekan 'Uji koneksi database Anda sekarang' tombol. Jika koneksi ke database MySQL berhasil, tekan tombol Next untuk memulai proses instalasi.

Tunggu beberapa menit hingga penginstal mengisi basis data dengan semua informasi yang diperlukan dan proses penginstalan selesai, seperti yang ditunjukkan pada tangkapan layar di bawah.

Setelah penginstalan selesai, penginstal akan menampilkan informasi login panel admin web yang didukung dan hyperlink yang diperlukan untuk mengakses Prestashop Backend Office , yang akan digunakan untuk mengelola toko online Anda, dan Kantor Depan toko Anda, yang akan ditampilkan kepada klien Anda.

Pastikan Anda menekan tombol Back Office Manage untuk mengakses backend toko. Anda harus menuliskan atau menandai alamat Back Office toko untuk masuk ke panel admin web dari browser lain di masa mendatang.

Saat mencoba login ke Back Office, pesan peringatan seperti yang ditunjukkan pada gambar di bawah ini akan memberitahu Anda bahwa Anda harus menghapus direktori instalasi dari jalur webroot domain Anda.

Agar dapat masuk ke panel admin yang didukung Prestashop, kembali ke konsol server Anda dan jalankan perintah berikut untuk menghapus direktori instalasi Prestashop.

rm -rf /var/www/html/install/

Setelah itu, muat ulang halaman Prestashop Back Office dan login ke panel admin dengan pengaturan kredensial selama proses instalasi, seperti yang diilustrasikan pada tangkapan layar berikut.

Pada login pertama, pesan selamat datang akan ditampilkan di browser. Menekan tombol mulai akan mengarahkan Anda ke Katalog dari mana Anda dapat mulai menambahkan produk pertama Anda, seperti yang ditunjukkan pada tangkapan layar di bawah.

Untuk mengunjungi halaman web frontend Prestashop, cukup ketik nama domain Anda di browser dan Anda akan secara otomatis diarahkan ke halaman awal, seperti yang dijelaskan pada tangkapan layar berikut.

Namun, untuk saat ini, toko hanya dapat diakses tanpa jaminan melalui protokol HTTP yang tidak terenkripsi. Untuk mengaktifkan dukungan HTTPS di Prestashop, login ke panel Back Office dan navigasikan ke Configure -> Shop parameter -> General dan tekan Silakan klik di sini untuk memeriksa apakah toko Anda mendukung HTTPS link, seperti yang diilustrasikan pada gambar di bawah ini.

Setelah pengujian SSL dilakukan, alihkan Aktifkan SSL ke YA dan gulir ke bawah ke bagian bawah laman dan tekan Simpan tombol, untuk menerapkan konfigurasi. Namun, konfigurasi ini sejauh ini memungkinkan dukungan SSL hanya untuk tautan Back Office. Klien yang akan mengunjungi nama domain toko Anda akan diarahkan melalui koneksi yang tidak terenkripsi.

Untuk mengamankan lalu lintas pengunjung di domain Anda, alihkan Aktifkan SSL di semua laman tombol ke Ya, seperti yang ditunjukkan pada gambar di bawah dan gulir ke bawah dan tekan Simpan tombol di bagian bawah halaman untuk menerapkan pengaturan.

Untuk menguji apakah klien sekarang secara otomatis diarahkan untuk mengunjungi domain Anda melalui koneksi aman melalui protokol HTTPS, segarkan halaman frontend Prestashop atau ketik nama domain Anda di browser. Nama domain toko Anda harus diakses sekarang melalui protokol HTTP, seperti yang diilustrasikan pada gambar di bawah.

Itu saja! Anda telah berhasil menginstal dan mengkonfigurasi PrestaShop di Debian 9.1. Namun, karena server HTTP Apache Anda menggunakan sertifikat yang Ditandatangani Sendiri untuk mengenkripsi lalu lintas antara server dan browser pengunjung, pesan peringatan akan selalu dibuat dan ditampilkan di browser mereka saat mereka pertama kali mengunjungi toko. Peringatan ini berdampak buruk bagi bisnis toko online Anda. Dalam hal ini, Anda harus membeli sertifikat yang dikeluarkan oleh Otoritas Sertifikat tepercaya atau mendapatkan pasangan sertifikat gratis dari Let's Encrypt CA.

Untuk konfigurasi khusus lainnya mengenai Prestashop, kunjungi halaman dokumentasi di alamat berikut:http://doc.prestashop.com/display/PS17/Installing+PrestaShop


Debian
  1. Cara Menginstal MySQL 8.0 / 5.7 di Debian 11 / Debian 10

  2. Bagaimana cara menginstal Java 17 di Debian 11

  3. Cara Menginstal Server MySQL di Debian 9

  1. Cara Memasang Server Minecraft di Debian 9

  2. Cara Menginstal Server Redis di Debian 11

  3. Cara Menginstal ProFTPD di Debian 8

  1. Cara menginstal SuiteCRM di Debian 9

  2. Cara Menginstal Nextcloud di Debian 11

  3. Cara menginstal MySQL 8 di Debian 10