Android

วิธีการติดตั้งและกำหนดค่า redmine บน centos 7

Видеоролик: пейзажная лирика «Листопад» Библиотека-филиал № 7 села Юбилейное.

Видеоролик: пейзажная лирика «Листопад» Библиотека-филиал № 7 села Юбилейное.

สารบัญ:

Anonim

Redmine เป็นหนึ่งในเครื่องมือการจัดการโครงการโอเพนซอร์ซที่ได้รับความนิยมสูงสุดและเป็นเครื่องมือในการติดตามปัญหา มันเป็นแพลตฟอร์มข้ามและฐานข้อมูลข้ามและสร้างขึ้นบนกรอบของ Ruby on Rails

Redmine รวมถึงการสนับสนุนหลายโครงการวิกิระบบติดตามปัญหาฟอรัมปฏิทินการแจ้งเตือนทางอีเมลและอื่น ๆ อีกมากมาย

ในบทช่วยสอนนี้เราจะกล่าวถึงขั้นตอนที่จำเป็นในการติดตั้งและกำหนดค่าเวอร์ชันล่าสุดของ Redmine บนเซิร์ฟเวอร์ CentOS 7 โดยใช้ MariaDB เป็นฐานข้อมูลด้านหลังและ Passenger + Nginx เป็นเซิร์ฟเวอร์แอปพลิเคชัน Ruby

ข้อกำหนดเบื้องต้น

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

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

ติดตั้งแพ็กเกจที่จำเป็นสำหรับการสร้าง Redmine และ Ruby จากแหล่งที่มา:

sudo yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool sudo yum install readline-devel sqlite-devel zlib-devel openssl-develh readline glibc-headers glibc-devel sudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

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

Redmine รองรับ MySQL / MariaDB, Microsoft SQL Server, SQLite 3 และ PostgreSQL ในบทช่วยสอนนี้เราจะใช้ MariaDB เป็นฐานข้อมูลส่วนหลัง

หากคุณไม่มี MariaDB หรือ MySQL ติดตั้งบนเซิร์ฟเวอร์ CentOS ของคุณคุณสามารถติดตั้งได้โดยทำตามคำแนะนำเหล่านี้

เข้าสู่ระบบไปยังเปลือก MySQL โดยพิมพ์คำสั่งต่อไปนี้:

sudo mysql

จากภายใน MySQL shell ให้รันคำสั่ง SQL ต่อไปนี้เพื่อสร้างฐานข้อมูลใหม่:

CREATE DATABASE redmine CHARACTER SET utf8;

จากนั้นสร้างบัญชีผู้ใช้ MySQL และให้สิทธิ์การเข้าถึงฐานข้อมูล:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; ตรวจสอบให้แน่ใจว่าคุณเปลี่ยน change-with-strong-password มีการคาดเดายากด้วยรหัสผ่านที่คาดเดายาก

เมื่อเสร็จแล้วให้ออกจากเปลือก mysql โดยพิมพ์:

EXIT;

การติดตั้งผู้โดยสารและ Nginx

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

ติดตั้งที่เก็บ EPEL และแพ็คเกจที่ต้องการ:

sudo yum install epel-release yum-utils pygpgme sudo yum-config-manager --enable epel

เปิดใช้งานที่เก็บ Phusionpassenger:

sudo yum-config-manager --add-repo

เมื่อเปิดใช้งานที่เก็บแล้วให้อัพเดตรายการแพ็กเกจและติดตั้ง Nginx และ Passenger ด้วย:

sudo yum install nginx passenger passenger-devel

สร้างผู้ใช้ระบบใหม่

สร้างผู้ใช้และกลุ่มใหม่ซึ่งจะเรียกใช้อินสแตนซ์ Redmine เพื่อความง่ายเราจะตั้งชื่อผู้ใช้ redmine :

sudo useradd -m -U -r -d /opt/redmine redmine

เพิ่มผู้ใช้ nginx ไปยังกลุ่มผู้ใช้ใหม่และเปลี่ยนการอนุญาตไดเรกทอรี /opt/redmine เพื่อให้ Nginx สามารถเข้าถึงได้:

sudo usermod -a -G redmine nginx sudo chmod 750 /opt/redmine

ติดตั้ง Ruby

รุ่น Ruby ในที่เก็บ CentOS นั้นล้าสมัยแล้วและ Redmine ไม่รองรับ เราจะติดตั้ง Ruby โดยใช้ RVM

เปลี่ยนเป็นผู้ใช้ redmine โดยพิมพ์:

sudo su - redmine

อิมพอร์ตคีย์ GPG และติดตั้ง RVM:

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable curl -sSL https://get.rvm.io | bash -s stable

ในการเริ่มต้นใช้แหล่ง RVM ไฟล์ rvm :

source /opt/redmine/.rvm/scripts/rvm

ตอนนี้เราสามารถติดตั้ง Ruby โดยการเรียกใช้:

rvm install 2.5 rvm --default use 2.5 หากคุณต้องการติดตั้ง Ruby ผ่าน Rbenv ตรวจสอบคู่มือนี้

การติดตั้ง Redmine บน CentOS

ในขณะที่เขียนบทความนี้ Redmine เวอร์ชันเสถียรล่าสุดคือเวอร์ชัน 4.0.1

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

ตรวจสอบให้แน่ใจว่าคุณกำลังทำตามขั้นตอนต่อไปนี้ในฐานะผู้ใช้ใหม่

1. การดาวน์โหลด Redmine

ดาวน์โหลดไฟล์เก็บถาวร Redmine ด้วยคำสั่ง curl ต่อไปนี้:

curl -L http://www.redmine.org/releases/redmine-4.0.1.tar.gz -o redmine.tar.gz

เมื่อการดาวน์โหลดเสร็จสิ้นให้แตกไฟล์เก็บถาวร:

tar -xvf redmine.tar.gz

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

คัดลอกไฟล์คอนฟิกูเรชันฐานข้อมูลตัวอย่าง Redmine:

cp /opt/redmine/redmine-4.0.1/config/database.yml.example /opt/redmine/redmine-4.0.1/config/database.yml

เปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความของคุณ:

nano /opt/redmine/redmine-4.0.1/config/database.yml

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

/opt/redmine/redmine-4.0.1/config/database.yml

production: adapter: mysql2 database: redmine host: localhost username: redmine password: "change-with-strong-password" encoding: utf8

เมื่อเสร็จแล้วให้บันทึกไฟล์และออกจากโปรแกรมแก้ไข

3. การติดตั้งการพึ่งพาของ Ruby

นำทางไปยัง redmine-4.0.1 และติดตั้งบันเดิลและการพึ่งพา Ruby อื่น ๆ:

cd ~/redmine-4.0.1 gem install bundler --no-rdoc --no-ri bundle install --without development test postgresql sqlite

4. สร้างคีย์และย้ายฐานข้อมูล

รันคำสั่งต่อไปนี้เพื่อสร้างคีย์และโอนย้ายฐานข้อมูล:

bundle exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate

การกำหนดค่า Nginx

เปลี่ยนกลับเป็นผู้ใช้ sudo ของคุณ:

exit

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

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com.conf

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; server { listen 80; server_name example.com www.example.com; root /opt/redmine/redmine-4.0.1/public; # 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; } อย่าลืมแทนที่ example.com ด้วยโดเมน Redmine ของคุณ

ก่อนที่จะเริ่มบริการ Nginx ทำการทดสอบเพื่อให้แน่ใจว่าไม่มีข้อผิดพลาดทางไวยากรณ์:

sudo nginx -t

หากไม่มีข้อผิดพลาดเอาต์พุตควรมีลักษณะดังนี้:

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

สุดท้ายให้เริ่มบริการ Nginx อีกครั้งโดยพิมพ์:

sudo systemctl restart nginx

กำหนดค่า Nginx ด้วย SSL

เมื่อสร้างใบรับรองแล้วให้แก้ไขการกำหนดค่าโดเมน Nginx ดังนี้

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; # 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/redmine-4.0.1/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; } อย่าลืมแทนที่ example.com ด้วยโดเมน Redmine ของคุณและตั้งค่าเส้นทางที่ถูกต้องไปยังไฟล์ใบรับรอง SSL คำขอ HTTP ทั้งหมดจะถูกเปลี่ยนเส้นทางไปยัง

การเข้าถึง Redmine

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

เมื่อคุณเปลี่ยนรหัสผ่านคุณจะถูกนำไปที่หน้าบัญชีผู้ใช้

ข้อสรุป

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

centos redmine ruby ​​mysql mariadb nginx