ISPConfig 3 дээр Ruby on Rails вэб тохируулж ажиллуулах

Дусал нэвтэрхий толь-с

Website тохиргоо

Ruby сонгосноор public хавтаснаас вэб ажиллах боломжтой болно. Харин production нь бэлэн болсон сайт буюу production горимд сайтыг ажиллуулна. Тиймээс хуулахаас өмнө хэрэв development юмуу test горимд байгаа бол production горим руу шилжүүлсний дараа сервер рүү хуулах хэрэгтэй.

Мөн вэбээ анх үүсгэхдээ тохируулаагүй бол Ruby тохиргоог тохируулж өгнө

Ruby Web server5.png

DNS тохиргоо

Вэб сервер ба мэйл серверүүд тусдаа тул DNS тохиргоог дусал серверээр хийх бол PHP байрлаж байгаа Удирдлагын самбартай серверээс арай өөрөөр тохируулна. Үндсэн серверийн IP хаягийг зураг дээрх шиг тохируулна. (Ингэж тохируулсан ч вэб ба өгөгдлийн баазын серверүүд нь server5.dusal.net (ns9.dusal.net 124.158.124.37) заах болно. Харин мэйл сервер энэ тохиргооны дагуу болно. Default биш RubyServer гэсэн сонголтыг сонгоорой.)

Server5.dusal.netDNS.png


Хуулахын өмнө 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 хавтас руу файлуудаа хуулна.

Хуулсан жишээ:

Ispconfig ruby02.png

Bundle автомат команд

Файлаа хуулахдаа web хавтсандаа bundle_exec.txt хоосон файл хуулбал 5 минутын дотор доорх командууд автоматаар хийгдэнэ. Гэхдээ команд биелэхэд татаж байгаа gem-ээс шалтгаалаад хугацаа орох тул 10 орчим минут хүлээгээрэй. Команд ажиллаж дуусахад bundle_exec.log файлд командуудын үр дүн хадгалагдсан байна. Хэрэв ямар нэгэн алдаа байвал засаад дахин хоосон bundle_exec.txt файл үүсгээд үр дүнгээ шалгаарай.

gem install bundler
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake assets:precompile RAILS_ENV=production
bundle install
reload
fix_permissions

Ингээд дуусаад домэйн нэрээрээ сайт руугаа хандахад ажиллах болно.

Алдаа шийдвэрлэх

Хэрэв ямар нэгэн алдаа гарвал /log/error.log, /web/log/production.log/ /web/bundle_exec.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