Sylius eCommerce Platform installeren op FreeBSD 12

Sylius is een modern e-commerceplatform voor PHP, gebaseerd op het Symfony Framework. De broncode van Sylius wordt gehost op GitHub .

Deze gids leidt u door het Sylius-installatieproces op een nieuwe FreeBSD 12 Vultr-instantie met PHP, MariaDB als database en Nginx als webserver.

Vereisten

Om Sylius te kunnen installeren heeft u nodig:

  • Vultr-serverinstantie met minimaal 2048 MB geheugen.
  • Nginx of Apache. In deze gids gebruiken we Nginx.
  • PHP versie 7.2 of hoger met een aantal specifieke PHP-extensies: gd, exif, fileinfo,intl
  • PHP configuratie-instellingen: memory_limitgelijk aan of groter dan 1024M,date.timezone
  • MySQL versie 5.7 of 8.0 of equivalent van MariaDB
  • Componist
  • Node.js
  • Garen

Voordat je begint

Controleer de FreeBSD-versie.

uname -ro
# FreeBSD 12.0-RELEASE

Zorg ervoor dat uw FreeBSD-systeem up-to-date is.

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

Installeer de benodigde pakketten.

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

Maak een nieuw gebruikersaccount aan met uw favoriete gebruikersnaam. We zullen gebruiken 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!

Voer de visudoopdracht uit en maak een commentaar op de %wheel ALL=(ALL) ALLregel, zodat leden van de wheelgroep elke opdracht kunnen uitvoeren.

visudo

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

Schakel nu over naar uw nieuw aangemaakte gebruiker met su.

su - johndoe

OPMERKING: vervang johndoedoor uw gebruikersnaam.

Stel de tijdzone in.

sudo tzsetup

Installeer PHP

Installeer PHP en vereiste PHP-extensies.

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

Controleer de versie.

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

Soft-link php.ini-productionnaar php.ini.

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

Schakel PHP-FPM in en start het.

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Rennen sudo vim /usr/local/etc/php.inien instellen memory_limitop 1024Mof meer, en instellen date.timezone.

memory_limit = 1024M
date.timezone = Region/City

Start PHP-FPM opnieuw.

sudo service php-fpm restart

Installeer MariaDB en maak een database aan

Installeer MariaDB.

sudo pkg install -y mariadb102-client mariadb102-server

Controleer de versie.

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

Start en schakel MariaDB in.

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

Voer het mysql_secure installationscript uit om de beveiliging te verbeteren en stel het wachtwoord in voor de rootgebruiker.

sudo mysql_secure_installation

Maak verbinding met de shell als rootgebruiker.

sudo mysql -u root -p
# Enter password

Maak een lege database en gebruiker voor Sylius en onthoud de inloggegevens.

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

OPMERKING: vervang dbnameen usernamemet de juiste namen voor uw installatie. Vervang passworddoor een sterk wachtwoord.

Installeer Nginx

Installeer Nginx.

sudo pkg install -y nginx

Controleer de versie.

nginx -v
# nginx version: nginx/1.16.1

Schakel Nginx in en start het.

sudo sysrc nginx_enable=yes
sudo service nginx start

Configureer Nginx voor Sylius. Voer sudo vim /usr/local/etc/nginx/sylius.confhet bestand uit en vul het in met de volgende configuratie.

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

Sla het bestand op en sluit af met :+ W+ Q.

Nu moeten we opnemen sylius.confin het hoofdbestand nginx.conf.

Ren sudo vim /usr/local/etc/nginx/nginx.confen voeg de volgende regel toe aan het http {}blok.

include sylius.conf;

Test de configuratie.

sudo nginx -t

Herlaad Nginx.

sudo service nginx restart

Installeer Composer

Installeer Composer wereldwijd.

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

Controleer de versie.

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

Installeer Node.js

Installeer Node.js.

sudo pkg install -y node

Controleer de versie.

node --version
# v12.4.0

Installeer garen

Installeer de Yarn-pakketbeheerder.

sudo pkg install -y yarn

Controleer de versie.

yarn --version
# 1.16.0

Installeer Sylius

Maak een documenthoofdmap.

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

Verander het eigendom van de /usr/local/www/syliusdirectory in johndoe.

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

Navigeer naar de hoofdmap van het document.

cd /usr/local/www/sylius

Start een nieuw Sylius-project door deze opdracht uit te voeren:

composer create-project sylius/sylius-standard .

Uitvoeren vim .env.localom databasegegevens in te voeren en Sylius in een omgeving naar keuze uit te voeren.

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

OPMERKING: Vervang username, passworden dbnamemet uw database details.

Nadat alles op zijn plaats is, voert u de volgende opdracht uit om Sylius te installeren:

php bin/console sylius:install -e prod 

Om een ​​volledig functionele front-end te zien, moet u de middelen ervan installeren. Sylius gebruikt Gulp om front-end assets te bouwen met Yarn als JavaScript-pakketbeheerder. Nadat Yarn is geïnstalleerd, gaat u naar uw projectdirectory om de afhankelijkheden te installeren.

yarn install

Bouw vervolgens de front-end assets door te draaien:

yarn build

Verander het eigendom van de /usr/local/www/syliusdirectory in www.

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

Maak een /var/lib/php/session/directory en wijzig het eigendom in www.

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

Start de PHP-FPM-service opnieuw.

sudo service php-fpm restart

Het Sylius e-commerceplatform is geïnstalleerd. Standaard leidt het beheerderspaneel naar /admin.



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.