Cài leantime lên Ubuntu Server
Giới thiệu
Leantime là một hệ thống quản lý dự án nhanh gọn dành cho các nhà quản lý phi dự án. Được thiết kế để giúp bạn quản lý các dự án của mình từ ý tưởng đến giao hàng.
Ưu điểm
- Miễn phí, miễn phí và miễn phí.
- Mã nguồn mở.
- Nhanh và nhẹ, trước mình có dùng thử OpenProject, tuy nhiên cực ngốn RAM. Còn với Leantime thì RAM hầu như không tốn mấy.
- Cài đơn giản.
- Dễ dàng làm quen và sử dụng.
Yêu cầu hệ thống
- Ubuntu Server.
- Nginx để làm Reverse Proxy.
- PHP phiên bản 8.0 trở lên.
- Tên miền với chứng chỉ SSL đã được lấy miễn phí từ Let's Encrypt.
- Cơ sở dữ liệu MariaDB.
Cài đặt
Tạo Cơ sở dữ liệu
Đăng nhập vào tài khoản root
sudo mysql -u root -p
Tạo cơ sở dữ liệu leantime và tài khoản leantimedb, tên cơ sở dữ liệu và tài khoản cũng như mật khẩu tùy bạn
CREATE USER 'leantime' IDENTIFIED BY 'password';
CREATE DATABASE leantimedb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
GRANT ALL PRIVILEGES ON leantimedb.* TO 'leantime';
FLUSH PRIVILEGES;
exit;
Tải về
Tải về phiên bản mới nhất
wget https://github.com/Leantime/leantime/releases/download/v2.3.14/Leantime-v2.3.14.zip
giải nén
unzip Leantime-v2.3.14.zip
copy về thư mục www
sudo mv leantime /var/www
Đổi tên file config/configuration.sample.php thành config/configuration.php. Mở file đó ra và điền các thông tin về cơ sở dữ liệu đã tạo ở trên.
Cấu hình Nginx
Tạo file cấu hình cho Nginx
sudo nano /etc/nginx/sites-available/leantime.com
Và nhập vào nội dung sau
server {
listen 80;
server_name leantime.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name leantime.com;
set $base /var/www/leantime.com;
root $base/public;
access_log /var/log/nginx/leantime.access.log;
error_log /var/log/nginx/leantime.error.log;
ssl_certificate /etc/letsencrypt/live/leantime.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/leantime.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# index.php
index index.php;
location ~.php$ {
# 404
try_files $fastcgi_script_name =404;
# default fastcgi_params
include fastcgi_params;
# fastcgi settings
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
# fastcgi params
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$base/:/usr/lib/php/:/tmp/";
}
location / {
rewrite ^/?$ /index.php?act=dashboard.show;
rewrite ^/([^/\.]+)/?$ /index.php?act=$1;
rewrite ^/([^/\.]+)/([^/\.]+)/?$ /index.php?act=$1.$2;
rewrite ^/([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ /index.php?act=$1.$2&id=$3;
}
# additional config
# favicon.ico
location = /favicon.ico {
log_not_found off;
access_log off;
}
# robots.txt
location = /robots.txt {
log_not_found off;
access_log off;
}
# assets, media
location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
expires 7d;
access_log off;
}
# svg, fonts
location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
add_header Access-Control-Allow-Origin "*";
expires 7d;
access_log off;
}
# gzip
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_types text/plain text/css text/xml application/json application/javascript application/rss+xml application/atom+xml image/svg+xml;
}
Ánh xạ, kiểm tra cấu hình không lỗi thì khởi động lại Nginx
sudo ln -s /etc/nginx/sites-available/leantime.com /etc/nginx/sites-enabled/leantime.com
sudo nginx -t
sudo systemctl restart nginx
Xong, giờ chúng ta truy cập vào Tên miền, làm theo hướng dẫn để tạo tài khoản đầu tiên. Chúc các bạn thành công.