如何在CentOS 7上安装Restyaboard

Restyaboard是一款免费开源的看板应用程序。 这是Trello最好的自主替代品。 它是用PHP编写的,并使用PostgreSQL存储其数据库。

在本教程中,我们将在CentOS 7服务器上安装Restyaboard。

条件

  • 最小CentOS 7服务器
  • 根权限

第1步 - 安装Nginx

在安装任何软件包之前,建议您使用以下命令更新软件包和存储库。

yum -y update

默认的CentOS YUM存储库中不提供Nginx,因此我们还需要安装EPEL存储库。 您可以通过键入以下方式安装EPEL:

yum -y install epel-release

现在可以通过键入以下方式安装nginx:

yum -y install nginx

安装完成后,您可以运行以下命令启动nginx,并使其能够在启动时使用以下命令自动启动。

systemctl start nginx systemctl enable nginx

Nginx现在应该在您的服务器上运行。

第2步 - 使用Mbstring安装和配置PHP-FPM

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-FPM安装PHP 7.0以及其他必需的模块。

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

现在通过在/etc/php.ini的末尾添加以下行来启用GeoIP扩展

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的shell

现在通过键入以下命令创建一个新用户:

createuser rb_user

现在使用以下命令切换到PostgreSQL shell。

psql

你会看到shell上的提示已经改为postgres - # 。 现在运行以下查询为Restyaboard数据库的新创建的用户设置密码。

ALTER USER rb_user WITH ENCRYPTED password 'StrongPassword';

确保在查询结尾使用分号。 上述查询将会询问您rb_user的密码两次。 现在使用以下查询为PostgreSQL数据库创建一个新的数据库。

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

上述查询将使用template0创建一个名为rb_data的数据库,使用UTF8编码,并将所有权提供给rb_user

使用以下命令从psql shell退出到postgres用户的正常shell用户shell。

\q

并使用exit命令再次切换到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,因为Proxy配置不适用于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现在安装在您的服务器上,现在可以使用看板来改善项目的工作流程。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