Cách cài đặt và cấu hình Wekan giống như Trello Kanban trên CentOS 7

theanh

Administrator
Nhân viên
Wekan là một bảng kanban giống Trello nguồn mở dựa trên khuôn khổ Javascript Meteor. Đây là một công cụ quản lý dựa trên web cho phép bạn tạo một bảng cho sự cộng tác trong dự án của mình. Với bảng wekan, bạn chỉ cần mời một thành viên vào bảng và thế là xong. Trên bảng wekan, bạn có thể tạo một nhiệm vụ dựa trên thẻ và quản lý việc cần làm, sau đó chỉ định cho thành viên đó.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn từng bước cách cài đặt và cấu hình Wekan giống Trello Kanban trên máy chủ CentOS 7. Chúng ta sẽ sử dụng MongoDB làm cơ sở dữ liệu và máy chủ web Nginx làm Proxy ngược cho ứng dụng Wekan. Hướng dẫn này sẽ trình bày chi tiết một số chủ đề bao gồm bảo mật máy chủ cơ sở dữ liệu MongoDB và cấu hình Nginx làm Proxy ngược.

Điều kiện tiên quyết​

  • Máy chủ CentOS 7
  • Quyền root

Những việc chúng ta sẽ làm​

  1. Cài đặt Nodejs
  2. Cài đặt và cấu hình MongoDB
  3. Cài đặt Wekan
  4. Chạy Wekan dưới dạng Dịch vụ trên CentOS 7
  5. Cài đặt và cấu hình Nginx làm Proxy ngược cho Wekan
  6. Kiểm tra

Bước 1 - Cài đặt NodeJS bằng NVM Node Version Manager​

Wekan là ứng dụng dựa trên nodejs và yêu cầu nodejs phiên bản 4.8. Trong hướng dẫn này, chúng ta sẽ không cài đặt nodejs từ kho lưu trữ CentOS, thay vào đó chúng ta sẽ cài đặt nodejs 4.8 bằng nvm Node Version Manager.

Trước khi cài đặt nodejs, hãy thêm người dùng hệ thống mới 'wekan' bằng lệnh bên dưới.
Mã:
useradd -m -s /bin/bash wekan
passwd wekan
Đăng nhập vào người dùng 'wekan', sau đó tải xuống và chạy tập lệnh cài đặt nvm.
Mã:
su - wekan
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash


Lệnh này sẽ cài đặt nvm dưới người dùng 'wekan' và thêm cấu hình mới vào tệp cấu hình '.bashrc'. Bây giờ hãy tải lại tệp '.bashrc'.
Mã:
source ~/.bashrc
Kiểm tra bằng lệnh nvm như bên dưới.
Mã:
command -v nvm
nvm --version
Bây giờ bạn có thể thấy nvm '0.33.8' đã được cài đặt trên hệ thống.

Tiếp theo, cài đặt nodejs 4.8 bằng lệnh nvm bên dưới.
Mã:
nvm install v4.8
nvm use node
Sau khi cài đặt hoàn tất, hãy kiểm tra phiên bản node.
Mã:
node -v
Và bạn sẽ thấy nodejs 4.8 đã được cài đặt trên máy chủ CentOS 7, dưới người dùng 'wekan'.


Bước 2 - Cài đặt và cấu hình MongoDB​

Trong bước này, chúng ta sẽ cài đặt MongoDB 3.2.x bằng kho lưu trữ chính thức, sau đó cấu hình bảo mật cơ bản cho máy chủ cơ sở dữ liệu MongoDB NoSQL.

Đi tới thư mục '/etc/yum.repos.d./ và tạo tệp .repo mới bằng trình soạn thảo vim.
Mã:
cd /etc/yum.repos.d/
vim mongodb-org-3.2.repo
Dán kho lưu trữ MongoDB sau vào đó.
Mã:
[mongodb-org-3.2]
name=MongoDB Kho lưu trữ
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Lưu và thoát.

Bây giờ hãy cài đặt MongoDB bằng lệnh yum bên dưới.
Mã:
yum -y install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ MongoDB và cho phép dịch vụ này khởi chạy khi khởi động hệ thống.
Mã:
systemctl start mongod
systemctl enable mongod
MongoDB 3.2 đã được cài đặt trên hệ thống CentOS 7.



Tiếp theo, chúng ta cần cấu hình xác thực MongoDB. Đăng nhập vào shell mongo và tạo một người dùng mới có tên là 'admin' để truy cập siêu người dùng.

Đăng nhập vào shell mongo.
Mã:
mongo
Bây giờ hãy tạo người dùng 'admin' mới với mật khẩu 'MyAdminPassword' với vai trò là 'root'. Chạy các truy vấn MongoDB bên dưới.
Mã:
db.createUser(
 {
 user: "admin",
 pwd: "MyAdminPassword",
 roles: [ { role: "root", db: "admin" } ]
 }
)
Người dùng quản trị MongoDB đã được tạo.



Bây giờ chúng ta cần chỉnh sửa tệp cấu hình '/etc/mongod.conf' để bật xác thực.

Chỉnh sửa tệp cấu hình 'mongod.conf' bằng vim.
Mã:
vim /etc/mongod.conf
Bỏ chú thích dòng 'security' và thêm cấu hình như hiển thị bên dưới.
Mã:
security:
authorization: enabled
Lưu và thoát.

Bây giờ hãy khởi động lại dịch vụ MongoDB.
Mã:
systemctl restart mongod
Xác thực MongoDB đã được bật.

Tiếp theo, chúng ta cần tạo cơ sở dữ liệu và người dùng mới cho Wekan. Chúng tôi sẽ tạo một cơ sở dữ liệu mới có tên 'wekan' với người dùng 'wekan' và mật khẩu 'WekanPassword'.

Đăng nhập vào shell mongo với tư cách là người dùng quản trị.
Mã:
mongo -u admin -p
Nhập mật khẩu quản trị 'MyAdminPassword'.

Và khi bạn nhận được shell mongo, hãy chạy các truy vấn MongoDB bên dưới.
Mã:
sử dụng wekan
db.createUser(
 {
 người dùng: "wekan",
 pwd: "WekanPassword",
 vai trò: ["readWrite"]
 }
)
Cơ sở dữ liệu và người dùng để cài đặt wekan đã được tạo.


Bước 3 - Cài đặt Wekan​

Đăng nhập với tư cách là người dùng wekan.
Mã:
su - wekan
Tải xuống mã nguồn wekan bằng lệnh wget và giải nén.
Mã:
wget https://github.com/wekan/wekan/releases/download/v0.63/wekan-0.63.tar.gz
tar xf wekan-0.63.tar.gz
Và bạn sẽ nhận được một thư mục mới có tên là 'bundle' - hãy đến thư mục đó và cài đặt các phụ thuộc wekan bằng lệnh npm như được hiển thị bên dưới.
Mã:
cd bundle/programs/server
npm install
Sau khi cài đặt tất cả các phụ thuộc hoàn tất, bạn sẽ nhận được kết quả như bên dưới.



Tiếp theo, chúng ta sẽ thử chạy Wekan trên hệ thống.

Chạy các lệnh sau để thiết lập biến môi trường cho ứng dụng Wekan.
Mã:
export MONGO_URL='mongodb://wekan:[emailprotected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://192.168.33.10'
export MAIL_URL='smtp://user:[emailprotected]:25/'
export MAIL_FROM='[emailprotected]'
export PORT=8000
Bây giờ hãy chuyển đến thư mục 'bundle' và chạy ứng dụng wekan.
Mã:
cd ~/bundle
node main.js


Máy chủ Wekan hiện đang chạy dưới cổng 8000. Mở trình duyệt web của bạn và nhập địa chỉ máy chủ của bạn với cổng 8000.


Và bạn sẽ nhận được trang đăng nhập Wekan như bên dưới.



Wekan hiện đã được cài đặt thành công trên máy chủ CentOS 7.

Bước 4 - Chạy Wekan dưới dạng dịch vụ trên CentOS 7​

Chúng tôi sẽ chạy ứng dụng wekan dưới dạng dịch vụ trên hệ thống Ubuntu. Vì vậy, chúng ta cần tạo tệp dịch vụ mới trong thư mục hệ thống systemd.

Trước khi tạo tệp dịch vụ wekan, chúng ta cần tạo tệp biến môi trường.

Đăng nhập với tư cách là người dùng wekan.
Mã:
su - wekan
Đi tới thư mục 'bundle/' và tạo tệp biến môi trường mới '.env' bằng vim.
Mã:
cd bundle/
vim .env
Dán cấu hình sau vào đó.
Mã:
MONGO_URL='mongodb://wekan:[emailprotected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.hakase-labs.co'
MAIL_URL='smtp://user:[emailprotected]:25/'
MAIL_FROM='[emailprotected]'
PORT=8000
HTTP_FORWARDED_COUNT=1
Lưu và thoát.

Tiếp theo, quay lại thiết bị đầu cuối gốc của bạn.

Đi đến thư mục '/etc/systemd/system' và tạo tệp dịch vụ mới 'wekan.service'.
Mã:
cd /etc/systemd/system
vim wekan.service
Dán cấu hình sau vào đó.
Mã:
[Unit]
Description=Wekan Máy chủ
After=syslog.target
After=network.target

