Как да инсталирате Koel на CentOS 7

Koel е просто уеб-базирано лично приложение за стрийминг на аудио, написано на Vue от страна на клиента и Laravel от страна на сървъра. Изходният код на Koel се хоства на Github . Това ръководство ще ви покаже как да инсталирате Koel на нов екземпляр на CentOS 7 Vultr, като използвате PHP, MariaDB, Nginx, Node.js, Yarn и Composer.

Изисквания

  • PHP версия 5.6.4 или по-нова, със следните разширения:
    • OpenSSL
    • ЗНП
    • Mbstring
    • Токенизатор
    • XML
  • MariaDB
  • Най-новата стабилна версия на Node.js с yarn
  • Композитор
  • Nginx

Преди да започнеш

Проверете версията на CentOS.

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

Създайте нов потребителски акаунт без root права с sudoдостъп и превключете към него.

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

ЗАБЕЛЕЖКА : Заменете johndoeс вашето потребителско име .

Настройте часовата зона.

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

Уверете се, че вашата система е актуална.

sudo yum update -y

Инсталирайте необходимите пакети.

sudo yum install -y wget curl vim git && sudo yum groupinstall -y "Development Tools"

За простота деактивирайте SELinux и защитната стена.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Инсталирайте PHP

Настройте Webtatic YUM репо.

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

Инсталирайте PHP и необходимите PHP разширения.

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mysql php72w-curl php72w-json php72w-zip php72w-xml php72w-mbstring

Проверете версията.

php --version
# PHP 7.2.7 (cli) (built: Jul  1 2018 08:22:47) ( NTS )

Стартирайте и активирайте услугата PHP-FPM.

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

Инсталирайте MariaDB и настройте база данни

Създайте репо за MariaDB. Отворете sudo vi /etc/yum.repos.d/MariaDB.repoи го попълнете със следното.

