GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal PrestaShop di Ubuntu 18.04

PrestaShopi adalah platform e-commerce gratis dan open-source. Ini didasarkan pada PHP dan MySQL dan dapat diperluas dengan plugin dan tema gratis dan premium.

Dengan fitur seperti antarmuka administratif yang intuitif, beberapa gateway pembayaran, multibahasa, analitik, dan pelaporan, PrestaShop adalah platform pilihan bagi banyak pedagang online.

Dalam tutorial ini, kami akan menunjukkan cara menginstal PrestaShop di server Ubuntu 18.04. Kami akan menggunakan Nginx sebagai server web, PHP 7.2 terbaru dan MySQL/MariaDB sebagai server database.

Prasyarat #

Pastikan Anda telah memenuhi prasyarat berikut sebelum melanjutkan tutorial ini:

  • Memiliki nama domain yang menunjuk ke IP server publik Anda. Kami akan menggunakan example.com .
  • Nginx diinstal pada server Ubuntu Anda dengan mengikuti petunjuk berikut.
  • Sertifikat SSL dipasang untuk domain Anda guna mengenkripsi informasi pengguna. Anda dapat memasang sertifikat SSL Let's Encrypt gratis dengan mengikuti petunjuk berikut.

Perbarui paket sistem ke versi terbaru dan instal utilitas unzip:

sudo apt update && sudo apt upgradesudo apt install unzip

Membuat Database MySQL #

PrestaShop menyimpan informasinya dalam database MySQL.

Jika MySQL atau MariaDBis terinstal di server Anda, Anda dapat melewati langkah ini. Jika tidak, instal paket server MySQL 5.7 dari repositori default Ubuntu dengan mengetik:

sudo apt install mysql-server mysql-client
Untuk instalasi MySQL baru, disarankan untuk menjalankan mysql_secure_installation perintah untuk meningkatkan keamanan server MySQL Anda.

Untuk membuat database, masuk ke shell mysql:

sudo mysql

Dari dalam shell MySQL, jalankan pernyataan SQL berikut untuk membuat database baru dengan nama prestashop :

CREATE DATABASE prestashop;

Selanjutnya, buat akun pengguna MySQL dengan nama prestashop dan berikan izin yang diperlukan kepada pengguna dengan menjalankan perintah berikut:

GRANT ALL ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Jangan lupa ganti change-with-strong-password dengan kata sandi yang kuat.

Setelah selesai, keluar dari konsol MySQL dengan mengetik:

EXIT;

Instalasi dan Konfigurasi PHP #

PHP 7.2 adalah versi PHP default di Ubuntu 18.04, dan didukung sepenuhnya serta direkomendasikan untuk PrestaShop.

Jalankan perintah berikut untuk menginstal PHP dan semua modul PHP yang diperlukan:

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

Setelah proses instalasi selesai, layanan PHP-FPM akan otomatis dimulai. Anda dapat memverifikasinya dengan mengetik:

sudo systemctl status php7.2-fpm

Outputnya akan terlihat seperti ini:

* php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-03-24 11:53:33 PDT; 14s ago
     Docs: man:php-fpm7.2(8)
 Main PID: 15853 (php-fpm7.2)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"

Jalankan sed berikut ini perintah untuk mengatur opsi PHP yang direkomendasikan:

sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

Mengunduh PrestaShop #

Pada saat artikel ini ditulis, versi stabil terbaru dari PrestaShop adalah versi 1.7.6.2 .

Unduh versi terbaru PrestaShop dari Halaman Unduhan PrestaShop menggunakan perintah wget berikut:

cd /tmpwget https://download.prestashop.com/download/releases/prestashop_1.7.6.2.zip

Ketika unduhan selesai, buat direktori yang akan menampung file PrestaShop kami:

sudo mkdir -p /var/www/html/example.com

Selanjutnya, ekstrak arsip PrestaShop:

unzip prestashop_*.zip

Arsip ini berisi file zip lain "prestashop.zip", yang berisi semua file PrestaShop. Ekstrak file ke direktori root dokumen domain:

sudo unzip prestashop.zip -d /var/www/html/example.com

Tetapkan izin yang benar sehingga server web dapat memiliki akses penuh ke file dan direktori situs menggunakan chown berikut perintah:

sudo chown -R www-data: /var/www/html

Mengonfigurasi Nginx #

Sekarang, Anda seharusnya sudah menginstal Nginx dengan sertifikat SSL di server Ubuntu Anda. Jika tidak, periksa prasyarat untuk tutorial ini.

Buka editor teks Anda dan buat file berikut:

sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
server {

    listen 80;
    listen 443 ssl http2;

    server_name example.com www.example.com;
    root /var/www/html/example.com;
    index index.php;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # Cloudflare / Max CDN fix
    location ~* \.(eot|otf|ttf|woff(?:2)?)$ {
        add_header Access-Control-Allow-Origin *;
    }

    # Do not save logs for these
    location = /favicon.ico {
        auth_basic off;
        allow all;
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        auth_basic off;
        allow all;
        log_not_found off;
        access_log off;
    }

    # Images
    rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$1$2$3.jpg last;
    rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
    rewrite ^/c/([0-9]+)(-[.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$ /img/c/$1$2$3.jpg last;
    rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+.jpg$ /img/c/$1$2.jpg last;

    # AlphaImageLoader for IE and fancybox
    rewrite ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 last;

    # Web service API
    rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;

    # Installation sandbox
    rewrite ^(/install(?:-dev)?/sandbox)/(.*) /$1/test.php last;

    #Change this block to your admin folder
    location /admin_CHANGE_ME {
        if (!-e $request_filename) {
            rewrite ^/.*$ /admin_CHANGE_ME/index.php last;
        }
    }

    # File security
    # .htaccess .DS_Store .htpasswd etc
    location ~ /\. {
        deny all;
    }
    # Source code directories
    location ~ ^/(app|bin|cache|classes|config|controllers|docs|localization|override|src|tests|tools|translations|travis-scripts|vendor|var)/ {
        deny all;
    }
    # Prevent exposing other sensitive files
    location ~ \.(yml|log|tpl|twig|sass)$ {
        deny all;
    }

    # Prevent injection of php files
    location /upload {
        location ~ \.php$ {
            deny all;
        }
    }
    location /img {
        location ~ \.php$ {
            deny all;
        }
    }

    # PHP FPM part
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}

Jangan lupa untuk mengganti example.com dengan domain PrestaShop Anda, dan “admin_CHANGE_ME” dengan direktori admin Anda. Anda dapat menemukan nama direktori dengan membuat daftar isi direktori root Prestashop:

sudo ls -l /var/www/html/example.com | grep admin

Pastikan juga Anda menggunakan jalur yang benar ke file sertifikat SSL. Cuplikan yang digunakan dalam konfigurasi ini dibuat dalam panduan ini.

Sebelum memulai ulang layanan Nginx, periksa konfigurasi untuk kesalahan sintaks:

sudo nginx -t

Outputnya akan terlihat seperti ini:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Terakhir, restart layanan Nginx dengan mengetik:

sudo systemctl restart nginx

Menginstal PrestaShop #

Sekarang PrestaShop telah diunduh dan konfigurasi server selesai, Anda dapat menyelesaikan penginstalan melalui antarmuka web.

Buka browser Anda, ketik domain Anda, dan layar seperti berikut akan muncul:

Pilih bahasa yang ingin Anda gunakan dan klik tombol “Berikutnya”.

Pada layar berikutnya, Anda akan disajikan dengan perjanjian lisensi PrestaShop. Baca lisensi dan pilih "Saya setuju dengan syarat dan ketentuan di atas." untuk melanjutkan:

Selanjutnya, Anda akan melihat halaman informasi berikut:

Pastikan semua persyaratan pra-pemasangan terpenuhi, dan sistem Anda kompatibel dengan PrestaShop.

Di layar berikutnya, Anda harus memasukkan detail toko Anda. Alamat email adalah nama pengguna untuk mengakses backend administrasi PrestaShop.

Selanjutnya, wizard pengaturan akan meminta Anda untuk memasukkan detail koneksi database Anda. Masukkan pengguna MySQL dan detail database yang Anda buat sebelumnya:

Klik tombol “Next”, dan instalasi akan dimulai:

Instalasi mungkin memakan waktu beberapa menit, setelah selesai halaman berikut akan muncul, memberitahu Anda bahwa PrestaShop telah diinstal.

Untuk alasan keamanan, Anda harus menghapus direktori instalasi. Untuk melakukannya, kembali ke terminal dan masukkan rm berikut perintah:

sudo rm -rf /var/www/html/example.com/install

Untuk mengakses dasbor administratif PrestaShop Anda, klik tombol “Kelola toko Anda”. Masukkan email dan kata sandi Anda, dan Anda akan diarahkan ke dasbor administrasi.

Dari sini, Anda dapat mulai menyesuaikan instalasi PrestaShop dan menambahkan produk baru.


Ubuntu
  1. Cara Menginstal MySQL 8.0 di Ubuntu 18.04

  2. Cara Menginstal MySQL di Ubuntu 20.04

  3. Cara Menginstal PHP 7.4 / 7.3 / 7.2 di Ubuntu 18.04 / Ubuntu 16.04

  1. Cara Menginstal MySQL di Ubuntu 18.04

  2. Cara Menginstal Magento 2 di Ubuntu 18.04

  3. Cara menginstal Joomla 3.9 di Ubuntu 20.04

  1. Cara Menginstal MySQL 8.0 di Ubuntu 18.04

  2. Cara Menginstal MySQL di Ubuntu

  3. Cara Menginstal Server MySQL di Ubuntu