Як встановити платформу електронної комерції Sylius на FreeBSD 12

Sylius — сучасна платформа електронної комерції для PHP, заснована на Symfony Framework. Вихідний код Sylius розміщено на GitHub .

Цей посібник проведе вас через процес встановлення Sylius на свіжому екземплярі FreeBSD 12 Vultr з використанням PHP, MariaDB як бази даних і Nginx як веб-сервера.

Вимоги

Щоб мати можливість встановити Sylius, вам знадобиться:

  • Примірник сервера Vultr з принаймні 2048 МБ пам’яті.
  • Nginx або Apache. У цьому посібнику ми використовуємо Nginx.
  • PHP версії 7.2 або новішої з деякими конкретними розширеннями PHP: gd, exif, fileinfo,intl
  • Параметри конфігурації PHP: memory_limitдорівнює або більше ніж 1024M,date.timezone
  • MySQL версії 5.7 або 8.0 або еквівалент MariaDB
  • Композитор
  • Node.js
  • Пряжа

Перед тим як ти почнеш

Перевірте версію FreeBSD.

uname -ro # FreeBSD 12.0-RELEASE

Переконайтеся, що ваша система FreeBSD оновлена.

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

Встановіть необхідні пакети.

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

Створіть новий обліковий запис користувача з бажаним іменем користувача. Ми будемо використовувати 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!

Виконайте visudoкоманду та розкоментуйте %wheel ALL=(ALL) ALLрядок, щоб дозволити членам wheelгрупи виконати будь-яку команду.

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

Тепер перейдіть до свого щойно створеного користувача за допомогою su.

su - johndoe

ПРИМІТКА. Замініть johndoeна своє ім’я користувача.

Налаштуйте часовий пояс.

sudo tzsetup

Встановіть PHP

Встановіть PHP та необхідні розширення PHP.

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

Перевірте версію.

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

Програмне посилання php.ini-productionна php.ini.

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

Увімкніть і запустіть PHP-FPM.

sudo sysrc php_fpm_enable=yes sudo service php-fpm start

Запуск sudo vim /usr/local/etc/php.iniі встановити memory_limitна 1024Mабо більше, і налаштувати date.timezone.

memory_limit = 1024M date.timezone = Region/City

Перезапустіть PHP-FPM.

sudo service php-fpm restart

Встановіть MariaDB і створіть базу даних

Встановіть MariaDB.

sudo pkg install -y mariadb102-client mariadb102-server

Перевірте версію.

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

Запустіть і ввімкніть MariaDB.

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

Запустіть mysql_secure installationсценарій, щоб підвищити безпеку та встановити пароль для rootкористувача.

sudo mysql_secure_installation

Підключіться до оболонки як користувач root.

sudo mysql -u root -p # Enter password

Створіть порожню базу даних і користувача для Sylius і запам’ятайте облікові дані.

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

ПРИМІТКА. Замініть dbnameта usernameвведіть відповідні імена для вашого налаштування. Замініть passwordнадійним паролем.

Встановіть Nginx

Встановіть Nginx.

sudo pkg install -y nginx

Перевірте версію.

nginx -v # nginx version: nginx/1.16.1

Увімкніть і запустіть Nginx.

sudo sysrc nginx_enable=yes sudo service nginx start

Налаштуйте Nginx для Sylius. Запустіть sudo vim /usr/local/etc/nginx/sylius.confі заповніть файл наступною конфігурацією.

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

Збережіть файл і вийдіть за допомогою :+ W+ Q.

Тепер нам потрібно включити sylius.confв основний nginx.confфайл.

Запустіть sudo vim /usr/local/etc/nginx/nginx.confі додайте наступний рядок до http {}блоку.

include sylius.conf;

Перевірте конфігурацію.

sudo nginx -t

Перезавантажте Nginx.

sudo service nginx restart

Встановіть Composer

Установіть Composer глобально.

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

Перевірте версію.

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

Встановіть Node.js

Встановіть Node.js.

sudo pkg install -y node

Перевірте версію.

node --version # v12.4.0

Встановіть пряжу

Встановіть менеджер пакетів Yarn.

sudo pkg install -y yarn

Перевірте версію.

yarn --version # 1.16.0

Встановіть Sylius

Створіть кореневий каталог документа.

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

Змінити власника /usr/local/www/syliusкаталогу на johndoe.

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

Перейдіть до кореневої папки документа.

cd /usr/local/www/sylius

Запустіть новий проект Sylius, виконавши цю команду:

composer create-project sylius/sylius-standard .

Запустіть, vim .env.localщоб ввести дані бази даних і запустити Sylius у вибраному середовищі.

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

ПРИМІТКА. Замініть username, passwordа dbnameтакож деталями вашої бази даних.

Після того, як все буде на місці, виконайте таку команду, щоб встановити Sylius:

php bin/console sylius:install -e prod

Щоб побачити повністю функціональний інтерфейс, вам потрібно буде встановити його активи. Sylius використовує Gulp для створення зовнішніх ресурсів, використовуючи Yarn як менеджер пакетів JavaScript. Після встановлення Yarn перейдіть до каталогу вашого проекту, щоб встановити залежності.

yarn install

Потім створіть активи інтерфейсу, виконавши:

yarn build

Змінити власника /usr/local/www/syliusкаталогу на www.

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

Створіть /var/lib/php/session/каталог і змініть власника на www.

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

Перезапустіть службу PHP-FPM.

sudo service php-fpm restart

Встановлено платформу електронної комерції Sylius. За замовчуванням панель адміністрування спрямовує на /admin.


Leave a Comment

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше