How To: ติดตั้งและรัน Redmine ด้วย Apache + mod_passenger บน Debian
Redmine เป็น Project Management Software (Bug Tracker) ตัวหนึ่ง เอาไว้จัดการโปรเจคต่างๆที่ทำกันเป็นทีมใหญ่ๆ เจ้า Redmine นี่เขียนและรันบน Ruby on Rails ซึ่งยังจัดเป็นของแปลกอยู่สำหรับทุกวันนี้ มันก็เลยติดตั้งค่อนข้างยุ่งยากกว่า PHP ที่นิยมใช้กันแพร่หลายและมักจะติดตั้งมาเป็น Default ของ Web Server ส่วนใหญ่

Redmine Screenshot
Blog นี้จะอธิบายขั้นตอนการติดตั้ง Redmine ไม่ใช่วิธีใช้
ถ้าต้องการอ่านวิธีใช้งานให้ไปอ่านที่ ใช้ Redmine พัฒนา project ของ @ploysics
รายละเอียดของ Server และ Redmine
- OS: Debian
- User: redmine
- Path ที่ติดตั้ง: /home/redmine
- URL บนเว็บ: http://hostname/redmine/ (hostname คือเว็บที่จะเอาไปรัน)
สรุปขั้นตอนย่อๆ
- ต้องมีสิทธิ root บน Server เครื่องที่จะติดตั้ง
- ลง Apache2 + MySQL และโปรแกรมจุกจิกให้ครบ
- ลง Redmine
- ลง mod_passenger
เริ่มลงกันเลย
- แปลงร่างเป็น root
sudo -i
- ลงโปรแกรมที่ยังขาด
aptitude install subversion ruby rails rake librmagick-ruby subversion libmysql-ruby mysql-client rubygems build-essential ruby1.8-dev apache2-prefork-dev
- สร้าง User ของ Redmine
useradd -md /home/redmine -s /bin/false redmine
- โหลด Redmine มาลง
cd /home/redmine svn co http://redmine.rubyforge.org/svn/trunk ./
- สร้าง Database ใน MySQL ให้เรียบร้อย ตรงนี้ขอไม่อธิบาย สิ่งที่ต้องรู้หลังจากสร้างแล้วก็มี Username, Password และ Database Name
- ตั้งค่า Database กับ Email ของ Redmine
cd /home/redmine/config cp database.yml.example database.yml cp email.yml.example email.yml
แก้ไฟล์ database.yml ตรงส่วน production จุดหลักๆที่ต้องแก้คือ username, password, database โดยใช้ข้อมูลที่ได้จากข้อ 5.
แก้ไฟล์ email.yml ตรงส่วน production ให้ตรงตาม SMTP Server ที่ Server เราใช้อยู่ ถ้างงว่าต้องแก้ยังไงก็ลองตั้งตามนี้เอาละกัน
production: delivery_method: :smtp smtp_settings: address: 127.0.0.1 port: 25 domain: rtsp.us # authentication: :login # user_name: redmine@example.net # password: redmine
domain: คือโดเมนที่จะรัน Redmine, ส่วน authentication, user_name, password ก็ comment ทิ้งไป (ใช้เครื่องหมาย # ในการ comment)
- ลง rails ให้ถูกรุ่นก่อน ดูรุ่นที่ต้องใช้ได้จากหน้า RedmineInstall ณ เวลาที่เขียนนี้ รุ่น trunk ต้องใช้ Rails 2.1.2
gem install rails -v=2.1.2
- ติดตั้ง database ของ Redmine ถ้าทำแล้วมันโวยวายเรื่องรุ่น Rails ให้กลับไปทำข้อ 7 ใหม่ โดยเปลี่ยนรุ่นตอนติดตั้ง gem ให้เป็นรุ่นที่มันต้องการ
cd /home/redmine rake db:migrate RAILS_ENV="production"
- จัดการ compile mod_passenger ไปเอาลิงก์โหลดรุ่นล่าสุดได้ที่นี่ (ตรง Download source code) พวกที่ทำตัวหนาไว้อย่าลืมแก้เวลาเปลี่ยนรุ่นนะ
cd /tmp wget http://rubyforge.org/frs/download.php/47928/passenger-2.0.5.tar.gz tar zxf passenger* -C /usr/local/ cd /usr/local ln -s passenger-2.0.5 passenger ./passenger/bin/passenger-install-apache2-module
แล้วก็ทำตามขั้นตอนที่มันบอก โดยปกติแล้วมันจะมีให้ติดตั้ง package อีก 2-3 อย่าง แล้วก็ gem อีกนิดหน่อย
gem install fastthread gem install rack
- ตั้ง Apache ให้ใช้ mod_passenger โดยเขียน config ต่อไปนี้ลงไฟล์
/etc/apache2/conf.d/railsLoadModule passenger_module /usr/local/passenger/ext/apache2/mod_passenger.so PassengerRoot /usr/local/passenger PassengerRuby /usr/bin/ruby1.8 RailsAutoDetect Off RackAutoDetect Off
- แก้ vhost config ของ Apache ใน
/etc/apache2/sites-available/defaultใน section<VirtualHost *:80>ให้เติมลงไปตามนี้RailsBaseURI /redmine
ต่อด้วย Section ชื่อ
<Directory /var/www/>แล้วแก้ตรงOptionsให้เป็นตามนี้Options FollowSymLinks
เสร็จแล้วก็ Restart Apache ด้วยคำสั่ง
/etc/init.d/apache2 restart - ทำลิงก์ /redmine มายังโฟลเดอร์จริงของ Redmine
cd /var/www ln -s /home/redmine/public ./redmine
เริ่มใช้ Redmine

Redmine Login Screen
ถึงจุดนี้ก็น่าควรจะใช้งานได้แล้ว ลองเข้า http://hostname/redmine/ ก็(หวังว่า)จะพบหน้า Login ที่เรารอคอยมานาน. จัดแจง Login ด้วย Username/Password admin:admin แล้วเข้าไปปรับตั้งค่าตามใจชอบ
ตอนต่อๆไปกะว่าจะเขียนเรื่องการเชื่อม Subversion ให้ใช้ Username/Password ของ Redmine ได้
ป.ล. ถ้าอยากติดตั้ง Subversion ลองอ่านเรื่อง Subversion Bug แสดงรายการ Repository น่าจะช่วยได้ ไว้ว่างๆจะเขียนโดยละเอียดอีกที
about 1 year ago
ลองลง Plugin ตัวนี้แล้วพบว่า
Calendar, Gantt Chart และ Repository จะใช้ไม่ได้
http://www.redmine.org/wiki/redmine/BotsFilterPlugin