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

Redmine Screenshot

Redmine Screenshot

Blog นี้จะอธิบายขั้นตอนการติดตั้ง Redmine ไม่ใช่วิธีใช้

ถ้าต้องการอ่านวิธีใช้งานให้ไปอ่านที่ ใช้ Redmine พัฒนา project ของ @ploysics

รายละเอียดของ Server และ Redmine

  • OS: Debian
  • User: redmine
  • Path ที่ติดตั้ง: /home/redmine
  • URL บนเว็บ: http://hostname/redmine/ (hostname คือเว็บที่จะเอาไปรัน)

สรุปขั้นตอนย่อๆ

  1. ต้องมีสิทธิ root บน Server เครื่องที่จะติดตั้ง
  2. ลง Apache2 + MySQL และโปรแกรมจุกจิกให้ครบ
  3. ลง Redmine
  4. ลง mod_passenger

เริ่มลงกันเลย

  1. แปลงร่างเป็น root
    sudo -i
  2. ลงโปรแกรมที่ยังขาด
    aptitude install subversion ruby rails rake librmagick-ruby subversion libmysql-ruby mysql-client rubygems build-essential ruby1.8-dev apache2-prefork-dev
  3. สร้าง User ของ Redmine
    useradd -md /home/redmine -s /bin/false redmine
  4. โหลด Redmine มาลง
    cd /home/redmine
    svn co http://redmine.rubyforge.org/svn/trunk ./
  5. สร้าง Database ใน MySQL ให้เรียบร้อย ตรงนี้ขอไม่อธิบาย สิ่งที่ต้องรู้หลังจากสร้างแล้วก็มี Username, Password และ Database Name
  6. ตั้งค่า 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)

  7. ลง rails ให้ถูกรุ่นก่อน ดูรุ่นที่ต้องใช้ได้จากหน้า RedmineInstall ณ เวลาที่เขียนนี้ รุ่น trunk ต้องใช้ Rails 2.1.2
    gem install rails -v=2.1.2
  8. ติดตั้ง database ของ Redmine ถ้าทำแล้วมันโวยวายเรื่องรุ่น Rails ให้กลับไปทำข้อ 7 ใหม่ โดยเปลี่ยนรุ่นตอนติดตั้ง gem ให้เป็นรุ่นที่มันต้องการ
    cd /home/redmine
    rake db:migrate RAILS_ENV="production"
  9. จัดการ 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
  10. ตั้ง Apache ให้ใช้ mod_passenger โดยเขียน config ต่อไปนี้ลงไฟล์ /etc/apache2/conf.d/rails
    LoadModule passenger_module /usr/local/passenger/ext/apache2/mod_passenger.so
    PassengerRoot /usr/local/passenger
    PassengerRuby /usr/bin/ruby1.8
    RailsAutoDetect Off
    RackAutoDetect Off
  11. แก้ 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

  12. ทำลิงก์ /redmine มายังโฟลเดอร์จริงของ Redmine
    cd /var/www
    ln -s /home/redmine/public ./redmine

เริ่มใช้ Redmine

Redmine Login Screen

Redmine Login Screen

ถึงจุดนี้ก็น่าควรจะใช้งานได้แล้ว ลองเข้า http://hostname/redmine/ ก็(หวังว่า)จะพบหน้า Login ที่เรารอคอยมานาน. จัดแจง Login ด้วย Username/Password admin:admin แล้วเข้าไปปรับตั้งค่าตามใจชอบ

ตอนต่อๆไปกะว่าจะเขียนเรื่องการเชื่อม Subversion ให้ใช้ Username/Password ของ Redmine ได้

ป.ล. ถ้าอยากติดตั้ง Subversion ลองอ่านเรื่อง Subversion Bug แสดงรายการ Repository น่าจะช่วยได้ ไว้ว่างๆจะเขียนโดยละเอียดอีกที