如何使用Nginx在CentOS 7上安装Kanboard并加密SSL
这是使用Nginx网络服务器和可选的Let's Encrypt SSL证书在CentOS 7上安装和配置Kanboard的完整指南。
Kanboard是一个项目管理软件,它使用看板方法来可视化工作流程并更快,更高效地完成任务。
看板功能
它是免费的开放源代码,它使我们可以根据业务活动自定义董事会具有对报表和分析的本地支持我们可以拥有多个项目,并具有拖放任务的能力提供易于使用的Web仪表板,可以从任何地方访问该仪表板。
现代化的浏览器,具有通过插件扩展功能以及与其他外部服务集成的功能
CentOS 7上的Kanboard设置
数据库–默认情况下,Kanboard使用SQLite,但我们将使用推荐用于大型团队的MariaDB。
Web服务器:我们将安装和配置Nginx.PHP 7.2下面是可以安装的PHP扩展:
pdo_sqlite | 只有在你使用SQLITE时安装 |
pdo_mysql | 只有在你使用Mysql/MariaDB时安装 |
pdo_pgsql | 只有在你使用Postgres时安装 |
gd | |
mbstring | |
openssl | |
json | |
hash | |
ctype | |
session | |
filter | |
xml | |
SimpleXML | |
dom |
可选的PHP扩展
zip | 用于从网站安装插件 |
ldap | 仅用于ldap身份验证 |
在CentOS 7上安装看板
请按照以下步骤在CentOS 7上安装Kanboard。
步骤1:安装MariaDB数据库服务器
使用以下指南在CentOS 7服务器上安装MariaDB数据库服务器:
在Ubuntu 18.04和CentOS 7上安装MariaDB10.x。
一旦安装完成,请与用户一起创建数据库。
首先,以root用户身份登录数据库CLI。
$mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 39 Server version: 10.3.9-MariaDB-1:10.3.9+maria~bionic-log mariadb.org binary distribution Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
然后运行命令以创建具有所需特权的数据库和用户
CREATE DATABASE kanboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;; GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboard'@'localhost' IDENTIFIED BY 'StrongPassword'; FLUSH PRIVILEGES; \q
步骤2:安装Nginx和PHP
接下来,我们可以安装Nginx Web服务器和必需的php扩展
sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum -y install epel-release yum-utils sudo yum-config-manager --disable remi-php54 sudo yum-config-manager --enable remi-php72 sudo yum -y install php php-{fpm,mbstring,cli,json,opcache,zip,xml,gd,ldap,mysql,json,sqlite3}
安装nginx
sudo yum -y install nginx
步骤3:下载并安装看板
我们可以通过以下两种方式下载看板:从稳定版本中下载。
撰写本文时,最新版本为1.2.5版。
export VER=1.2.5 wget https://github.com/kanboard/kanboard/archive/v${VER}.tar.gz tar xvf v${VER}.tar.gz rm -f v${VER}.tar.gz sudo mv kanboard-${VER}//var/www/kanboard
要下载开发版本,请使用
sudo git clone https://github.com/kanboard/kanboard.git /var/www/kanboard
创建一个配置文件
复制看板配置模板。
sudo cp /var/www/kanboard/config.default.php /var/www/kanboard/config.php sudo vim /var/www/kanboard/config.php
文件 config.php
有关Kanboard的大量配置参考,有助于正确配置其他功能,例如LDAP身份验证,SMTP设置,暴力破解保护,日志记录,安全HTTP标头设置等。
配置php-fpm
编辑档案 /etc/php-fpm.d/www.conf
设置如下
sudo chown -R nginx:nginx /var/www/kanboard
步骤4:配置Nginx
创建Nginx配置文件 /etc/nginx/conf.d/kanboard.conf
具有以下内容
user = nginx group = nginx listen = /run/php-fpm/php7.2-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660
如果要使用,请取消注释SSL配置行 https
使用"让我们加密SSL"
此示例用于http到https重定向以及"加密SSL证书"
server { listen 80; #listen 443 ssl; #ssl_certificate /etc/nginx/ssl/kanboard.crt; #ssl_certificate_key /etc/nginx/ssl/kanboard.key; server_name kanboard.example.com; index index.php; root /var/www/kanboard; client_max_body_size 32M; location/{ try_files $uri $uri//index.php$is_args$args; } location ~ \.php${ try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } location ~* ^.+\.(log|sqlite)${ return 404; } location ~ /\.ht { return 404; } location ~* ^.+\.(ico|jpg|gif|png|css|js|svg|eot|ttf|woff|woff2|otf)${ log_not_found off; expires 7d; etag on; } gzip on; gzip_comp_level 3; gzip_disable "msie6"; gzip_vary on; gzip_types text/javascript application/javascript application/json text/xml application/xml application/rss+xml text/css text/plain; }
检查配置语法
# HTTP server { listen 80; server_name kanboard.example.com; root /var/www/kanboard; location/{ rewrite ^ https://kanboard.example.com$request_uri? permanent; } } # HTTPS server { listen 443 ssl; ssl_certificate /etc/letsencrypt/live/kanboard.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/kanboard.example.com/privkey.pem; server_name kanboard.example.com; index index.php; root /var/www/kanboard; client_max_body_size 32M; location/{ try_files $uri $uri//index.php$is_args$args; } location ~ \.php${ try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } location ~* ^.+\.(log|sqlite)${ return 404; } location ~ /\.ht { return 404; } location ~* ^.+\.(ico|jpg|gif|png|css|js|svg|eot|ttf|woff|woff2|otf)${ log_not_found off; expires 7d; etag on; } gzip on; gzip_comp_level 3; gzip_disable "msie6"; gzip_vary on; gzip_types text/javascript application/javascript application/json text/xml application/xml application/rss+xml text/css text/plain; }
如果返回 OK
那你就可以启动nginx服务了
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
步骤5:访问Kanboard Web UI
通过使用我们喜欢的Web浏览器打开链接http://kanboard.example.com来访问Kanboard Web UI。
代替 kanboard.example.com
使用正确的域名。
登录使用:用户名:admin密码:admin我们应该进入如下所示的仪表板
重设管理员密码
为了安全起见,请导航至管理>用户管理>管理员,以重置管理员密码。
现在,我们在CentOS 7服务器上可以使用Kanboard了。