Reikalavimai
											
										
																			
											
												Prieš tau pradedant
											
										
																			
											
												Įdiegti PHP
											
										
																			
											
												Įdiekite „IonCube Loader“.
											
										
																			
											
												Įdiekite MariaDB ir nustatykite duomenų bazę
											
										
																			
											
												Įdiekite ir sukonfigūruokite „Nginx“.
											
										
																			
											
												Įdiekite „Shopware“.
											
										
																	
												
						
												
„Shopware“ yra atvirojo kodo el. prekybos platforma, skirta internetinėms įmonėms. Parduotuvės šaltinio kodas yra „ Github“ . Šis vadovas parodys, kaip įdiegti „Shopware Community Edition“ (CE) naujame „FreeBSD 11 Vultr“ serverio egzemplioriuje.
Reikalavimai
Minimalūs Shopware reikalavimai yra šie:
- PHP 5.6.4 ar naujesnė versija su šiais plėtiniais:
- ctype
- curl
- dom
- hash
- iconv
- gd
- json
- mbstring
- openssl
- session
- simplexml
- xml
- zip
- zlib
- pdo/mysql
 
- Nginx arba Apache su mod_rewriteįjungta. Šiame vadove bus naudojamas Nginx.
- MySQL versija 5.5.0 arba naujesnė.
- IonCube Loader versija 5.0. Neprivaloma, bet rekomenduojama.
Prieš tau pradedant
Patikrinkite FreeBSD versiją.
uname -ro
# FreeBSD 11.2-RELEASE
Įsitikinkite, kad jūsų FreeBSD sistema yra atnaujinta.
freebsd-update fetch install
pkg update && pkg upgrade -y
Įdiekite sudo, vim, unzip, wgetir bashpaketus jei jie nėra jūsų sistemoje.
pkg install -y sudo vim unzip wget bash
Sukurkite naują vartotojo paskyrą su pageidaujamu vartotojo vardu (naudosime johndoe).
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
Vykdykite visudokomandą ir panaikinkite %wheel ALL=(ALL) ALLeilutės komentarą, kad wheelgrupės nariai galėtų vykdyti bet kurią komandą.
# Uncomment by removing the hash (#) sign
%wheel ALL=(ALL) ALL
Dabar perjunkite į naujai sukurtą vartotoją naudodami sukomandą.
su - johndoe
PASTABA:  pakeiskite johndoesavo vartotojo vardu.
Nustatykite laiko juostą.
sudo tzsetup
Įdiegti PHP
Įdiekite PHP, taip pat reikiamus PHP plėtinius.
sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-pdo php72-pdo_mysql php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache
Patikrinkite versiją.
php --version
# PHP 7.2.10 (cli) (built: Oct  2 2018 01:30:18) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
#     with Zend OPcache v7.2.10, Copyright (c) 1999-2018, by Zend Technologies
Minkšta nuoroda php.ini-productionį php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Įjunkite ir paleiskite PHP-FPM.
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
Įdiekite „IonCube Loader“.
Atsisiųskite „IonCube Loader“.
cd /tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_fre_11_x86-64.tar.gz
Ištraukite krautuvą.
tar xfz ioncube_loaders_fre_*.tar.gz
Raskite PHP plėtinių katalogą sistemoje vykdydami toliau pateiktas komandas.
php -i | grep extension_dir
# extension_dir => /usr/local/lib/php/20170718 => /usr/local/lib/php/20170718
Nukopijuokite IonCube Loader į PHP plėtinių katalogą.
sudo cp /tmp/ioncube/ioncube_loader_fre_7.2.so /usr/local/lib/php/20170718
Atidarykite PHP konfigūracijos failą.
sudo vim /usr/local/etc/php.ini
Tada prie failo pridėkite eilutę, kad įtrauktumėte įkroviklį. Jis gali būti bet kurioje failo vietoje po [PHP]eilute.
zend_extension = /usr/local/lib/php/20170718/ioncube_loader_fre_7.2.so
Išsaugokite failą ir iš naujo paleiskite PHP-FPM.
sudo service php-fpm restart
Įdiekite MariaDB ir nustatykite duomenų bazę
Atsisiųskite ir įdiekite MariaDB.
sudo pkg install -y mariadb102-client mariadb102-server
Patikrinkite versiją.
mysql --version
# mysql  Ver 15.1 Distrib 10.2.17-MariaDB, for FreeBSD11.2 (amd64) using readline 5.1
Įjunkite ir paleiskite MariaDB.
sudo sysrc mysql_enable="yes" 
sudo service mysql-server start
Paleiskite mysql_secure_installationscenarijų, kad pagerintumėte diegimo saugumą.
sudo mysql_secure_installation
Prisijunkite prie MariaDB kaip root naudotojas.
sudo mysql -u root -p
# Enter password:
Sukurkite naują duomenų bazę ir vartotoją bei atsiminkite kredencialus.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Išeikite iš MariaDB.
exit
Įdiekite „Nginx“.
sudo pkg install -y nginx
Patikrinkite versiją.
nginx -v
# nginx version: nginx/1.14.0
Įgalinkite ir paleiskite „Nginx“.
sudo sysrc nginx_enable=yes
sudo service nginx start
Paleiskite sudo vim /usr/local/etc/nginx/shopware.confir sukonfigūruokite „Nginx for Shopware“.
server {
  listen 80;
  listen [::]:80;
  server_name example.com; # Check this
  root /usr/local/www/shopware; # Check this
  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$ {
    fastcgi_pass 127.0.0.1:9000; # Check this
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
   }
}
Išsaugokite failą ir išeikite su :+ W+ Q.
Dabar turime įtraukti shopware.confį pagrindinį nginx.conffailą.
Vykdykite sudo vim /usr/local/etc/nginx/nginx.confir pridėkite šią eilutę prie http {}bloko.
include shopware.conf;
Išbandykite konfigūraciją.
sudo nginx -t
Iš naujo įkelti Nginx.
sudo service nginx reload
Įdiekite „Shopware“.
Sukurkite dokumento šakninį katalogą.
sudo mkdir -p /usr/local/www/shopware
Pakeiskite /usr/local/www/shopwarekatalogo nuosavybės teisę į johndoe.
sudo chown -R johndoe:johndoe /usr/local/www/shopware
Atsisiųskite naujausią „Shopware“ versiją.
cd /usr/local/www/shopware
wget http://releases.s3.shopware.com.s3.amazonaws.com/install_5.5.1_4a48054b7c53187c807d6a6d82ec88ffb72b5e6a.zip?_ga=2.55824683.1277098894.1539887145-1483950935.1538544950 -O shopware.zip
unzip shopware.zip
rm shopware.zip
PASTABA:  jei yra naujesnė versija, atnaujinkite atsisiuntimo nuorodą aukščiau esančioje komandoje.
Pakeiskite /usr/local/www/shopwarekatalogo nuosavybės teisę į www.
sudo chown -R www:www /usr/local/www/shopware
Atidarykite /usr/local/etc/php.inifailą.
sudo vim /usr/local/etc/php.ini
Padidinkite memory_limit = 256Mir upload_max_filesize = 6M, ir nustatykite, allow_url_fopen = Onjei dar nenustatyta.
Atlikę pakeitimus /etc/php/7.2/fpm/php.inifaile, įkelkite iš naujophp-fpm.service
sudo service php-fpm reload
Atidarykite savo domeną / IP žiniatinklio naršyklėje ir vadovaukitės diegimo vedliu. „Shopware“ užpakalinė dalis yra /backendpavyzdyje: http://example.com/backend.
Sėkmingai įdiegėte „Shopware“.