Sådan installeres Sylius eCommerce Platform på FreeBSD 12

Sylius er en moderne e-handelsplatform til PHP, baseret på Symfony Framework. Sylius-kildekoden er hostet på GitHub .

Denne guide vil lede dig gennem Sylius-installationsprocessen på en frisk FreeBSD 12 Vultr-instans, der bruger PHP, MariaDB som database og Nginx som webserver.

Krav

For at kunne installere Sylius skal du bruge:

  • Vultr-serverinstans med mindst 2048 MB hukommelse.
  • Nginx eller Apache. I denne guide bruger vi Nginx.
  • PHP version 7.2 eller nyere med nogle specifikke PHP-udvidelser: gd, exif, fileinfo,intl
  • PHP-konfigurationsindstillinger: memory_limitlig med eller større end 1024M,date.timezone
  • MySQL version 5.7 eller 8.0 eller tilsvarende MariaDB
  • Komponist
  • Node.js
  • Garn

Før du begynder

Tjek FreeBSD-versionen.

uname -ro # FreeBSD 12.0-RELEASE

Sørg for, at dit FreeBSD-system er opdateret.

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

Installer de nødvendige pakker.

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

Opret en ny brugerkonto med dit foretrukne brugernavn. Vi vil bruge 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!

Kør visudokommandoen, og fjern kommentering af %wheel ALL=(ALL) ALLlinjen, for at tillade medlemmer af wheelgruppen at udføre enhver kommando.

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

Skift nu til din nyoprettede bruger med su.

su - johndoe

BEMÆRK: Erstat johndoemed dit brugernavn.

Indstil tidszonen.

sudo tzsetup

Installer PHP

Installer PHP og nødvendige PHP-udvidelser.

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

Tjek versionen.

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

Soft-link php.ini-productiontil php.ini.

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

Aktiver og start PHP-FPM.

sudo sysrc php_fpm_enable=yes sudo service php-fpm start

Kør sudo vim /usr/local/etc/php.iniog sæt memory_limittil 1024Meller mere, og sæt op date.timezone.

memory_limit = 1024M date.timezone = Region/City

Genstart PHP-FPM.

sudo service php-fpm restart

Installer MariaDB og opret en database

Installer MariaDB.

sudo pkg install -y mariadb102-client mariadb102-server

Tjek versionen.

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

Start og aktiver MariaDB.

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

Kør mysql_secure installationscriptet for at forbedre sikkerheden og indstille adgangskoden til rootbrugeren.

sudo mysql_secure_installation

Opret forbindelse til shellen som root-bruger.

sudo mysql -u root -p # Enter password

Opret en tom database og bruger til Sylius, og husk legitimationsoplysningerne.

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

BEMÆRK: Erstat dbnameog usernamemed passende navne til din opsætning. Erstat passwordmed en stærk adgangskode.

Installer Nginx

Installer Nginx.

sudo pkg install -y nginx

Tjek versionen.

nginx -v # nginx version: nginx/1.16.1

Aktiver og start Nginx.

sudo sysrc nginx_enable=yes sudo service nginx start

Konfigurer Nginx til Sylius. Kør sudo vim /usr/local/etc/nginx/sylius.confog udfyld filen med følgende konfiguration.

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; }

Gem filen og afslut med :+ W+ Q.

Nu skal vi inkludere sylius.confi hovedfilen nginx.conf.

Kør sudo vim /usr/local/etc/nginx/nginx.confog tilføj følgende linje til http {}blokken.

include sylius.conf;

Test konfigurationen.

sudo nginx -t

Genindlæs Nginx.

sudo service nginx restart

Installer Composer

Installer Composer globalt.

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

Tjek versionen.

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

Installer Node.js

Installer Node.js.

sudo pkg install -y node

Tjek versionen.

node --version # v12.4.0

Monter garn

Installer Garnpakkehåndteringen.

sudo pkg install -y yarn

Tjek versionen.

yarn --version # 1.16.0

Installer Sylius

Opret en dokumentrodmappe.

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

Skift ejerskab af /usr/local/www/syliusbiblioteket til johndoe.

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

Naviger til dokumentets rodmapp.

cd /usr/local/www/sylius

Start et nyt Sylius-projekt ved at køre denne kommando:

composer create-project sylius/sylius-standard .

Kør for vim .env.localat indtaste databasedetaljer og køre Sylius i et valgfrit miljø.

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

BEMÆRK: Erstat username, passwordog dbnamemed dine databaseoplysninger.

Når alt er på plads, skal du køre følgende kommando for at installere Sylius:

php bin/console sylius:install -e prod

For at se en fuldt funktionel frontend skal du installere dens aktiver. Sylius bruger Gulp til at bygge front-end-aktiver ved hjælp af Yarn som en JavaScript-pakkemanager. Når Garn er installeret, skal du gå til dit projektbibliotek for at installere afhængighederne.

yarn install

Byg derefter frontend-aktiverne ved at køre:

yarn build

Skift ejerskab af /usr/local/www/syliusbiblioteket til www.

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

Opret /var/lib/php/session/bibliotek og skift ejerskab til www.

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

Genstart PHP-FPM-tjenesten.

sudo service php-fpm restart

Sylius e-handelsplatformen er installeret. Som standard leder administrationspanelet til /admin.


The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere