Kako namestiti platformo za e-trgovino Sylius na CentOS 7

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 CentOS 7 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 CentOS.

cat /etc/centos-release # CentOS Linux release 7.6.1810 (Core)

Ustvarite nov non-rootuporabniški račun z sudodostopom in preklopite nanj.

useradd -c "John Doe" johndoe && passwd johndoe usermod -aG wheel johndoe su - johndoe

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

Nastavite časovni pas.

timedatectl list-timezones sudo timedatectl set-timezone 'Region/City'

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

sudo yum update

Namestite potrebne pakete.

sudo yum install -y socat git wget unzip vim

Onemogočite SELinux in požarni zid.

sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld

Namesti PHP

Nastavite repo Webtatic YUM.

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Namestite PHP in potrebne razširitve PHP.

sudo yum install -y php72w-cli php72w-fpm php72w-common php72w-mysqlnd php72w-gd php72w-intl php72w-zip php72w-curl php72w-xml php72w-mbstring php72w-json

Preverite različico.

php --version # PHP 7.2.21 (cli) (built: Aug 4 2019 08:42:27) ( NTS )

Zaženite in omogočite PHP-FPM.

sudo systemctl start php-fpm.service sudo systemctl enable php-fpm.service

Zaženite sudo vim /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 systemctl restart php-fpm.service

Namestite MariaDB in ustvarite bazo podatkov

Namestite strežnik baze podatkov MariaDB.

sudo vi /etc/yum.repos.d/MariaDB.repo # Copy/paste this to the /etc/yum.repos.d/MariaDB.repo file [mariadb] name = MariaDB baseurl = https://yum.mariadb.org/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 sudo yum install -y MariaDB-server MariaDB-client

Preverite različico.

mysql --version # mysql Ver 15.1 Distrib 10.2.16-MariaDB, for Linux (x86_64) using readline 5.1

Zaženite in omogočite MariaDB.

sudo systemctl start mariadb.service sudo systemctl enable mariadb.service

Zaženite mysql_secure installationskript za izboljšanje varnosti MariaDB in nastavite geslo za rootuporabnika MariaDB .

sudo mysql_secure_installation

Povežite se z lupino MariaDB kot root uporabnik.

sudo mysql -u root -p # Enter password

Ustvarite prazno zbirko podatkov MariaDB 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 yum install -y nginx

Preverite različico.

nginx -v # nginx version: nginx/1.12.2

Zaženite in omogočite Nginx.

sudo systemctl start nginx.service sudo systemctl enable nginx.service

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

server { listen 80; server_name example.com; root /var/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.

Preizkusite konfiguracijo.

sudo nginx -t

Ponovno naložite Nginx.

sudo systemctl reload nginx.service

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 yum install -y gcc-c++ make sudo -s curl -sL https://rpm.nodesource.com/setup_10.x | bash - exit sudo yum install -y nodejs

Preverite različico.

node --version # v10.16.3

Namestite Yarn

Namestite upravitelja paketov Yarn.

curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo sudo yum install -y yarn

Preverite različico.

yarn --version # 1.17.3

Namestite Sylius

Ustvarite korenski imenik dokumenta.

sudo mkdir -p /var/www/sylius

Spremenite lastništvo /var/www/syliusimenika v johndoe.

sudo chown -R johndoe:johndoe /var/www/sylius

Pomaknite se do korenske mape dokumenta.

cd /var/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 /var/www/syliusimenika v nginx.

sudo chown -R nginx:nginx /var/www/sylius

Zaženite sudo vim /etc/php-fpm.d/www.confin nastavite uporabnika in skupino na nginx. Sprva bodo nastavljeni na apache.

sudo vi /etc/php-fpm.d/www.conf # user = nginx # group = nginx

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

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

Znova zaženite storitev PHP-FPM.

sudo systemctl restart php-fpm.service

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č