ติดตั้ง KnowledgeVolution บน ubuntu

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 12-04-2554

ดูแลโดย WIPAT


      • ยกเลิกแล้ว เนื่องจากทีมพัฒนาเปลี่ยนเวอร์ชั่น ไม่มีข้อมูลแนะนำการติดตั้งอีก



  1. ติดตั้ง apache ด้วยคำสั่ง sudo apt-get install apache2 apache2-doc

  2. ติดตั้ง memcache ด้วยคำสั่ง sudo apt-get install memcached

  3. ติดตั้งด้วยคำสั่ง sudo apt-get install mysql-server
    หากได้หน้าต่าง Configuring mysql-server-5.0  มีข้อความแจ้งให้ใส่รหัสผ่าน
    ในตอนนี้ยังไม่ต้องใส่อะไร ให้เลื่อนไปเลือก <Ok>
    ระบบจะทำการติดตั้งต่อไปจนเสร็จ
    สั่งให้ mysql server ทำงานด้วยคำสั่ง  sudo /etc/init.d/mysql start

    เพื่อความปลอดภัยให้รีบแก้ไขรหัสผ่านของ root ของ mysql
    สมมติว่าต้องการให้รหัสของผู้ใช้ root มีรหัสผ่านว่า mysqldroot
    ตัวอย่างนี้ใช้คำสั่งว่า mysqladmin -uroot password mysqldroot

  4. ติดตั้งเครื่องมือเพิ่มเติมด้วยคำสั่งดังนี้
    sudo apt-get install ruby ruby1.8 ruby1.8-dev libopenssl-ruby1.8 rubygems1.8 build-essential imagemagick libmagick9-dev libmysql-ruby1.8

    wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz -P /tmp
    sudo tar -zxvf /tmp/rubygems-1.3.7.tgz -C /usr/src
    cd /usr/src/rubygems-1.3.7
    sudo ruby setup.rb
    sudo gem install rubygems-update
    sudo update_rubygems
    sudo gem update --system
    sudo gem install fastthread system_timer rmagick formtastic rake
    sudo gem install passenger --version 2.2.15
    sudo gem install i18n --version 0.2.1
    sudo apt-get install apache2-prefork-dev libapr1-dev libaprutil1-dev libcurl4-openssl-dev
    sudo passenger-install-apache2-module

  5. ติดตั้ง KV ด้วยคำสั่งดังนี้
    sudo apt-get install git-core
    sudo mkdir -p /var/usablelabs/knowledgevolution-read-only
    sudo chown -Rv root:$(whoami) /var/usablelabs/
    sudo chown -R $(whoami):$(whoami) /var/usablelabs/knowledgevolution-read-only/
    git clone http://github.com/thawatchai/knowledgevolution.git /var/usablelabs/knowledgevolution-read-only
    cp /var/usablelabs/knowledgevolution-read-only/config/database.yml-example  /var/usablelabs/knowledgevolution-read-only/config/database.yml
    sudo chown -R $(whoami):$(whoami) /var/usablelabs/knowledgevolution-read-only/

    แล้วจัดการ database ต่อดังนี้
    mysql -u root -pmysqldroot -e "CREATE DATABASE kv_production DEFAULT CHARACTER SET 'utf8' DEFAULT COLLATE  'utf8_general_ci';"
    mysql -u root -pmysqldroot -e "GRANT ALL PRIVILEGES ON kv_production.* TO 'kv'@'localhost' IDENTIFIED BY '1234567';"
    cd /var/usablelabs/knowledgevolution-read-only
    sudo apt-get install libxslt-dev libxml2-dev
    sudo gem install bundler
    sudo bundle install
    sudo gem install nokogiri
    rake RAILS_ENV=production db:reset

  6. จัดการ apache ทำดังนี้
    สร้างแฟ้ม  /etc/apache2/sites-available/kv  มีข้อความดังนี้
    <VirtualHost *:8000>
       ServerName www.yourhost.com
       AddDefaultCharset UTF-8
       DocumentRoot /var/usablelabs/knowledgevolution-read-only/public
       <Directory /var/usablelabs/knowledgevolution-read-only/public>
               Options FollowSymLinks
               AllowOverride None
               Order allow,deny
               Allow from All
       </Directory>
       RailsBaseURI /
    </VirtualHost>

    สร้างแฟ้ม /etc/apache2/httpd.conf  มีข้อความดังนี้
    NameVirtualHost *:8000

    # Include apache_mod_passenger
    LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
    PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15
    PassengerRuby /usr/bin/ruby1.8
    RailsAutoDetect off
    #PassengerMaxPoolSize 45
    PassengerMaxPoolSize 30
    PassengerPoolIdleTime 900
    #PassengerLogLevel 2
    #RailsSpawnMethod conservative
    SetEnv LANG th_TH

    แก้ไขแฟ้ม /etc/apache2/ports.conf  เพิ่มบรรทัดข้อความต่อท้ายว่า
    Listen 8000

    แล้วทำงานต่อด้วยคำสั่ง
    sudo a2ensite kv
    sudo /etc/init.d/apache2 restart

  7. ทดสอบผลงานได้ที่เวบ http://localhost:8000