Posts match “ ubuntu ” tag:

ubutnu配置rvm,nginx和passenger的生产环境

下述内容参考了A Guide to a Nginx, Passenger and RVM Server

首先, 使用 root 帐号登录,

安装git和curl

apt-get install curl git-core

使用脚本安装rvm

bash < <(curl -L http://bit.ly/rvm-install-system-wide)

脚本会自动创建一个rvm组,并将root用户加入

编辑 /root/.bashrc和/etc/skel/.bashrc

[ -z "$PS!"]  && return 

替换为

if [[ -n "$PS1" ]]; then

在文件最后加入

fi
if groups | grep -q rvm ; then
  source "/usr/local/lib/rvm"
fi

配置用户

#增加zool用户

adduser zool
#将zool加入rvm组

adduser zool rvm

登录zool用户并测试

type rvm | head -n1

如果显示 rvm is a function 则表示安装正确

安装ree依赖组件

aptitude install build-essential bison openssl libreadline5 libreadline-dev \

curl git-core zlib1g zlib1g-dev libssl-dev vim libsqlite3-0 libsqlite3-dev \

sqlite3 libreadline-dev libxml2-dev git-core subversion autoconf

安装ree

rvm install ree

设为默认环境

rvm use ree --default

安装passenger和nginx

gem install passenger
rvmsudo passenger-install-nginx-module

配置nginx里的ruby环境

passenger_root /usr/local/rvm/gems/ree-1.8.7-2010.02/gems/passenger-3.0.0;
passenger_ruby /usr/local/rvm/wrappers/ree-1.8.7-2010.02/ruby;

设置nginx开机脚本

curl -L http://bit.ly/nginx-ubuntu-init-file > /etc/init.d/nginx
chmod +x /etc/init.d/nginx
update-rc.d nginx defaults
/etc/init.d/nginx start

原文中后面的step6,7关于Capistrano的环境配置以后再另文详述

Ubuntu下用apt-get安装rails环境

首先使用apt-get安装ruby

sudo apt-get install ruby

运行 ruby -v

ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]

ruby安装完毕

安装rubygems,注意,这里不要用apt-get来安装

先从官网下载最新版rubygems,并解压

cd /tmp;wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz

tar zxf rubygems-1.3.7.tgz

运行安装程序

sudo ruby setup.rb

会看到输出很多文字,最后一行是

RubyGems installed the following executables:

/usr/bin/gem1.8

然后做一个ln连接

sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

输入gem -v 显示 1.3.7 说明 rubygems安装完毕,开始安装rails

sudo gem install rails

经过一段时间的等待和文字输出之后,运行 rails -v, 显示 Rails 3.0.3 说明安装正确

rails new newapp 开始享受rails的快乐吧!

Ubuntu上用apt安装sqlite

很简单

sudo apt-get install sqlite3 libsqlite3-dev

检查版本

~ > sqlite3 -version
3.7.2

通过命令行进入数据库

sqlite3 development_newsite.sqlite3

SQLite version 3.7.2
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

输入.help查看帮助, .quit退出页面

如果需要图形界面可以安装sqlitebrowser

sudo apt-get install sqlitebrowser

ubuntu安装Postgresql

安装

sudo apt-get install postgresql

输入密码,确认。下载安装完毕之后会创建一个postgres用户,默认密码为空。

配置

修改postgres用户密码

sudo passwd postgres

切换到postgres用户

sudo su postgres

登录到postgres数据库

psql postgres

会看到一下文字

psql (8.4.5)
Type "help" for help.

postgres=#

然后输入下面的命令,password为你要设置的密码

ALTER USER postgres with PASSWORD 'password'

输入\q返回到终端

创建用户和数据库

输入

createuser -drSP blog  #创建一个blog用户,但不是超级管理员


createdb -O blog blogdb  #创建一个属于blog用户的blogdb数据库

安装pgadmin

输入

sudo apt-get install pgadmin3

安装完毕,运行

pgadmin3

设置其他网络连接数据库

修改/etc/postgresql/8.4/main/pg_hba.conf:

# Database administrative login by UNIX sockets

# local   all         postgres                          ident


# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD


# "local" is for Unix domain socket connections only

local   all         all                               md5 #ident

# IPv4 local connections: 

host    all         all         127.0.0.1/32          md5
# IPv6 local connections:

host    all         all         ::1/128               md5  

修改/etc/postgresql/8.4/main/postgresql.conf,

listen_address = '*' #允许其他机器访问

重启数据库

sudo /etc/init.d/postgresql-8.4 restart

安装完成

ubuntu下mysql字符集设置错误

原来在rhel下设置了

character-set-server = utf8

但在ubuntu下不起作用,报错:

mysql: unknown variable 'character-set-server=utf8'

换为以下设置解决问题:

default-character-set = utf8

Ubuntu下基于rvm管理ruby版本

不同的项目需要的ruby版本不同,需要的gems也不同,这时可以使用rvm来帮你。

首先先确保你安装了一些必须组件

sudo apt-get install curl bison build-essential git-core zlib1g-dev libssl-dev libreadline5-dev libxml2-dev 

然后使用脚本安装

 $ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

上面的bash基本上等同于下面的脚本,两选一即可

mkdir -p ~/.rvm/src/ && cd ~/.rvm/src && rm -rf ./rvm/ && \

git clone --depth 1 git://github.com/wayneeseguin/rvm.git && cd rvm && ./install

设置.bashrc, 找到下面的一段代码

[ -z "$PS1" ] && return 
# Some code here... e.g.

export HISTCONTROL=ignoreboth

修改为

if [[ -n "$PS1" ]]; then
# Some code here... e.g.

export HISTCONTROL=ignoreboth
fi
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

退出终端,重新进入,测试是否安装成功

 type rvm | head -n1

看到下面输出说明安装成功

 rvm is a function

开始安装ree,注意这里不需要sudo

 rvm install ree

安装完毕之后,让rvm默认使用ree

 rvm use ree --default

如果你想使用系统自带的ruby,可以这样切换

 rvm use system

如果你安装了多个版本的ruby,可以用rvm list 来查看

开启ssh无密码登录

首先生成公钥

ssh-keygen -t rsa

一路回车,会在~/.ssh目录下生成公钥和私钥.

将公钥复制到需要登录的服务器

ssh-copy-id user@host

OK,完成了设置。

P.S. 如果服务器没有开启公钥登录,请编辑 /etc/ssh/sshd_config, 确保

PubkeyAuthentication yes

并重启ssh服务

sudo /etc/init.d/ssh restart

ubuntu下gem安装pg出错

在安装pg时,系统报了如下的错误

/home/zool/.rvm/rubies/ruby-1.8.7-p302/bin/ruby extconf.rb 
checking for pg_config... no
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/home/zool/.rvm/rubies/ruby-1.8.7-p302/bin/ruby
--with-pg
--without-pg
--with-pg-config
--without-pg-config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib

请教GOOGLE大神后,找到如下解决方案

sudo apt-get install libpq-dev libpq5

安装更新后解决问题