ISPConfig 3 дээр Ruby on Rails вэб тохируулж ажиллуулах
Гарчиг
Website тохиргоо
Ruby сонгосноор public хавтаснаас вэб ажиллах боломжтой болно. Харин production нь бэлэн болсон сайт буюу production горимд сайтыг ажиллуулна. Тиймээс хуулахаас өмнө хэрэв development юмуу test горимд байгаа бол production горим руу шилжүүлсний дараа сервер рүү хуулах хэрэгтэй.
Мөн вэбээ анх үүсгэхдээ тохируулаагүй бол Ruby тохиргоог тохируулж өгнө
DNS тохиргоо
Вэб сервер ба мэйл серверүүд тусдаа тул DNS тохиргоог дусал серверээр хийх бол PHP байрлаж байгаа Удирдлагын самбартай серверээс арай өөрөөр тохируулна. Үндсэн серверийн IP хаягийг зураг дээрх шиг тохируулна. (Ингэж тохируулсан ч вэб ба өгөгдлийн баазын серверүүд нь server5.dusal.net (ns9.dusal.net 124.158.124.37) заах болно. Харин мэйл сервер энэ тохиргооны дагуу болно. Default биш RubyServer гэсэн сонголтыг сонгоорой.)
Хуулахын өмнө production горимд шилжүүлнэ
1. Продакш нь горимд шилжүүлэхэд config/secrets.yml файлын production хэсэгт secret_key_base утгатай байх хэрэгтэй. Ингээгүй тохиолдолд 500 алдаа гарна.
RAILS_ENV=production rake secret
тушаалаар түлхүүрийг үүсгээд config/secrets.yml файл дотроо production хэсэгт хуулж тавьж тохируулна.
2. config/environments/production.rb файлд дараах 2 тохиргоог true утгатайгаар тохируулна:
config.serve_static_files = true config.assets.compile = true
Ингээгүй тохиолдолд css, js, зураг зэрэг статик файлууд public хавтаснаас олдохгүй алдаа гарна.
3. Дараах тушаалаар өгөгдлийн баазаа production горимд нэгтгэнэ.
RAILS_ENV=production rake db:migrate
Өгөгдлийн баазаа гаргаж аваад сервер рүү оруулж тохируулна. Хэрэв MySQL ашиглаж байгаа бол эхлээд сервер дээрээ MySQL тохируулж баазаа бэлдэнэ. (ns9.dusal.net сервер ашиглаж байгаа үед https://server5.dusal.net/dbman хаягаар орж өгөглдлийн баазтайгаа ажиллана.)
config/database.yml файлын production хэсэгт username, password, database утгуудыг зөв тохируулж өгнө.
production: adapter: mysql2 database: <db_ner> host: localhost username: <db_user_name> password: <password>
4. Статик файлуудыг public хавтас руу хуулж бэлдэнэ:
RAILS_ENV=production rake assets:precompile
FTP ашиглан файлаа хуулна
Ингээд Website хэсэгт вэбээ сонгон FTP хэрэглэгч үүсгэж холбогдоод, /web хавтас руу файлуудаа хуулна.
Ингээд хуулж дуусаад домэйн нэрээрээ сайт руугаа хандахад ажиллах болно.
Хуулсан жишээ:
Bundle автомат команд
web хавтсандаа bundle_exec.txt хоосон файл хуулбал 1 минутын дотор доорх командууд автоматаар хийгдэнэ. Гэхдээ команд биелэхэд татаж байгаа gem-ээс шалтгаалаад хугацаа орох тул хэдэн минут хүлээгээрэй.
bundle install bundle exec rake db:migrate RAILS_ENV=production bundle exec rake assets:precompile RAILS_ENV=production bundle install reload
Алдаа шийдвэрлэх
Хэрэв ямар нэгэн алдаа гарвал /log/error.log, /web/log/production.log зэрэг файлаас алдааг хайж засна уу.
Хэрэв сервер shell дээр тушаал бичиж үйлдэл хийх шаардлага гарвал admin@dusal.net хаягаар холбогдон тохиргоо хийлгүүлж болно.
Холбоотой мэдээллүүд
1. https://www.brainstorm.net.au/installing-redmine-2-1-x-on-an-ispconfig-3-running-ubuntu-12-04/
2. http://stackoverflow.com/questions/1949229/change-a-rails-application-to-production