Pull to refresh

Установка Fat Free Crm на Apache+Phusion Passenger

Reading time2 min
Views1.7K
Недавно мне поставили задачу развернуть бесплатную CRM с веб-интерфейсом. После недолгих поисков в интернете я наткнулся на Fat Free Crm. На сайте я не нашел инструкций по установке и поэтому ставил по наитию. Надеюсь, что мой опыт по установке поможет кому-нибудь.
UPD Дополнено на основании комментариев.

Преамбула



Моя инсталляция была на ОС Gentoo Linux, но не думаю, что будут сложности с повтором на других ОС.
Итак, приступим.
Считаем, что сам Ruby on Rails у нас уже установлен. Вот версии пакетов, на которых я развернул приложение:

# emerge ruby rubygems rails rack passenger -p

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] dev-lang/ruby-1.8.6_p369 
[ebuild   R   ] dev-ruby/rubygems-1.3.5 
[ebuild   R   ] dev-ruby/rack-1.0.0 
[ebuild   R   ] dev-ruby/rails-2.3.4 
[ebuild   R   ] www-apache/passenger-2.2.4


Установка и настройка CRM



Качаем исходные коды отсюда, распаковываем на сервере в каталог с сайтами. Например, в /var/www/crm.example.com/htdocs/.

Перейдем в этот каталог:
# cd /var/www/crm.example.com/htdocs/


Создадим базу MySQL:
# mysql -uMYSQL_USER -pMYSQL_PASSWORD
>create database fat_free_crm;
>grant all privileges on fat_free_crm.* to 'fat_free_crm'@'localhost' identified by 'PASSWORD';
>flush privileges;
>quit


MYSQL_USER ваш пользователь MySQL для работы с базой
MYSQL_PASSWORD пароль пользователя MYSQL_USER
PASSWORD пароль пользователя fat_free_crm

Теперь создадим файл с конфигурацией подключения к БД:

config/database.yml:
production:
  adapter: mysql
  encoding: utf8
  database: fat_free_crm
  host: localhost
  username: fat_free_crm
  password: PASSWORD


В файле config/database.mysql.yml есть примеры, которые помогут адаптировать конфигурационный файл под ваши нужды, например, подключиться к БД через сокет.

В файле config/environment.rb закомментируйте строчку
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION

чтобы приложение использовало последнюю установленную в системе версию Rails.

Далее в файле public/dispatch.cgi нужно строчку
require "dispatcher"

заменить на
require "/usr/lib64/ruby/gems/1.8/gems/rails-2.3.4/lib/dispatcher.rb"


Суть в том, чтобы указать в файле полный путь до диспетчера Rails.

Теперь развернем схему БД:

# RAILS_ENV=production rake crm:setup


Настройка веб-сервера



Осталась сущая мелочь: настроить apache для работы с этим прекрасным приложением.
Зададим права на файлы:

# chown -R apache:apache *


Вместо apache:apache нужно вписать пользователя: группу, от имени которых вы хотите запускать приложение.

Теперь настроим виртуальный хост.

/etc/apache2/vhosts.d/crm_example_com.conf:
<VirtualHost *:80>
        ServerName crm.example.com
        ServerAdmin dadmin@example.com
        ErrorLog /var/www/crm.example.com/error/error_log
        CustomLog /var/www/crm.example.com/error/access_log combined
        DocumentRoot /var/www/crm.example.com/htdocs/public
        <Directory /var/www/crm.example.com/htdocs/public>
                Options Indexes ExecCGI FollowSymLinks
                RailsEnv production #Эта строчка опциональна, для обычной установки не нужна
                AllowOverride all
                Allow from all
                Order allow,deny
        </Directory>
</VirtualHost>


Финальный аккорд:

# /etc/init.d/apache2 reload
Tags:
Hubs:
Total votes 5: ↑5 and ↓0+5
Comments15

Articles