Hvordan installere Sylius eCommerce Platform på FreeBSD 12

Sylius er en moderne e-handelsplattform for PHP, basert på Symfony Framework. Sylius-kildekoden er vert på GitHub .

Denne guiden vil lede deg gjennom Sylius-installasjonsprosessen på en fersk FreeBSD 12 Vultr-forekomst som bruker PHP, MariaDB som database og Nginx som webserver.

Krav

For å kunne installere Sylius trenger du:

  • Vultr-serverforekomst med minst 2048 MB minne.
  • Nginx eller Apache. I denne guiden bruker vi Nginx.
  • PHP versjon 7.2 eller nyere med noen spesifikke PHP-utvidelser: gd, exif, fileinfo,intl
  • PHP-konfigurasjonsinnstillinger: memory_limitlik eller større enn 1024M,date.timezone
  • MySQL versjon 5.7 eller 8.0 eller tilsvarende MariaDB
  • Komponist
  • Node.js
  • Garn

Før du begynner

Sjekk FreeBSD-versjonen.

uname -ro # FreeBSD 12.0-RELEASE

Sørg for at ditt FreeBSD-system er oppdatert.

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

Installer de nødvendige pakkene.

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

Opprett en ny brukerkonto med ditt foretrukne brukernavn. Vi vil bruke 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!

Kjør visudokommandoen og fjern kommentarfeltet for %wheel ALL=(ALL) ALLå la medlemmer av wheelgruppen utføre en hvilken som helst kommando.

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

Bytt nå til den nyopprettede brukeren med su.

su - johndoe

MERK: Erstatt johndoemed brukernavnet ditt.

Sett opp tidssonen.

sudo tzsetup

Installer PHP

Installer PHP og nødvendige PHP-utvidelser.

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

Sjekk versjonen.

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

Myklink 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

Kjør sudo vim /usr/local/etc/php.iniog sett memory_limittil 1024Meller mer, og sett opp date.timezone.

memory_limit = 1024M date.timezone = Region/City

Start PHP-FPM på nytt.

sudo service php-fpm restart

Installer MariaDB og lag en database

Installer MariaDB.

sudo pkg install -y mariadb102-client mariadb102-server

Sjekk versjonen.

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

Kjør mysql_secure installationskriptet for å forbedre sikkerheten og angi passordet for rootbrukeren.

sudo mysql_secure_installation

Koble til skallet som rotbruker.

sudo mysql -u root -p # Enter password

Opprett en tom database og bruker for Sylius, og husk legitimasjonen.

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

MERK: Erstatt dbnameog usernamemed passende navn for oppsettet ditt. Erstatt passwordmed et sterkt passord.

Installer Nginx

Installer Nginx.

sudo pkg install -y nginx

Sjekk versjonen.

nginx -v # nginx version: nginx/1.16.1

Aktiver og start Nginx.

sudo sysrc nginx_enable=yes sudo service nginx start

Konfigurer Nginx for Sylius. Kjør sudo vim /usr/local/etc/nginx/sylius.confog fyll ut filen med følgende konfigurasjon.

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

Lagre filen og avslutt med :+ W+ Q.

Nå må vi inkludere sylius.confi hovedfilen nginx.conf.

Kjør sudo vim /usr/local/etc/nginx/nginx.confog legg til følgende linje i http {}blokken.

include sylius.conf;

Test konfigurasjonen.

sudo nginx -t

Last inn Nginx på nytt.

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

Sjekk versjonen.

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

Installer Node.js

Installer Node.js.

sudo pkg install -y node

Sjekk versjonen.

node --version # v12.4.0

Installer garn

Installer Garnpakkebehandleren.

sudo pkg install -y yarn

Sjekk versjonen.

yarn --version # 1.16.0

Installer Sylius

Opprett en dokumentrotkatalog.

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

Endre eierskap av /usr/local/www/syliuskatalogen til johndoe.

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

Naviger til dokumentrotmappen.

cd /usr/local/www/sylius

Start et nytt Sylius-prosjekt ved å kjøre denne kommandoen:

composer create-project sylius/sylius-standard .

Kjør for vim .env.localå angi databasedetaljer og for å kjøre Sylius i et valgfritt miljø.

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

MERK: Erstatt username, passwordog dbnamemed databasedetaljer.

Etter at alt er på plass, kjør følgende kommando for å installere Sylius:

php bin/console sylius:install -e prod

For å se en fullt funksjonell front-end, må du installere eiendelene. Sylius bruker Gulp til å bygge front-end-ressurser ved å bruke Yarn som en JavaScript-pakkebehandling. Etter å ha Yarn installert, gå til prosjektkatalogen for å installere avhengighetene.

yarn install

Bygg deretter grensesnittet ved å kjøre:

yarn build

Endre eierskap av /usr/local/www/syliuskatalogen til www.

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

Opprett /var/lib/php/session/katalog og endre eierskap til www.

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

Start PHP-FPM-tjenesten på nytt.

sudo service php-fpm restart

Sylius e-handelsplattform er installert. Som standard går administrasjonspanelet til /admin.


Leave a Comment

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 akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer