FreeBSD 12 Üzerinde Sylius e-Ticaret Platformu Nasıl Kurulur

Sylius , Symfony Framework'e dayanan PHP için modern bir e-ticaret platformudur. Sylius kaynak kodu GitHub'da barındırılıyor .

Bu kılavuz, PHP, veritabanı olarak MariaDB ve web sunucusu olarak Nginx kullanarak yeni bir FreeBSD 12 Vultr örneğinde Sylius kurulum işleminde size yol gösterecektir.

Gereksinimler

Sylius'u kurabilmek için ihtiyacınız olacak:

  • En az 2048 MB belleğe sahip Vultr sunucusu örneği.
  • Nginx veya Apache. Bu kılavuzda Nginx kullanıyoruz.
  • Bazı özel PHP uzantıları ile PHP sürümü 7.2 veya üzeri: gd, exif, fileinfo,intl
  • PHP yapılandırma ayarları: memory_limiteşit veya daha büyük 1024M,date.timezone
  • MySQL sürüm 5.7 veya 8.0 veya MariaDB eşdeğeri
  • Besteci
  • node.js
  • İplik

Sen başlamadan önce

FreeBSD sürümünü kontrol edin.

uname -ro
# FreeBSD 12.0-RELEASE

FreeBSD sisteminizin güncel olduğundan emin olun.

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

Gerekli paketleri kurun.

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

Tercih ettiğiniz kullanıcı adıyla yeni bir kullanıcı hesabı oluşturun. Kullanacağız 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!

Grup üyelerinin herhangi bir komutu yürütmesine izin vermek için visudokomutu çalıştırın ve %wheel ALL=(ALL) ALLsatırı kaldırın wheel.

visudo

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

Şimdi ile yeni oluşturulan kullanıcınıza geçin su.

su - johndoe

NOT: Kullanıcı adınızla değiştirin johndoe.

Saat dilimini ayarlayın.

sudo tzsetup

PHP Yükle

PHP ve gerekli PHP uzantılarını yükleyin.

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

Versiyonu kontrol et.

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

Yumuşak bağlantı php.ini-productioniçin php.ini.

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

PHP-FPM'yi etkinleştirin ve başlatın.

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Çalışma sudo vim /usr/local/etc/php.inive set memory_limitiçin 1024Mdaha fazla veya ve kurmak date.timezone.

memory_limit = 1024M
date.timezone = Region/City

PHP-FPM'yi yeniden başlatın.

sudo service php-fpm restart

MariaDB'yi yükleyin ve bir veritabanı oluşturun

MariaDB'yi yükleyin.

sudo pkg install -y mariadb102-client mariadb102-server

Versiyonu kontrol et.

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

MariaDB'yi başlatın ve etkinleştirin.

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

mysql_secure installationGüvenliği artırmak ve rootkullanıcının parolasını ayarlamak için komut dosyasını çalıştırın .

sudo mysql_secure_installation

Kabuğa kök kullanıcı olarak bağlanın.

sudo mysql -u root -p
# Enter password

Sylius için boş bir veritabanı ve kullanıcı oluşturun ve kimlik bilgilerini hatırlayın.

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

NOT: değiştirin dbnameve usernamesizin kurulum için uygun isimlerle. passwordGüçlü bir parola ile değiştirin .

Nginx'i yükle

Nginx'i yükleyin.

sudo pkg install -y nginx

Versiyonu kontrol et.

nginx -v
# nginx version: nginx/1.16.1

Nginx'i etkinleştirin ve başlatın.

sudo sysrc nginx_enable=yes
sudo service nginx start

Sylius için Nginx'i yapılandırın. sudo vim /usr/local/etc/nginx/sylius.confAşağıdaki yapılandırma ile dosyayı çalıştırın ve doldurun.

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

Dosyayı kaydedin ve :+ W+ ile çıkın Q.

Şimdi sylius.confana nginx.confdosyaya eklememiz gerekiyor.

sudo vim /usr/local/etc/nginx/nginx.confAşağıdaki satırı çalıştırın ve http {}bloğa ekleyin .

include sylius.conf;

Yapılandırmayı test edin.

sudo nginx -t

Nginx'i yeniden yükleyin.

sudo service nginx restart

Besteciyi Yükle

Composer'ı global olarak yükleyin.

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

Versiyonu kontrol et.

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

Node.js dosyasını yükleyin

Node.js'yi yükleyin.

sudo pkg install -y node

Versiyonu kontrol et.

node --version
# v12.4.0

İpliği Tak

İplik paket yöneticisini kurun.

sudo pkg install -y yarn

Versiyonu kontrol et.

yarn --version
# 1.16.0

Sylius'u yükle

Bir belge kök dizini oluşturun.

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

/usr/local/www/syliusDizinin sahipliğini olarak değiştirin johndoe.

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

Belge kök klasörüne gidin.

cd /usr/local/www/sylius

Bu komutu çalıştırarak yeni bir Sylius projesi başlatın:

composer create-project sylius/sylius-standard .

Run vim .env.localveritabanı ayrıntılarını girmek için ve seçim bir ortamda Sylius çalıştırmak için.

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

NOT: Değiştir username, passwordve dbnameveritabanı detayları ile.

Her şey gerçekleştikten sonra, Sylius'u kurmak için aşağıdaki komutu çalıştırın:

php bin/console sylius:install -e prod 

Tamamen işlevsel bir ön uç görmek için varlıklarını yüklemeniz gerekir. Sylius, Yarp'ı JavaScript paket yöneticisi olarak kullanarak ön uç varlıklar oluşturmak için Gulp'i kullanıyor. İplik yüklendikten sonra, bağımlılıkları yüklemek için proje dizininize gidin.

yarn install

Ardından, aşağıdaki öğeleri kullanarak ön uç varlıkları oluşturun:

yarn build

/usr/local/www/syliusDizinin sahipliğini olarak değiştirin www.

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

/var/lib/php/session/Dizin oluşturun ve sahipliğini değiştirin www.

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

PHP-FPM hizmetini yeniden başlatın.

sudo service php-fpm restart

Sylius e-ticaret platformu kuruldu. Varsayılan olarak, yönetim paneli adresine yönlendirilir /admin.



Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun