Поиск по сайту:

Как установить Restyaboard на CentOS 7


На этой странице

  1. Шаг 1. Установите Nginx
  2. Шаг 2. Установите и настройте PHP-FPM с Mbstring
  3. Шаг 3. Установка и настройка данных PostgreSQL
  4. Шаг 4. Загрузите Restyaboard
  5. Шаг 5. Настройка блока сервера Nginx

Restyaboard — это бесплатное приложение для канбан-досок с открытым исходным кодом. Это лучшая самостоятельная альтернатива Trello. Он написан на PHP и использует PostgreSQL для хранения своей базы данных.

В этом руководстве мы установим Restyaboard на сервер CentOS 7.

Предпосылка

  • Минимальный сервер CentOS 7
  • Привилегии root

Шаг 1 — Установите Nginx

Перед установкой любого пакета рекомендуется обновить пакеты и репозиторий с помощью следующей команды.

yum -y update

Nginx недоступен в репозитории CentOS YUM по умолчанию, поэтому нам также необходимо установить репозиторий EPEL. Вы можете установить EPEL, набрав:

yum -y install epel-release

Теперь вы можете установить nginx, набрав:

yum -y install nginx

После завершения установки вы можете запустить следующие команды, чтобы запустить nginx и включить его автоматический запуск во время загрузки, используя следующие команды.

systemctl start nginx systemctl enable nginx

Теперь Nginx должен быть запущен на вашем сервере.

Шаг 2. Установите и настройте PHP-FPM с Mbstring

Restyaboard поддерживает PHP 7.0, поэтому мы установим PHP 7.0 для максимальной безопасности и производительности. PHP 7.0 недоступен в репозитории YUM или EPEL, поэтому нам нужно будет установить для него репозиторий Webtatic. Выполните следующую команду, чтобы установить репозиторий Webtatic.

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

Теперь установите PHP 7.0 с PHP-FPM вместе с другими необходимыми модулями.

yum -y install php70w php70w-fpm php70w-devel php70w-cli php70w-curl php70w-pgsql php70w-mbstring php70w-ldap php70w-pear php70w-imap php70w-xml php70w-pecl-imagick ImageMagick

После завершения установки нам нужно будет настроить несколько вещей. По умолчанию PHP-FPM настроен для использования с Apache, вам нужно будет изменить пользователей, чтобы он также мог работать с nginx. Отредактируйте файл /etc/php-fpm.d/www.conf в своем любимом текстовом редакторе. В этом уроке мы будем использовать редактор nano. Если у вас не установлен nano, вы можете запустить yum -y install nano.

nano /etc/php-fpm.d/www.conf

Теперь найдите следующие строки и замените apache на nginx.

; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

Вместо использования порта сервера мы будем использовать файл сокета для PHP-FPM. Найдите следующую строку.

listen = 127.0.0.1:9000

и измените его на следующую строку.

listen = /run/php-fpm/php7.0-fpm.sock

Далее найдите следующие строки.

;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660

Измените значения на следующие:

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Далее вам нужно будет установить часовой пояс в конфигурационном файле PHP. Отредактируйте файл конфигурации PHP с помощью команды:

nano /etc/php.ini

Найдите следующую строку, раскомментируйте строку и установите часовой пояс в соответствии с вашим регионом. Например:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Kolkata

Раскомментируйте строку cgi.fix_pathinfo и измените значение на 0.

cgi.fix_pathinfo=0

Далее вам также потребуется установить GeoIP. Выполните следующую команду, чтобы установить GeoIP.

yum -y install GeoIP-devel

Теперь включите расширение GeoIP, добавив следующую строку в конец файла /etc/php.ini.

extension=geoip.so

Запустите PHP-FPM и включите его во время загрузки, используя следующие команды.

systemctl start php-fpm systemctl enable php-fpm

Затем перезапустите nginx с помощью следующей команды.

systemctl restart nginx

Шаг 3 — Установка и настройка данных PostgreSQL

PostgreSQL — это система управления объектно-реляционными базами данных с открытым исходным кодом. Restyaboard использует PostgreSQL для хранения своей базы данных.

PostgreSQL недоступен в репозитории YUM или EPEL, вам нужно будет установить репозиторий PostgreSQL.

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Чтобы установить PostgreSQL, выполните следующую команду.

yum -y install postgresql96-server postgresql96-contrib

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

/usr/pgsql-9.6/bin/postgresql96-setup initdb

После установки PostgreSQL пришло время его настроить. Отредактируйте /var/lib/pgsql/9.6/data/pg_hba.conf, чтобы включить аутентификацию на основе MD5.

nano /var/lib/pgsql/9.6/data/pg_hba.conf

Найдите следующие строки и измените одноранговый узел на доверие и idnet на md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

После обновления конфигурация должна выглядеть так, как показано ниже.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Теперь запустите сервер PostgreSQL и включите его автоматический запуск во время загрузки с помощью следующих команд:

systemctl start postgresql-9.6 systemctl enable postgresql-9.6

Теперь измените пароль для пользователя PostgreSQL по умолчанию, который был создан во время установки PostgreSQL.

passwd postgres

Теперь войдите в систему, используя пользователя PostgreSQL, используя следующую команду.

su - postgres

Приведенная выше команда войдет в оболочку postgres.

Теперь создайте нового пользователя, набрав:

createuser rb_user

Теперь переключитесь на оболочку PostgreSQL, используя следующую команду.

psql

Вы увидите, что приглашение в оболочке изменилось на postgres - #. Теперь выполните следующий запрос, чтобы установить пароль для вновь созданного пользователя для базы данных Restyaboard.

ALTER USER rb_user WITH ENCRYPTED password 'StrongPassword';

Обязательно используйте точку с запятой в конце запроса. Приведенный выше запрос дважды попросит вас ввести пароль rb_user. Теперь создайте новую базу данных для базы данных PostgreSQL, используя следующий запрос.

CREATE DATABASE rb_data OWNER rb_user ENCODING 'UTF8' TEMPLATE template0;

Приведенный выше запрос создаст базу данных с именем rb_data с кодировкой UTf8 с использованием template0, и право собственности будет предоставлено rb_user.

Выйдите из оболочки psql в обычную оболочку пользователя postgres, используя следующую команду.

\q

и снова переключитесь на пользователя root, используя команду выхода.

Шаг 4 - Скачать Restyaboard

Поскольку у нас есть все готовые зависимости, теперь мы можем скачать Restyaboard. Выполните следующую команду, чтобы загрузить готовую развертываемую версию.

cd /usr/share/nginx/html wget https://github.com/RestyaPlatform/board/releases/download/v0.4.2/board-v0.4.2.zip

Вы всегда можете найти ссылку на последнюю версию на странице Restyaboard Github.

Теперь распакуйте архив, используя следующие команды. Если у вас не установлен unzip, вы можете запустить yum -y install unzip.

unzip board-v0.4.2.zip -d board

После извлечения архива импортируйте файл SQL с помощью следующей команды.

psql -d rb_data -f "/usr/share/nginx/html/board/sql/restyaboard_with_empty_data.sql" -U rb_user

Теперь отредактируйте файл конфигурации Restyaboard, чтобы обновить учетные данные базы данных.

nano /usr/share/nginx/html/board/server/php/config.inc.php

Найдите следующие строки.

define('R_DB_HOST', 'localhost');
define('R_DB_USER', 'restya');
define('R_DB_PASSWORD', 'hjVl2!rGd');
define('R_DB_NAME', 'restyaboard');
define('R_DB_PORT', 5432);

Измените его в соответствии с именем базы данных, именем пользователя и паролем базы данных, которую мы недавно создали для хранения данных Restyaboard. После этого это должно выглядеть так, как показано ниже.

define('R_DB_HOST', 'localhost');
define('R_DB_USER', 'rb_user');
define('R_DB_PASSWORD', 'StrongPassword');
define('R_DB_NAME', 'rb_data');
define('R_DB_PORT', 5432);

