th
ภาษา
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
การแปลโดย AI
  • cs
  • hu
  • it
  • pl
  • nl
  • tr
  • ae
  • se
  • ua
  • id
  • vn
  • cn
  • th
  • ro
  • bg
  • dk
  • fi
  • no
  • gr
  • il
  • ee
  • eu

Introduce and Configure Redmine on Debian 9

12/31/2023
5 minutes
ลูคาช เบญา, จากภาษาอังกฤษ (สหราชอาณาจักร) เป็นภาษาไทย (ประเทศไทย)

Redmine รวมการสนับสนุนโครงการที่แตกต่างกัน, วิกิ, การติดตามปัญหาของระบบ, การสนทนา, ปฏิทิน, การแจ้งเตือนทางอีเมล และอื่น ๆ อีกมากมาย เราจะแสดงให้คุณเห็นวิธีการติดตั้งและปรับแต่งเวอร์ชันใหม่ของ Redmine บน Debian 9 ในบทความนี้

ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าทำตามขั้นตอนเหล่านี้

  • มีชื่อโดเมนที่ชี้ไปยัง IP สาธารณะบนเซิร์ฟเวอร์ของคุณ เราจะใช้ตัวอย่าง.com
  • ลงชื่อเข้าใช้เป็นผู้ใช้ที่ได้รับการสนับสนุนจาก sudo
  • ติดตั้ง Nginx
  • มีการติดตั้งใบรับรอง SSL ของโดเมน


สร้างฐานข้อมูล My SQL

Redmine รองรับ MySQL/MariaDB, SQL Server, SQLite 3, Microsoft และ PostgreSQL เราจะใช้ MariaDB เป็นฐานข้อมูลด้านหลัง ตรวจสอบว่าคุณได้ติดตั้ง MySQL 5.7 หรือ MariaDB 10.3 อย่างน้อยบนเครื่องคอมพิวเตอร์ของคุณ 
หากเซิร์ฟเวอร์ Debian ของคุณไม่มี MariaDB หรือ MySQL คุณสามารถติดตั้งได้โดยใช้คำสั่งเหล่านี้ 
เริ่มต้นด้วยการลงชื่อเข้าใช้ด้วยการพิมพ์ใน MySQL support:
$ sudo mysql
เพื่อสร้างฐานข้อมูลใหม่ให้เรียกใช้คำสั่ง SQL ต่อไปนี้; 
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
สร้างบัญชีผู้ใช้ใหม่สำหรับ MySQL และอนุญาตให้เข้าถึงฐานข้อมูล: 
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
mysql> flush priviledges; <- สิ่งนี้สำคัญ! มิฉะนั้นการเปลี่ยนแปลงจะไม่มีผลจนกว่าบริการ mysql จะเริ่มต้นใหม่
โปรดจำไว้ว่าต้องเปลี่ยนรหัสผ่านที่แข็งแกร่งกับ change-with-strong-password
เมื่อเสร็จสิ้นให้ออกจากคอนโซลที่ MariaDB โดยพิมพ์:
mysql> EXIT;


ติดตั้ง Ruby

ติดตั้งเวอร์ชันล่าสุดของ Ruby ผ่าน Rbenv หรือ RVM


RVM

1. ติดตั้ง rvm, เรียกใช้งาน และเพิ่มในการเริ่มต้นอัตโนมัติ
curl -sSL https://get.rvm.io | sudo bash -s master
source /etc/profile.d/rvm.sh
echo '[[ -s "/etc/profile.d/rvm.sh" ]] && source "/etc/profile.d/rvm.sh"' >> ~/.bashrc
2. สร้างผู้ใช้ "easy" (หรือคุณสามารถตั้งชื่อให้เหมาะสม จุดสำคัญคือผู้ใช้นี้จะทำงานกับแอปพลิเคชัน redmine ของคุณ ไม่ใช่ผู้ใช้ root นี่ควรทำเพื่อเหตุผลด้านความปลอดภัย)
useradd -m -G rvm -s /bin/bash easy
คุณยังต้องเพิ่มผู้ใช้ "easy" เข้ากลุ่ม sudoers (เราควรอนุญาตให้ผู้ใช้นี้เรียกใช้คำสั่งบางอย่างจาก sudo)
usermod -a -G sudo easy
หากคุณทำเช่นนี้คุณอาจพลาดขั้นตอนถัดไป เนื่องจากหลังจากคำสั่งนี้ผู้ใช้ของคุณอยู่ในกลุ่มที่เหมาะสมอยู่แล้ว เปลี่ยนไปใช้ผู้ใช้นี้
su - easy
3. เพิ่มผู้ใช้ในกลุ่ม rvm
usermod -a -G rvm easy
คุณยังต้องเพิ่มผู้ใช้ "easy" เข้ากลุ่ม sudoers (เราควรอนุญาตให้ผู้ใช้นี้เรียกใช้คำสั่งบางอย่างจาก sudo)
usermod -a -G sudo easy
เปลี่ยนไปใช้ผู้ใช้ "easy"
su - easy
4. ติดตั้ง ruby
rvm install 2.6 --patch railsexpress
5. ติดตั้ง git
sudo apt-get install git
6. ตั้งค่า ruby 2.6 เป็นค่าเริ่มต้น
rvm use 2.6 --default
ส่วนที่เป็น ตัวเอียง จำเป็นเฉพาะหากคุณต้องการติดตั้ง ruby จากผู้ใช้ที่ไม่ใช่ root หากคุณตัดสินใจที่จะไม่ทำเช่นนั้นคุณสามารถแทนที่ชื่อผู้ใช้ "easy" ด้

