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

วิธีการติดตั้ง Redmine บน Amazon Web Services (AWS) - Ubuntu 18.04 LTS - ส่วนที่ 1

12/31/2023
6 minutes
ลูคาช เบนยา
Redmine เป็นแอปพลิเคชันการจัดการโครงการและติดตามปัญหาที่เปิดเผยซอร์ส มันทำงานบน Ruby on Rails และถูกออกแบบให้เป็นแพลตฟอร์มและฐานข้อมูลที่เชื่อมต่อกัน ในบทแนะนำนี้คุณจะเรียนรู้วิธีการติดตั้ง Redmine บน Amazon Web Services (AWS)

มีตัวเลือกหลักสองตัวในการติดตั้ง Redmine บน Amazon Web Services (AWS):

  • ใช้ตัวอินสแตนซ์ AWS Linux ธรรมดา (EC2 หรือ Lightsail) และติดตั้ง Redmine ด้วยวิธีด้วยตนเอง หรือ
  • ใช้ตัวอินสแตนซ์ Redmine Lightsail ที่ติดตั้งได้ด้วยคลิกเดียว

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

ส่วนแรกของบทแนะนำนี้อธิบายวิธีการติดตั้ง Redmine บน ตัวอินสแตนซ์ AWS Linux ธรรมดา


ก่อนที่จะเริ่มต้น

ก่อนที่จะเริ่มกระบวนการ ตรวจสอบให้แน่ใจว่ามีเงื่อนไขต่อไปนี้:

  • คุณมีบัญชี Amazon Web Services ที่มีสิทธิ์ของผู้ดูแลระบบ
  • คุณมีชื่อโดเมนสำหรับแอปพลิเคชัน Redmine ของคุณ เช่น redmine.mydomain.com
  • คุณสามารถเข้าถึงการกำหนดค่า DNS สำหรับโดเมนของคุณได้


การติดตั้ง Redmine บนตัวอินสแตนซ์ Linux EC2 หรือ LightSail ธรรมดา

สำหรับวัตถุประสงค์ของบทแนะนำนี้ เราเข้าใจว่าคุณได้เริ่มต้นตัวอินสแตนซ์ AWS EC2 หรือ Lightsail ที่ทำงานด้วย Ubuntu 18.04 LTS ไว้แล้ว

เราจะติดตั้ง Redmine บนตัวอินสแตนซ์ Linux นี้โดยใช้ฐานข้อมูล MySQL เซิร์ฟเวอร์, เว็บเซิร์ฟเวอร์ NGINX และแอปพลิเคชันเซิร์ฟเวอร์ Phusion Passenger


กำหนดค่าเซิร์ฟเวอร์ DNS

ก่อนที่จะเชื่อมต่อกับตัวอินสแตนซ์ของคุณ คุณต้องกำหนดค่า DNS สร้างรายการ DNS สำหรับชื่อโดเมน Redmine ของคุณ (redmine.mydomain.com) ที่ชี้ไปที่ ที่อยู่ IP สาธารณะ ของตัวอินสแตนซ์ Linux AWS ของคุณ

คุณสามารถทำได้โดยใช้บริการ AWS Route 53

image001

การกำหนดค่า DNS โดยใช้ AWS Route 53

คุณสามารถหาที่อยู่ IP สาธารณะของตัวอินสแตนซ์ Ubuntu 18.04 LTS ของคุณได้ที่คอนโซลการจัดการ EC2 หรือคอนโซล Lightsail ของคุณ

image003

คอนโซลการจัดการ EC2 ของ AWS

image005

คอนโซล Lightsail ของ AWS

เมื่อกำหนดค่ารายการ DNS เสร็จสิ้น ให้เชื่อมต่อกับตัวอินสแตนซ์ Linux และดำเนินการตามขั้นตอนต่อไป


ติดตั้งและกำหนดค่าฐานข้อมูล MySQL


1. ติดตั้งเซิร์ฟเวอร์ MySQL:

sudo apt update

sudo apt install mysql-server mysql-client


2. ดำเนินการกำหนดค่าเซิร์ฟเวอร์ MySQL ครั้งแรก:

sudo mysql_secure_installation

คุณจะถูกต้องให้:

  • เปิดใช้งานปลั๊กอิน VALIDATE PASSWORD (ตอบ yes และเลือกรหัสผ่านที่ STRONG)
  • เลือกรหัสผ่านผู้ใช้ root
  • ลบผู้ใช้ที่ไม่มีชื่อ (ตอบ yes)
  • ไม่อนุญาตให้เข้าสู่ระบบระยะไกลด้วยบัญชี root (ตอบ no หากคุณต้องการเชื่อมต่อกับฐานข้อมูลจากภายนอกตัวอินสแตนซ์ Ubuntu Linux ของคุณ หรือตอบ yes หากไม่ใช่)

3. ตรวจสอบว่าเซิร์ฟเวอร์ MySQL กำลังทำงาน:

sudo systemctl status mysql

(คุณควรเห็น active (running) เป็นส่วนหนึ่งของการตอบสนองของคำสั่ง)


4. สร้างฐานข้อมูลใหม่และผู้ใช้ฐ

ติดตั้ง Ruby

ติดตั้งเวอร์ชัน Ruby เริ่มต้นสำหรับการกระจายเวอร์ชัน Linux ของคุณ หากคุณต้องการเวอร์ชันที่แตกต่างกัน คุณสามารถใช้ RVM (Ruby Version Manager) ได้


1. ติดตั้ง 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" ด้วย "redmine" ได้


Rbenv

โปรดทำตามคำแนะนำใน บทความนี้


