GNU/Linux >> Belajar Linux >  >> Fedora

Cara Menginstal Shopware dengan NGINX dan Lets Encrypt di Fedora 30

Shopware adalah generasi berikutnya dari perangkat lunak e-commerce open source. Berdasarkan teknologi mutakhir seperti Symfony 3, Doctrine2 dan Zend Framework Shopware hadir sebagai platform yang sempurna untuk proyek e-niaga Anda berikutnya. Tutorial ini akan memandu Anda melalui penginstalan Shopware Community Edition (CE) di sistem Fedora 30 dengan menggunakan NGINX sebagai server web.

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 5 saat ini mencapai PHP 7.2.x kompatibel.

Prasyarat

  • Sistem operasi yang menjalankan Fedora 29.
  • Pengguna non-root dengan hak istimewa sudo.

Saya akan menggunakan nama domain example.com dalam tutorial ini. Silakan ganti kata example.com dengan nama domain Anda sendiri di mana pun itu muncul pada perintah dan file konfigurasi di bawah ini (terutama di file konfigurasi nginx dan perintah Let's encrypt).

Langkah awal

Periksa versi Fedora Anda:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Siapkan zona waktu:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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 dnf upgrade -y

Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Fedora:

sudo dnf install -y curl wget vim git sudo unzip socat bash-completion

Langkah 1 - Instal ekstensi PHP dan PHP

Instal PHP, serta ekstensi PHP yang diperlukan untuk Shopware:

sudo dnf install -y php php-cli php-fpm php-common php-mysqlnd php-curl php-json php-zip php-gd php-xml php-mbstring php-opcache

Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Periksa versi PHP:

php --version

# PHP 7.2.16 (cli) (built: Apr 30 2019 08:37:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.5, Copyright (c) 1999-2018, by Zend Technologies

Mulai dan aktifkan layanan PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Kita dapat melanjutkan ke langkah berikutnya, yaitu pemasangan IonCube Loader.

Langkah 2 - Instal IonCube Loader (opsional )

Langkah ini opsional karena Shopware bekerja tanpa IonCube sekarang, tetapi mungkin masih ada ekstensi atau tema yang menggunakan IonCube, jadi tidak ada salahnya untuk menginstalnya. 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/lib64/php/modules => /usr/lib64/php/modules

Salin ionCube Loader ke direktori ekstensi PHP:

sudo cp /tmp/ioncube/ioncube_loader_lin_7.2.so /usr/lib64/php/modules

Sertakan loader melalui konfigurasi PHP:

sudo vim /etc/php.ini

Kemudian tambahkan baris dalam file untuk menyertakan pemuat ionCube. Itu bisa di mana saja dalam file di bawah ini [PHP] baris:

zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_7.2.so

Simpan file dan mulai ulang PHP-FPM:

sudo systemctl restart php-fpm.service

Langkah 3 - Instal MariaDB dan buat database untuk Shopware

Instal server database MariaDB:

sudo dnf install -y mariadb-server

Periksa versi MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.2.23-MariaDB, for Linux (x86_64) using readline 5.1

Memulai dan mengaktifkan layanan MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Jalankan mysql_secure installation skrip untuk meningkatkan keamanan MariaDB dan menyetel sandi untuk MariaDB root pengguna:

sudo mysql_secure_installation

Jawab setiap pertanyaan:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Hubungkan ke Shell MariaDB sebagai pengguna root:

sudo mysql -u root -p
# Enter password

Buat database MariaDB dan pengguna kosong untuk Shopware dan ingat kredensialnya:

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Keluar dari MariaDB:

mysql> exit

Ganti dbnameusername dan password dengan nama Anda sendiri.

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 software 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 --accountemail [email protected]
source ~/.bashrc
cd ~

Periksa versi acme.sh :

acme.sh --version
# v2.8.1

Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/hostname Anda:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Jika Anda ingin sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging tandai ke perintah di atas.

Setelah menjalankan perintah di atas, sertifikat your Anda dan kunci akan di:

  • Untuk RSA/home/username/example.com direktori.
  • Untuk ECC/ECDSA/home/username/example.com_ecc direktori.

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:

exit

Langkah 5 - Instal dan konfigurasikan NGINX

Instal server web NGINX:

sudo dnf install -y nginx

Periksa versi NGINX:

nginx -v
# nginx version: nginx/1.14.2

Mulai dan aktifkan layanan NGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Konfigurasikan NGINX untuk Shopware. Jalankan sudo vim /etc/nginx/conf.d/shopware.conf dan tambahkan konfigurasi berikut:

server {
    listen 80;
    listen [::]:80;
    
    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 fastcgi.conf;
        fastcgi_pass unix:/run/php-fpm/www.sock;
    }
}

Periksa konfigurasi NGINX untuk mengetahui 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 /var/www/shopware direktori ke {your_user}. Ganti {your_user} dengan nama pengguna pengguna yang saat ini Anda masuki:

sudo chown -R {your_user}:{your_user} /var/www/shopware

Arahkan ke direktori root dokumen:

cd /var/www/shopware

Download 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 shopware.zip
rm shopware.zip

CATATAN: Perbarui URL unduhan jika ada rilis yang lebih baru.

Ubah kepemilikan /var/www/shopware direktori ke nginx .

sudo chown -R nginx:nginx /var/www/shopware

Jalankan sudo vim /etc/php-fpm.d/www.conf dan setel pengguna dan grup ke nginx . Awalnya, mereka akan disetel ke apache:

sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

Buat /var/lib/php/session/ direktori dan ubah kepemilikan menjadi nginx .

sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session

Tingkatkan memory_limit = 256M dan upload_max_filesize = 6M , dan setel allow_url_fopen = On jika belum disetel di /etc/php/7.2/fpm/php.ini berkas.

sudo vim /etc/php.ini

Setelah membuat perubahan di /etc/php.ini file, muat ulang php-fpm.service:

sudo systemctl reload php-fpm.service

Buka domain/IP Anda di browser web dan ikuti wizard penginstalan. Bagian belakang Shopware terletak di /backend contoh: 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!

  • https://en.shopware.com/
  • https://github.com/shopware/shopware

Fedora
  1. Cara Menginstal CMS Pagekit dengan Nginx di Fedora 29

  2. Cara Memasang InvoicePlane dengan Nginx di Fedora 29

  3. Cara Menginstal Phorum dengan Nginx di Fedora 30

  1. Cara Menginstal CMS Oktober dengan Nginx di Fedora 29

  2. Cara Menginstal Shopware dengan NGINX dan Mari mengenkripsi di Ubuntu 18.04 LTS

  3. Cara Menginstal Shopware dengan NGINX dan Mengenkripsi di CentOS 7

  1. Cara Menginstal Shopware dengan NGINX dan Lets Encrypt di Fedora 30

  2. Cara Instal Grav CMS dengan Nginx di Fedora 30

  3. Cara Instal Pico CMS dengan Nginx dan Lets Encrypt di CentOS 7