Kako namestiti platformo za e-trgovino Sylius na FreeBSD 12

Sylius je sodobna platforma za e-trgovino za PHP, ki temelji na Symfony Framework. Izvorna koda Sylius gostuje na GitHubu .

Ta vodnik vas bo vodil skozi postopek namestitve Syliusa na novem primerku FreeBSD 12 Vultr z uporabo PHP, MariaDB kot baze podatkov in Nginxa kot spletnega strežnika.

Zahteve

Če želite namestiti Sylius, boste potrebovali:

  • Primerek strežnika Vultr z najmanj 2048 MB pomnilnika.
  • Nginx ali Apache. V tem priročniku uporabljamo Nginx.
  • PHP različica 7.2 ali novejša z nekaterimi specifičnimi razširitvami PHP: gd, exif, fileinfo,intl
  • Nastavitve konfiguracije PHP: memory_limitenake ali večje od 1024M,date.timezone
  • MySQL različice 5.7 ali 8.0 ali enakovredno MariaDB
  • Skladatelj
  • Node.js
  • Preja

Preden začneš

Preverite različico FreeBSD.

uname -ro # FreeBSD 12.0-RELEASE

Prepričajte se, da je vaš sistem FreeBSD posodobljen.

freebsd-update fetch install pkg update && pkg upgrade -y

Namestite potrebne pakete.

pkg install -y sudo vim unzip curl wget bash socat git

Ustvarite nov uporabniški račun s svojim želenim uporabniškim imenom. Uporabili bomo 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!

Zaženite visudoukaz in razkomentirajte %wheel ALL=(ALL) ALLvrstico, da omogočite članom wheelskupine, da izvedejo kateri koli ukaz.

visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL

Zdaj preklopite na novo ustvarjenega uporabnika z su.

su - johndoe

OPOMBA: Zamenjajte johndoez vašim uporabniškim imenom.

Nastavite časovni pas.

sudo tzsetup

Namesti PHP

Namestite PHP in potrebne razširitve PHP.

sudo pkg install -y php73 php73-mbstring php73-tokenizer php73-pdo php73-pdo_mysql php73-openssl php73-hash php73-json php73-phar php73-filter php73-zlib php73-dom php73-xml php73-xmlwriter php73-xmlreader php73-curl php73-session php73-ctype php73-iconv php73-gd php73-simplexml php73-zip php73-filter php73-tokenizer php73-calendar php73-fileinfo php73-intl php73-phar php73-soap php73-xmlrpc php73-opcache php73-mysqli php73-bcmath php73-gmp php73-exif

Preverite različico.

php --version # PHP 7.3.8 (cli) (built: Aug 8 2019 01:28:36) ( NTS )

Mehka povezava php.ini-productiondo php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Omogočite in zaženite PHP-FPM.

sudo sysrc php_fpm_enable=yes sudo service php-fpm start

Zaženite sudo vim /usr/local/etc/php.iniin nastavite memory_limitna 1024Mali več ter nastavite date.timezone.

memory_limit = 1024M date.timezone = Region/City

Znova zaženite PHP-FPM.

sudo service php-fpm restart

Namestite MariaDB in ustvarite bazo podatkov

Namestite MariaDB.

sudo pkg install -y mariadb102-client mariadb102-server

Preverite različico.

mysql --version # mysql Ver 15.1 Distrib 10.2.25-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1

Zaženite in omogočite MariaDB.

sudo sysrc mysql_enable="yes" sudo service mysql-server start

Zaženite mysql_secure installationskript, da izboljšate varnost in nastavite geslo za rootuporabnika.

sudo mysql_secure_installation

Povežite se z lupino kot root uporabnik.

sudo mysql -u root -p # Enter password

Ustvarite prazno bazo podatkov in uporabnika za Sylius ter si zapomnite poverilnice.

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

OPOMBA: Zamenjajte dbnamein usernamez ustreznimi imeni za vašo nastavitev. Zamenjajte passwordz močnim geslom.

Namestite Nginx

Namestite Nginx.

sudo pkg install -y nginx

Preverite različico.

nginx -v # nginx version: nginx/1.16.1

Omogočite in zaženite Nginx.

sudo sysrc nginx_enable=yes sudo service nginx start

Konfigurirajte Nginx za Sylius. Zaženite sudo vim /usr/local/etc/nginx/sylius.confin napolnite datoteko z naslednjo konfiguracijo.

server { listen 80; server_name example.com; root /usr/local/www/sylius/public; location / { try_files $uri /index.php$is_args$args; } location ~ ^/index\.php(/|$) { fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; internal; } location ~ \.php$ { return 404; } client_max_body_size 6m; }

Shranite datoteko in zapustite s :+ W+ Q.

Zdaj moramo vključiti sylius.confv glavno nginx.confdatoteko.

Zaženite sudo vim /usr/local/etc/nginx/nginx.confin dodajte naslednjo vrstico v http {}blok.

include sylius.conf;

Preizkusite konfiguracijo.

sudo nginx -t

Ponovno naložite Nginx.

sudo service nginx restart

Namesti Composer

Namestite Composer globalno.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" sudo mv composer.phar /usr/local/bin/composer

Preverite različico.

composer --version # Composer version 1.9.0 2019-08-02 20:55:32

Namestite Node.js

Namestite Node.js.

sudo pkg install -y node

Preverite različico.

node --version # v12.4.0

Namestite Yarn

Namestite upravitelja paketov Yarn.

sudo pkg install -y yarn

Preverite različico.

yarn --version # 1.16.0

Namestite Sylius

Ustvarite korenski imenik dokumenta.

sudo mkdir -p /usr/local/www/sylius

Spremenite lastništvo /usr/local/www/syliusimenika v johndoe.

sudo chown -R johndoe:johndoe /usr/local/www/sylius

Pomaknite se do korenske mape dokumenta.

cd /usr/local/www/sylius

Zaženite nov projekt Sylius tako, da zaženete ta ukaz:

composer create-project sylius/sylius-standard .

Zaženite, vim .env.localda vnesete podrobnosti baze podatkov in zaženete Sylius v izbranem okolju.

APP_ENV=prod DATABASE_URL=mysql://username:[email protected]/dbname

OPOMBA: Zamenjajte username, passwordin dbnames podatki vaše baze podatkov.

Ko je vse na svojem mestu, zaženite naslednji ukaz za namestitev Syliusa:

php bin/console sylius:install -e prod

Če želite videti popolnoma delujoč sprednji del, boste morali namestiti njegova sredstva. Sylius uporablja Gulp za gradnjo front-end sredstev z uporabo Yarn kot upravitelja paketov JavaScript. Ko je Yarn nameščen, pojdite v imenik projekta, da namestite odvisnosti.

yarn install

Nato zgradite sredstva sprednjega dela tako, da zaženete:

yarn build

Spremenite lastništvo /usr/local/www/syliusimenika v www.

sudo chown -R www:www /usr/local/www/sylius

Ustvarite /var/lib/php/session/imenik in spremenite lastništvo v www.

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

Znova zaženite storitev PHP-FPM.

sudo service php-fpm restart

Platforma za e-trgovino Sylius je nameščena. Upravniška plošča privzeto usmerja na /admin.


Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več