ติดตั้ง NGINX และ Passenger

NGINX เป็นเว็บเซิร์ฟเวอร์โอเพนซอร์สที่ออกแบบมาเพื่อให้มีประสิทธิภาพสูงสุดและเสถียรภาพสูง Passenger เป็นแอปพลิเคชันเซิร์ฟเวอร์โอเพนซอร์สที่ผสานร่วมกับ NGINX เพื่อเรียกใช้ซอฟต์แวร์ Ruby เช่น Redmine ผ่านเว็บ ในกรณีของเราเราต้องติดตั้งทั้งสองอย่าง

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

sudo gem install bundler --no-rdoc --no-ri


ติดตั้งและกำหนดค่า Redmine

ก่อนที่จะดำเนินการติดตั้งต่อไป ตรวจสอบเวอร์ชัน Redmine ล่าสุดที่มีอยู่ คุณสามารถหาได้ที่ หน้าดาวน์โหลด Redmine

image007

หน้าดาวน์โหลด Redmine

จดบันทึกเวอร์ชันที่คุณต้องการและดำเนินการต่อ

หมายเหตุ: ควรที่จะไม่ติดตั้งและเรียกใช้ Redmine จากผู้ใช้ root


1. ติดตั้ง dependencies ที่จำเป็นสำหรับการสร้าง Redmine:

sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev


2. ดาวน์โหลด Redmine ไปยังไดเรกทอรี /tmp ของคุณ:

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


3. แยกไฟล์ที่ดาวน์โหลดและคัดลอกไฟล์แอปพลิเคชันไปยังไดเรกทอรีการติดตั้ง:

cd /tmp

sudo tar zxf /tmp/redmine.tar.gz

sudo mv /tmp/redmine-4.1.0 /var/www/html/redmine/


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


3.1. เปิดไฟล์กำหนดค่าฐานข้อมูล (database.yml)

cd /var/www/html/redmine/config/

cp database.yml.example database.yml

sudo nano /var/www/html/redmine/config/database.yml


3.2. นำข้อมูลการเปลี่ยนแปลงที่แสดงด้านล่างนี้ไปใช้กับส่วน production ของไฟล์:

production:

adapter: mysql2

database: redminedb

host: localhost

username: redminedbusr

password: "password"

encoding: utf8mb4


3.3 ติดตั้งความขึ้นอยู่กับ Ruby ที่จำเป็นสำหรับการเรียกใช้ Redmine:

cd /var/www/html/redmine/

sudo gem install bundler --no-rdoc --no-ri

sudo bundle install --without development test postgresql sqlite


3.4 โยกย้ายฐานข้อมูลและกำหนดค่าสภาพแวดล้อมการทำงาน

cd /var/www/html/redmine/

sudo bundle exec rake generate_secret_token

sudo RAILS_ENV=production bundle exec rake db:migrate


กำหนดค่า NGINX

นี่คือขั้นตอนสุดท้ายของบทแนะนำของเรา หลังจากที่คุณกำหนดค่า NGINX เสร็จสิ้นคุณจะมีเซิร์ฟเวอร์ Redmine ที่ทำงานอย่างเต็มรูปแบบบนเครื่อง Ubuntu 18.04 LTS ของคุณ


1. สร้าง โฮสต์เสมือน สำหรับแอปพลิเคชัน Redmine ของคุณ:

sudo nano /etc/nginx/sites-available/redmine.mydomain.com


2. ใส่การกำหนดค่าโฮสต์เสมือนต่อไปนี้และบันทึกไฟล์ของคุณ:

server {

listen 80;

server_name redmine.mydomain.com;

root /var/www/html/redmine/public;

passenger_enabled on;

passenger_min_instances 1;

client_max_body_size 10m;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}


3. เปิดใช้งาน โฮสต์เสมือน ของคุณโดยเชื่อมโยงไฟล์การกำหนดค่าที่สร้างใหม่เข้ากับไดเรกทอรี sites-enabled:

sudo ln -s /etc/nginx/sites-available/redmine.mydomain.com /etc/nginx/sites-enabled/redmine.mydomain.com


4. ตรวจสอบการกำหนดค่า NGINX ของคุณ:

sudo nginx -t

COMMAND OUTPUT:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful


5. รีสตาร์ทเซิร์ฟเวอร์ NGINX:

sudo systemctl restart nginx


เข้าถึง Redmine

1. เปิดเบราว์เซอร์ของคุณและพิมพ์ชื่อโดเมน Redmine ของคุณที่แถบที่อยู่ จะปรากฏหน้าจอเข้าสู่ระบบ Redmine

image009

หน้าจอเข้าสู่ระบบ Redmine ครั้งแรก

2. เข้าสู่ระบบเซิร์ฟเวอร์ Redmine ของคุณโดยใช้ข้อมูลประจำตัวเริ่มต้น (ชื่อผู้ใช้: admin และรหัสผ่าน: admin) และเมื่อระบบขอรหัสผ่านใหม่สำหรับบัญชีผู้ดูแลของคุณให้ตั้งรหัสผ่านใหม่

3. สุดท้าย กำหนดค่าการตั้งค่าบัญชีผู้ดูแลระบบของคุณ รวมถึงที่อยู่อีเมลและโซนเวลาของคุณ

image011

ขอแสดงความยินดี! Redmine ของคุณพร้อมใช้งานแล้ว!

หากคุณต้องการค้นพบวิธีการติดตั้ง Redmine บน Amazon Web Services (AWS) ด้วยวิธีอื่น ๆ โปรดดูที่ ส่วนที่สองของบทแนะนำนี้

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

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

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

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