Шаг 5. Настройте блок сервера Nginx.

Конфигурация блока сервера Restyboard nginx поставляется в виде zip-архива. Вы можете скопировать файл конфигурации в расположение файла конфигурации nginx, используя следующую команду.

cp /usr/share/nginx/html/board/restyaboard.conf /etc/nginx/conf.d

Теперь вам нужно будет внести несколько изменений в файл. Откройте файл конфигурации с помощью вашего любимого текстового редактора.

nano /etc/nginx/conf.d/restyaboard.conf

В начале настройки найдите следующую строку.

server {
        listen 80 default_server;
        server_name _;

Удалите текст default_server и укажите свое доменное имя после имени сервера. Это должно выглядеть так, как показано ниже.

server {
        listen 80;
        server_name board.yourdomain.com;

Также найдите следующую строку:

 root /usr/share/nginx/html;

и

 location / {
                root /usr/share/nginx/html/client;
        }

и

root /usr/share/nginx/html/client;

Измените указанную выше строку в соответствии с папкой установки Restyaboard. Это должно выглядеть так, как показано ниже.

root /usr/share/nginx/html/board;

и

 location / {
                root /usr/share/nginx/html/board/client;
        }

и

root /usr/share/nginx/html/board/client

Также найдите строку:

fastcgi_pass    unix:/run/php/php7.0-fpm.sock;

Измените его на следующее:

fastcgi_pass    unix:/run/php-fpm/php7.0-fpm.sock;

Теперь вы можете закрыть файл. Теперь предоставьте соответствующие права собственности и разрешения, используя следующие команды.

chown -R nginx:nginx /usr/share/nginx/html/board/
chmod -R go+w "/usr/share/nginx/html/board/media"
chmod -R go+w "/usr/share/nginx/html/board/client/img"
chmod -R go+w "/usr/share/nginx/html/board/tmp/cache"
chmod -R 0755 /usr/share/nginx/html/board/server/php/shell/*.sh

Наконец, добавьте записи cron, чтобы разрешить выполнение запланированных задач с помощью следующих команд.

echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/instant_email_notification.sh" >> /var/spool/cron/root
echo "0 * * * * /usr/share/nginx/html/board/server/php/shell/periodic_email_notification.sh" >> /var/spool/cron/root
echo "*/30 * * * * /usr/share/nginx/html/board/server/php/shell/imap.sh" >> /var/spool/cron/root
echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/webhook.sh" >> /var/spool/cron/root
echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/card_due_notification.sh" >> /var/spool/cron/root

Теперь вам нужно отключить SELinux, потому что конфигурация прокси не работает с политиками SELinux. Чтобы временно отключить SELinux без перезапуска сервера, выполните следующую команду.

setenforce 0

Чтобы полностью отключить SELinux, вам нужно отредактировать файл /etc/selinux/config.

nano /etc/selinux/config

Найдите следующую строку:

SELINUX=enforcing

Измените его на:

SELINUX=disabled

Затем перезапустите Nginx с помощью следующей команды.

systemctl restart nginx

Теперь вы можете получить доступ к серверу, перейдя по следующему URL-адресу.

http://board.yourdomain.com

Вы увидите следующий экран входа в систему.

Теперь авторизуйтесь, используя логин admin и пароль restya. После входа в систему вы увидите следующий экран.

Чтобы создать новую доску, щелкните стрелку в левом углу страницы и выберите «Добавить доску или организацию».

Укажите имя и выберите шаблон для создания новой доски.

После того, как вы создали доску, она будет выглядеть так, как показано ниже.

Чтобы получить доступ к панели администратора, вы можете нажать кнопку «Администратор» в правом нижнем углу, а затем нажать «Настройки» на верхней панели.

Restyaboard теперь установлен на вашем сервере, теперь вы можете использовать доску канбан для улучшения рабочего процесса вашего проекта.