แนะนำ Passenger และ Nginx #

Passenger เป็นเซิร์ฟเวอร์แอปพลิเคชันเว็บ Ruby, Node.js, และ Python ที่รวดเร็วและเบา สามารถรวมกับ Apache และ Nginx ได้ Passenger จะถูกนำเข้าเป็นโมดูลของ Nginx 

การติดตั้งแพคเกจที่จำเป็นสำหรับสร้างเครื่องมือจัดเก็บ https:

$    sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common

นำเข้าคีย์ GPG ของเครื่องมือจัดเก็บและอนุญาตให้เครื่องมือจัดเก็บ Phusionpassenger:

$   sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7

$   sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger stretch main'

อัปเดตรายการแพคเกจและติดตั้งโมดูล Nginx Passenger ด้วยคำสั่ง:

$   sudo apt update

$   sudo apt install libnginx-mod-http-passenger

$   gem install passenger --no-ri --no-rdoc

$   passenger-install-nginx-module


ติดตั้ง Redmine บน Debian

เริ่มต้นด้วยการติดตั้งสิ่งที่จำเป็นสำหรับการสร้าง Redmine:

$    sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev

คุณควรตรวจสอบหน้าดาวน์โหลด Redmine สำหรับเวอร์ชันใหม่กว่าก่อนดำเนินการขั้นตอนถัดไป


ดาวน์โหลด Redmine

ใช้คำสั่ง curl ต่อไปนี้เพื่อดาวน์โหลดเอกสารที่ Redmine:

$     sudo curl -L http://www.redmine.org/releases/redmine-4.0.4.tar.gz -o /tmp/redmine.tar.gz

แตกไฟล์เอกสารและย้ายไปยังไดเรกทอรี /opt เมื่อดาวน์โหลดเสร็จสมบูรณ์:

$  cd /tmp

$  sudo tar zxf /tmp/redmine.tar.gz

$  sudo mv /tmp/redmine-4.0.4 /opt/redmine

กำหนดค่าฐานข้อมูล Redmine:

คัดลอกไฟล์กำหนดค่าสำหรับตัวอย่างใน Redmine:

$     sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml

เปิดไฟล์เอดิเตอร์ของคุณ:

$    sudo nano /opt/redmine/config/database.yml

ค้นหาส่วนการผลิต และป้อนข้อมูลฐานข้อมูลและผู้ใช้ MySQL ที่สร้างไว้ก่อนหน้านี้:

/opt/redmine/config/database.yml

Production:

  adapter: mysql2

  database: redmine

  host: localhost

  username: redmine

  password: "change-with-strong-password"

  encoding: utf8

บันทึกไฟล์จนเสร็จสิ้นและออกจากเอดิเตอร์


ติดตั้งเงื่อนไข Ruby

ติดตั้ง bundler และเงื่อนไข Ruby อื่น ๆ และเข้าสู่ไดเรกทอรี Redmine:

$ cd path/to/redmine/

$ sudo gem install bundler

$ sudo bundle install -- without development test

ย้ายฐานข้อมูลโดยการสร้างคีย์:

เรียกใช้คำสั่งสร้างคีย์และย้ายฐานข้อมูล

$ sudo bundle exec rake generate_secret_token

$ sudo RAILS_ENV=production bundle exec rake db:migrate


