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

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.