[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Запазете и излезте, след което инсталирайте MariaDB.

sudo yum install -y MariaDB-server MariaDB-client

Проверете версията.

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

Стартирайте и активирайте услугата MariaDB.

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

Изпълнете, за mysql_secure_installationда подобрите сигурността и задайте паролата за rootпотребителя на MariaDB .

sudo mysql_secure_installation

Свържете се с MariaDB като rootпотребител.

mysql -u root -p
# Enter password:

Създайте празна база данни и потребител на MariaDB за Koel и запомнете идентификационните данни.

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

Инсталирайте и конфигурирайте Nginx

Инсталирайте Nginx.

sudo yum install -y nginx

Проверете версията.

sudo nginx -v
# nginx version: nginx/1.12.2

Стартирайте и активирайте Nginx.

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

Конфигурирайте Nginx. Стартирайте sudo vim /etc/nginx/conf.d/koel.confи попълнете файла със следната конфигурация.

server {
  listen 80;
  server_name example.com;
  root /var/www/koel;
  index index.php;


  # Whitelist only index.php, robots.txt, and those start with public/ or api/ or remote
  if ($request_uri !~ ^/$|index\.php|robots\.txt|api/|public/|remote) {
    return 404;
  }

  location /media/ {
    internal;
    # A 'X-Media-Root' should be set to media_path settings from upstream
    alias $upstream_http_x_media_root;
   }

   location / {
     try_files $uri $uri/ /index.php?$args;
   }

   location ~ \.php$ {
     try_files $uri $uri/ /index.php?$args;
     fastcgi_param PATH_INFO $fastcgi_path_info;
     fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     fastcgi_split_path_info ^(.+\.php)(/.+)$;
     fastcgi_intercept_errors on;
     include fastcgi_params;
   }
}

Тествайте конфигурацията на Nginx.

sudo nginx -t

Презаредете Nginx.

sudo systemctl reload nginx.service

Инсталирайте Node.js

Инсталирайте Node.js.

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs

Проверете версията.

node --version
# v8.11.3

Инсталирайте прежда

Инсталирайте мениджъра на пакети Yarn.

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

Проверете версията.

yarn --version
# 1.9.2

Инсталирайте Composer

Инсталирайте Composer.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { 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.6.5 2018-05-04 11:44:59

Инсталирайте Koel

Създайте празна основна папка на документа, където ще бъде инсталиран Koel.

sudo mkdir -p /var/www/koel

Придвижете се до главната папка на документа.

cd /var/www/koel

Променете собствеността върху /var/www/koelпапката на потребител johndoe.

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

Клонирайте хранилището на Koel към него, проверете най- новата маркирана версия и инсталирайте нейните зависимости.

git clone https://github.com/phanan/koel.git .
git checkout v3.7.2
composer install

Изпълнете php artisan koel:initкоманда, за да настроите базата данни и администраторския акаунт.

php artisan koel:init

Изпълнете vim .envи задайте APP_URLвашия URL.

APP_URL=http://example.com

Изпълнете, за yarn installда компилирате и инсталирате предния край.

yarn install

ЗАБЕЛЕЖКА: Ако паметта ви свърши, ще получите съобщение за грешка. За да избегнете това, можете временно да спрете услугите MariaDB, Nginx и PHP-FPM или да конфигурирате суап памет, ако първото решение не помогне.

Променете собствеността върху /var/www/koelдиректорията на nginx.

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

Изпълнете sudo vim /etc/php-fpm.d/www.confи задайте потребителя и групата на nginx. Първоначално ще бъде настроен на apache.

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

Рестартирайте PHP-FPM.

sudo systemctl restart php-fpm.service

Настройката вече е завършена. За да продължите, отворете своя домейн в уеб браузър и ще видите страница за вход. След това влезте, като въведете идентификационните данни на вашия администраторски акаунт, които сте създали по-рано.


Инсталирайте Plesk на CentOS 7

Инсталирайте Plesk на CentOS 7

Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни

Как да инсталирате Squid Proxy на CentOS

Как да инсталирате Squid Proxy на CentOS

Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте

Конфигуриране на статична мрежа и IPv6 на CentOS 7

Конфигуриране на статична мрежа и IPv6 на CentOS 7

VULTR наскоро направи промени от своя страна и вече всичко трябва да работи добре от кутията с активиран NetworkManager. Ако желаете да деактивирате

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока

Как да инсталирате Microweber на CentOS 7

Как да инсталирате Microweber на CentOS 7

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате Mattermost 4.1 на CentOS 7

Как да инсталирате Mattermost 4.1 на CentOS 7

Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca

Създаване на мрежа от сървъри на Minecraft с BungeeCord на Debian 8, Debian 9 или CentOS 7

Създаване на мрежа от сървъри на Minecraft с BungeeCord на Debian 8, Debian 9 или CentOS 7

Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място

Lets Encrypt на Plesk

Lets Encrypt на Plesk

Контролният панел на Plesk разполага с много приятна интеграция за Lets Encrypt. Lets Encrypt е един от единствените доставчици на SSL, които предоставят пълно сертификати

Позволява криптиране на cPanel

Позволява криптиране на cPanel

Lets Encrypt е сертифициращ орган, посветен на предоставянето на SSL сертификати безплатно. cPanel изгради чиста интеграция, така че вие ​​и вашият клиент

Как да инсталирате Concrete5 на CentOS 7

Как да инсталирате Concrete5 на CentOS 7

Използване на различна система? Concrete5 е CMS с отворен код, който предлага много отличителни и полезни функции за подпомагане на редакторите при лесното създаване на съдържание и

Как да инсталирате табло за преглед на CentOS 7

Как да инсталирате табло за преглед на CentOS 7

Използване на различна система? Review Board е безплатен инструмент с отворен код за преглед на изходен код, документация, изображения и много други. Това е уеб базиран софтуер

Настройте HTTP удостоверяване с Nginx на CentOS 7

Настройте HTTP удостоверяване с Nginx на CentOS 7

В това ръководство ще научите как да настроите HTTP удостоверяване за уеб сървър на Nginx, работещ на CentOS 7. Изисквания За да започнете, ще ви трябва

Как да инсталирате YOURLS на CentOS 7

Как да инсталирате YOURLS на CentOS 7

YOURLS (Your Own URL Shortener) е приложение за съкращаване на URL адреси и анализ на данни с отворен код. В тази статия ще разгледаме процеса на инсталиране

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е

Използване на Etckeeper за контрол на версиите на /etc

Използване на Etckeeper за контрол на версиите на /etc

Въведение Директорията /etc/ играе критична роля в начина, по който функционира една Linux система. Причината за това е, че почти всяка системна конфигурация

Защо трябва да използвате SSHFS? Как да монтирате отдалечена файлова система със SSHFS на CentOS 6

Защо трябва да използвате SSHFS? Как да монтирате отдалечена файлова система със SSHFS на CentOS 6

Много системни администратори управляват големи количества сървъри. Когато файловете трябва да бъдат достъпни на различни сървъри, влизането във всеки от тях поотделно ок

Настройване на сървър на Half Life 2 на CentOS 6

Настройване на сървър на Half Life 2 на CentOS 6

Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou

Как да инсталирате Laravel GitScrum на CentOS 7

Как да инсталирате Laravel GitScrum на CentOS 7

Laravel GitScrum или GitScrum е инструмент за производителност с отворен код, предназначен да помогне на екипите за разработка да внедрят методологията на Scrum по подобен начин.

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

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 машини. Прочетете тази статия, за да научите повече