[Dịch vụ]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/home/wekan/.nvm/versions/node/v4.8.7/bin/node bundle/main.js
EnvironmentFile=/home/wekan/bundle/.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/home/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan

[Install]
WantedBy=multi-user.target
Lưu và thoát.

Tải lại hệ thống systemd bằng lệnh systemctl.
Mã:
systemctl daemon-reload
Khởi động dịch vụ wekan và bật dịch vụ này mỗi khi khởi động hệ thống.
Mã:
systemctl start wekan
systemctl enable wekan
Bây giờ hãy kiểm tra dịch vụ wekan bằng các lệnh bên dưới.
Mã:
netstat -plntu
systemctl status wekan
Và sau đây là kết quả trong trường hợp của chúng tôi.



Wekan hiện đang chạy như một dịch vụ dưới cổng 8000 trên hệ thống CentOS 7.

Bước 5 - Cài đặt và cấu hình Nginx làm Proxy ngược cho Wekan​

Trong bước này, chúng ta sẽ cài đặt máy chủ web Nginx và cấu hình nó làm proxy ngược cho dịch vụ wekan đang chạy dưới cổng 8000.

Trước khi cài đặt máy chủ web Nginx, hãy thêm kho lưu trữ EPEL (Gói bổ sung cho Enterprise Linux) mới.
Mã:
yum -y install epel-release
Bây giờ hãy cài đặt nginx từ kho lưu trữ epel bằng lệnh yum bên dưới.
Mã:
yum -y install nginx
Sau khi cài đặt hoàn tất, hãy đến thư mục cấu hình '/etc/nginx/' và tạo tệp máy chủ ảo mới 'wekan.conf' trong thư mục 'conf.d'.
Mã:
cd /etc/nginx
vim conf.d/wekan.conf
Dán cấu hình máy chủ ảo sau vào đó.
Mã:
server {
 server_name wekan.hakase-labs.co;
 listen 80;

 access_log /var/log/nginx/wekan-access.log;
 error_log /var/log/nginx/wekan-error.log;

 location / {
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header Host $host;
 proxy_http_version 1.1;
 proxy_set_header Nâng cấp $http_upgrade;
 proxy_set_header Kết nối 'nâng cấp';
 proxy_cache_bypass $http_upgrade;
 proxy_pass http://127.0.0.1:8000;
 }
}
Lưu và thoát.

Kiểm tra cấu hình nginx và đảm bảo không có lỗi.
Mã:
nginx -t
Nếu không có lỗi, hãy khởi động dịch vụ Nginx và cho phép nó khởi chạy khi khởi động hệ thống.
Mã:
systemctl start nginx
systemctl enable nginx
Bây giờ hãy kiểm tra cổng HTTP bằng lệnh netstat và đảm bảo rằng nó ở trạng thái 'LISTEN'.
Mã:
netstat -plntu
Cấu hình máy chủ ảo Nginx cho Wekan đã hoàn tất.


Bước 6 - Kiểm tra​

Mở trình duyệt web của bạn và nhập url wekan installation vào thanh địa chỉ.


Và bạn sẽ được chuyển hướng đến trang đăng nhập - nhấp vào liên kết 'Đăng ký'.



Bây giờ hãy nhập tên người dùng, email, mật khẩu của bạn và để trống Mã mời.



Nhấp vào nút 'Đăng ký' màu xanh lam.

Và bạn sẽ nhận được thông báo 'Lỗi máy chủ nội bộ'. Bỏ qua và quay lại thiết bị đầu cuối của bạn. Bởi vì chúng ta sẽ kích hoạt người dùng đầu tiên từ thiết bị đầu cuối.

Mở thiết bị đầu cuối của bạn và đăng nhập vào shell mongo với tư cách là người dùng 'wekan'.
Mã:
mongo -u wekan -p --authenticationDatabase "wekan"
Bây giờ hãy kích hoạt người dùng bằng các truy vấn bên dưới.
Mã:
use wekan
db.users.update({username:'hakase'},{$set:{isAdmin:true}})
Thoát khỏi shell mongo.



Quay lại trình duyệt của bạn và mở lại cài đặt url Wekan.


Nhập tên người dùng và mật khẩu của bạn, sau đó nhấp vào nút 'Đăng nhập'.



Và bạn sẽ nhận được người dùng Wekan dashboard.



Dưới đây là dự án mẫu wekan.



Cài đặt Wekan trên hệ thống CentOS 7 với máy chủ web MongoDB và Nginx đã hoàn tất thành công.

Tham khảo​

 
Back
Bên trên