ตั้งค่าสิทธิ์ที่ถูกต้อง

Nginx ทำงานเป็นไคลเอ็นต์และเครือข่ายของ www-information ตั้งค่าสิทธิ์อย่างถูกต้องโดยให้คำสั่ง chown ต่อไปนี้

$    sudo chown -R www-data: /opt/redmine/


ติดตั้ง Nginx

หมายเหตุ: ในบล็อกนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ letsencrypt และวิธีทางเลือกในการสร้าง/ซื้อใบรับรอง HTTPS (cert-manager) ได้

ตอนนี้หากคุณยังไม่ตรวจสอบเงื่อนไขพื้นฐานสำหรับบทแนะนำนี้ คุณควรมี Nginx พร้อมใบรับรอง SSL ติดตั้งบนระบบของคุณแล้ว

เปิด Text Editor ของคุณและสร้างไฟล์บล็อกต่อไปนี้สำหรับเซิร์ฟเวอร์ Nginx:

$    sudo nano /etc/nginx/sites-available/example.com

/etc/nginx/sites-available/example.com

# Redirect HTTP -> HTTPS

server {

    listen 80;

    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;

    return 301 https://example.com$request_uri;

}

# Redirect WWW -> NON WWW

server {

    listen 443 ssl http2;

    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;

}

server {

    listen 443 ssl http2;

    server_name example.com;

    root /opt/redmine/public;

    # SSL parameters

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

    include snippets/ssl.conf;

    include snippets/letsencrypt.conf;

    # log files

    access_log /var/log/nginx/example.com.access.log;

    error_log /var/log/nginx/example.com.error.log;

    passenger_enabled on;

    passenger_min_instances 1;

    client_max_body_size 10m;
}
อย่าลืมใช้โดเมน Redmine ของคุณเพื่อแทนที่ example.com และตั้งค่าพาธที่ถูกต้องสำหรับไฟล์ใบรับรอง SSL ทุกคำขอสำหรับ HTTP จะถูกส่งต่อไปยัง HTTPS คู่มือนี้สร้างโค้ดส่วนที่ใช้ในการติดตั้งนี้
เปิดใช้งานบล็อกเซิร์ฟเวอร์โดยสร้าง symbolic link ไปยังไดเรกทอรีที่เปิดใช้งานสำหรับไซต์:
$    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
ทำการทดสอบก่อนที่จะรีสตาร์ทบริการ Nginx เพื่อให้แน่ใจว่าไม่มีข้อผิดพลาดในรูปแบบไวยกรณ์: 
$  sudo nginx -t
หากไม่มีข้อผิดพลาดเกิดขึ้น ผลลัพธ์ควรจะมีลักษณะดังนี้: 
nginx: ไฟล์การกำหนดค่า /etc/nginx/nginx.conf มีรูปแบบถูกต้อง
nginx: ไฟล์การกำหนดค่า /etc/nginx/nginx.conf ทดสอบสำเร็จ
ในที่สุด รีสตาร์ทบริการด้วย Nginx โดยพิมพ์:
$  sudo systemctl restart nginx


เข้าถึง Redmine

เปิดเบราว์เซอร์ของคุณ พิมพ์โดเมนของคุณ และหากการติดตั้งเสร็จสมบูรณ์ จะปรากฏหน้าจอที่คล้ายกันดังนี้: 

ข้อมูลการเข้าสู่ระบบเริ่มต้นของ Redmine คือ: 
ชื่อผู้ใช้: admin
รหัสผ่าน: admin
เมื่อคุณเข้าสู่ระบบครั้งแรก คุณจะถูกแจ้งให้เปลี่ยนรหัสผ่านดังที่แสดงด้านล่าง: 

เมื่อรหัสผ่านถูกเปลี่ยนแล้ว คุณจะถูกเปลี่ยนเส้นทางไปยังหน้าบัญชีผู้ใช้
คุณได้สร้าง Redmine บนระบบ Debian ของคุณเรียบร้อยแล้ว

การอัพเกรด Redmine ที่สุดยอด? ง่าย.

ได้รับเครื่องมือที่มีกำลังในการวางแผนโครงการที่เหมาะสม การจัดการ และควบคุมทั้งหมดในซอฟต์แวร์เดียว

ทดลองใช้ Easy Redmine ฟรี 30 วัน

คุณสมบัติครบถ้วน, ป้องกันด้วย SSL, สำรองข้อมูลประจำวัน, ในตำแหน่งที่ตั้งของคุณ