Сначала установим компоненты, необходимые для Rails. БД я выбрал Postgresql, можно вместо нее использовать sqlite или MySQL.
Код:
# portmaster -d devel/automake devel/bison ftp/curl databases/gdbm devel/git devel/libtool textproc/libxml2 textproc/libxslt textproc/libyaml www/node-devel security/openssl devel/readline security/sudo ftp/wget
Теперь от пользователя ставим rbenv – инструмент, позволяющий манипулировать разными версиями Ruby и Rails. Т.к. у меня zsh, то я вношу изменения в ~/.zshrc (для Bash - ~/.bashrc)
Код:
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc
$ source ~/.zshrc
Далее устанавливаем Ruby:
Код:
$ rbenv install 2.0.0-p195
$ rbenv rehash
$ rbenv global 2.0.0-p195
И Rails:
Код:
$ gem install rails
$ rbenv rehash
В принципе всё. Теперь можно создавать свой проект:
Код:
$ rails new myapp --database=postgresql
$ cd myapp
$ bundle install
$ rails s
В браузере заходим на
http://localhost:3000/Для привязки конкретной версии Ruby к проекту, делаем:
Код:
$ rbenv local 2.0.0-p195
GitТеперь настроим систему контроля версий Git (core.editor устанавливайте какой нравится):
Код:
$ git config --global user.name "Your Name"
$ git config --global user.email your.email@example.com
$ git config --global alias.co checkout
$ git config --global core.editor "mcedit"
GithubТеперь надо зарегестрироваться на github.com. Там мы будем хранить свои проекты. Затем:
Код:
$ ssh-keygen -t rsa -C "your.email@example.com"
$ cat ~/.ssh/id_rsa.pub
Полученный ключ вставляем сюда:
https://github.com/settings/ssh И проверяем, видит ли Github наш ключ:
Код:
$ ssh -T git@github.com
Ответ должен быть примерно такой:
Hi ******! You've successfully authenticated, but GitHub does not provide shell access.
PostgresqlОсталось настроить БД. Тут стандартно для FreeBSD:
Если postgresql уже стоит более старой версии, то меняем:
Код:
# portmaster -d -o databases/postgresql92-client postgresql-client-\*
# portmaster -d -o databases/postgresql92-server postgresql-server-\*
Если ничего не стояло — ставим:
Код:
# portmaster -d databases/postgresql92-client databases/postgresql92-server
в
/etc/rc.conf:Код:
postgresql_enable="YES"
postgresql_class="postgres"
В
/etc/login.confКод:
postgres|PostgreSQL User Account:\
:charset=UTF-8:\
:lang=ru_RU.UTF-8:\
:tc=default:
Код:
# cap_mkdb /etc/login.conf
Для инициализации кластера:
Код:
# /usr/local/etc/rc.d/postgresql initdb
Запуск:
Код:
# /usr/local/etc/rc.d/postgresql start
Теперь ставим админский пароль на БД:
Код:
# su pgsql
$ psql -U pgsql template1
template1=#\password
И запрещаем ходить в БД без пароля, ставим везде md5 вместо trust и прочего:
В файле
/usr/local/pgsql/data/pg_hba.conf:
Код:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication pgsql trust
#host replication pgsql 127.0.0.1/32 trust
#host replication pgsql ::1/128 trust
Код:
# service postgresql restart
Теперь PgAdmin-ом можно пробовать зацепиться к БД с именем pgsql и паролем, который выставили.
Вроде всё.
====
Использованные материалы:
Журнал BSD Magazine 06-2013 “FreeBSD on RAILS”
Книга ProGit:
http://git-scm.com/book/ru