Shopware adalah perangkat lunak e-commerce open source profesional yang banyak digunakan. Berdasarkan teknologi mutakhir seperti Symfony 3, Doctrine2 dan Zend Framework Shopware hadir sebagai platform yang sempurna untuk proyek e-commerce Anda berikutnya. Tutorial ini akan menunjukkan kepada Anda cara menginstal Shopware Community Edition (CE) pada sistem Debian 9 dengan menggunakan NGINX sebagai server web dan cara mengamankan situs web dengan sertifikat SSL Let's encrypt gratis.
Persyaratan
Pastikan sistem Anda memenuhi persyaratan minimum berikut:
- Sistem operasi berbasis Linux dengan server web NGINX atau Apache 2.x (dengan mod_rewrite) terpasang.
- PHP 5.6.4 atau lebih tinggi dengan ekstensi ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo, dan pdo/mysql. PHP 7.1 atau lebih tinggi sangat disarankan.
- MySQL 5.5.0 atau lebih tinggi.
- Kemungkinan untuk menyiapkan tugas cron.
- Minimum 4 GB ruang hard disk yang tersedia.
- IonCube Loader versi 5.0.0 atau lebih tinggi (opsional ).
CATATAN: Shopware saat ini mencapai PHP 7.2.x kompatibel.
Prasyarat
- Sistem operasi yang menjalankan Debian 9.
- Pengguna non-root dengan hak istimewa sudo.
Langkah awal
Periksa versi Debian Anda:
lsb_release -ds
# Debian GNU/Linux 9.8 (peregangan)
Siapkan zona waktu:
sudo dpkg-konfigurasi ulang tzdata
Perbarui paket sistem operasi Anda (perangkat lunak). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan dan perbaikan keamanan terbaru untuk paket perangkat lunak default sistem operasi Anda:
sudo apt update &&sudo apt upgrade -y
Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Debian:
sudo apt install -y curl wget vim git unzip socat apt-transport-https
Langkah 1 - Instal ekstensi PHP dan PHP
Instal PHP, serta ekstensi PHP yang diperlukan untuk Shopware:
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mysql php7.0-curl php7.0-json php7.0-zip php7.0- gd php7.0-xml php7.0-mbstring php7.0-opcache
Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Periksa versi PHP:
php --version
# PHP 7.0.30-0+deb9u1 (cli) (dibuat:14 Jun 2018 13:50:25) ( NTS )
# Hak Cipta (c ) 1997-2018 Grup PHP
# Zend Engine v3.2.0, Hak Cipta (c) 1998-2018 Zend Technologies
# dengan Zend OPcache v7.2.15-0debian0.18.04.1, Hak Cipta (c) 1999 -2018, oleh Zend Technologies
Layanan PHP-FPM secara otomatis dimulai dan diaktifkan saat reboot pada sistem Debian 9, jadi tidak perlu memulai dan mengaktifkannya secara manual. Kita dapat melanjutkan ke langkah berikutnya, yaitu instalasi IonCube Loader.
Langkah 2 - Instal IonCube Loader (opsional )
Unduh IonCube Loader:
cd /tmp &&wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Ekstrak pemuat:
tar xfz ioncube_loaders_lin_*.gz
Temukan direktori ekstensi PHP pada sistem dengan menjalankan perintah di bawah ini:
php -i | grep extension_dir
# extension_dir => /usr/lib/php/20170718 => /usr/lib/php/20170718
Salin ionCube Loader ke direktori ekstensi PHP:
sudo cp /tmp/ioncube/ioncube_loader_lin_7.0.so /usr/lib/php/20170718/
Sertakan loader melalui konfigurasi PHP:
sudo vim /etc/php/7.0/fpm/php.ini
Kemudian tambahkan baris dalam file untuk menyertakan pemuat ionCube. Itu bisa di mana saja di file di bawah baris [PHP] line:
zend_extension =/usr/lib/php/20170718/ioncube_loader_lin_7.0.so
Simpan file dan mulai ulang PHP-FPM:
sudo systemctl restart php7.0-fpm.service
Langkah 3 - Instal MariaDB dan buat database untuk Shopware
Instal server database MariaDB:
sudo apt install -y mariadb-server
Periksa versi MariaDB:
mysql --version
# mysql Ver 14.14 Distrib 5.7.26, untuk Linux (x86_64) menggunakan pembungkus EditLine
Jalankan mysql_secure installation script to improve MariaDB security and set the password for MariaDB
root user:
MariaDB
sudo mysql_secure_installation
Jawab setiap pertanyaan:
Apakah Anda ingin menyiapkan plugin VALIDATE PASSWORD? T
Sandi baru:sandi_aman_anda
Masukkan kembali sandi baru:password_aman_anda
Hapus pengguna anonim? [Y/n] Y
Larang login root dari jarak jauh? [Y/n] Y
Hapus database pengujian dan akses ke sana? [Y/n] Y
Muat ulang tabel hak istimewa sekarang? [Y/n] Y
Hubungkan ke shell MariaDB sebagai pengguna root:
sudo mysql -u root -p
# Masukkan kata sandi
Buat database dan pengguna MariaDB kosong untuk Shopware dan ingat kredensialnya:
mysql> BUAT DATABASE dbname;
mysql> GRANT ALL ON dbname.* UNTUK 'username' DIIDENTIFIKASI DENGAN 'password';
mysql> FLUSH PRIVILEGES;
Keluar dari MariaDB:
mysql> keluar
Ganti dbname,
username and
password with your own names.
Langkah 4 - Instal klien Acme.sh dan dapatkan sertifikat Let's Encrypt (opsional)
Mengamankan situs web Anda dengan HTTPS tidak diperlukan, tetapi ini adalah praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat TLS dari Let's Encrypt, kami akan menggunakan klien Acme.sh. Acme.sh adalah perangkat lunak shell Unix murni untuk mendapatkan sertifikat TLS dari Let's Encrypt tanpa ketergantungan.
Unduh dan instal acme.sh:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install -- email akun [dilindungi email]
sumber ~/.bashrc
cd ~
Periksa versi acme.sh:
acme.sh --version
# v2.8.1
Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/nama host Anda:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d contoh .com --keylength ec-256
Jika Anda ingin sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging flag to the above commands.
Setelah menjalankan perintah di atas, sertifikat Anda dan kunci akan di:
- Untuk RSA :direktori
/home/username/example.com directory.
- Untuk ECC/ECDSA :
/home/username/example.com_ecc directory.
Untuk membuat daftar sertifikat yang dikeluarkan, Anda dapat menjalankan:
acme.sh --list
Buat direktori untuk menyimpan sertifikat Anda. Kami akan menggunakan direktori /etc/letsencrypt.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Instal/salin sertifikat ke direktori /etc/letsencrypt.
# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example .com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "Sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh - -install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain- file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
Semua sertifikat akan diperpanjang secara otomatis setiap 60 hari.
Setelah mendapatkan sertifikat keluar dari pengguna root dan kembali ke pengguna sudo normal:
keluar
Langkah 5 - Instal dan konfigurasikan NGINX
Instal server web NGINX:
sudo apt install -y nginx
Periksa versi NGINX:
sudo nginx -v
# versi nginx:nginx/1.10.3
Konfigurasikan NGINX untuk Shopware. Jalankan sudo vim /etc/nginx/sites-available/shopware.conf and add the following configuration:
server {
listen 80;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
server_name example.com;
root /var/www/shopware;
index shopware.php index.php;
location / {
try_files $uri $uri/ /shopware.php$is_args$args;
}
location /recovery/install {
index index.php;
try_files $uri /recovery/install/index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}
Aktifkan konfigurasi shopware.conf configuration by linking the file to the
sites-enabled directory:
sudo ln -s /etc/nginx/sites-available/shopware.conf /etc/nginx/sites-enabled
Periksa konfigurasi NGINX untuk kesalahan sintaks:
sudo nginx -t
Muat ulang layanan NGINX:
sudo systemctl reload nginx.service
Langkah 6 - Instal Shopware
Buat direktori root dokumen untuk Shopware:
sudo mkdir -p /var/www/shopware
Ubah kepemilikan direktori /var/www/shopware directory to {jour_user}
:
sudo chown -R {pengguna_Anda}:{pengguna_Anda} /var/www/shopware
Arahkan ke direktori root dokumen:
cd /var/www/shopware
Unduh dan unzip rilis Shopware terbaru melalui wget:
wget https://releases.shopware.com/install_5.5.8_d5bf50630eeaacc6679683e0ab0dcba89498be6d.zip?_ga=2.141661361.269357371.1556739808-1418008019.1556603459 -O shopware.zip
unzip
rm shopware.zip /pra>CATATAN: Perbarui URL unduhan jika ada rilis yang lebih baru.
Ubah kepemilikan direktori
/var/www/shopware directory to
www-data.
sudo chown -R www-data:www-data /var/www/shopwareTingkatkan
memory_limit = 256M and
upload_max_filesize = 6M, and set
allow_url_fopen = On if not already set in
/etc/php/7.0/fpm/php.ini file.
sudo vim /etc/php/7.0/fpm/php.iniSetelah membuat perubahan pada file
/etc/php/7.0/fpm/php.ini file, reload
php7.0-fpm.service:
sudo systemctl reload php7.0-fpm.serviceBuka domain/IP Anda di browser web dan ikuti wizard penginstalan. Bagian belakang Shopware terletak di
/backend example:
http://example.com/backend.
Langkah 7 - Selesaikan penyiapan Shopware
Mulailah dengan memilih bahasa dan klik Berikutnya:
Selanjutnya, pastikan Anda memenuhi semua persyaratan Shopware:
Setuju dengan KL Shopware dan klik Berikutnya:
Masukkan kredensial basis data dan klik Berikutnya:
Mulai instalasi untuk membuat tabel database:
Setelah itu, Anda akan melihat pesan tentang impor database yang berhasil:
Pilih lisensi dan klik Berikutnya:
Isi beberapa pengaturan dasar untuk menyelesaikan penyiapan dan klik Berikutnya:
Instalasi selesai.
Untuk mengakses area admin, tambahkan /backend ke URL Anda.
Anda telah berhasil menginstal Shopware. Nikmati toko online baru Anda!
Tautan
- https://en.shopware.com/
- https://github.com/shopware/shopware