2012年3月24日土曜日

macOSX Lion にPostgrewSQLをいれる

PostgreSQLインストール
homebrewからインストールする

brew install postgresql


curl http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | sh
*http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/
*以下の.bashrcいじるのでもいいかも
*http://blog.k-jee.com/2012/01/mac-os-x-lionhomebrewpostgresql.html

DB初期化
initdb /usr/local/var/postgres

サーバーの起動と停止
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
pg_ctl -D /usr/local/var/postgres stop -s -m fast


PHPPgAdminのインストール
http://www.pgadmin.org/download/macosx.php

postgresユーザーの作成
createuser <ユーザ名>
http://www.tencs.net/tech/tips/postgresql_createuser.html

.sqlファイルからのデータインポート

psql -U postgres -f XXX.sql


参考)
http://d.hatena.ne.jp/noodles_mtb/20110805/1312509838
http://blog.k-jee.com/2012/01/mac-os-x-lionhomebrewpostgresql.html
http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/

mac OSX Lion でherokuが使えるようにする

rubyの複数バージョンをいれるために rvmをいれる
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

.bashrcに追記
    [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
.bashrcで反映
source .bashrc

rvm install 1.9.2 --with-gcc=clang
*なんかエラーはいたけど無視

rvm use 1.9.2 --default

rvm gemset作成
rvm --create 1.9.2@hogehoge

herokuをいれる
gem install heroku --no-ri --no-rdoc


macOSX Lionにpythonをいれてpythonbrewで開発環境つくる

パッケージインストールはmacportではなく、homebrewを使う

homebrewのインストール
/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"

pythonbrewのインストール

curl -kL http://xrl.us/pythonbrewinstall | bash
.bashrcに追記
vi $HOME/.bashrc
    source /Users/hoge/.pythonbrew/etc/bashrc
source .bashrc

python2.7.2, 3.2のインストール
pybrew install -f 2.7.2
*testでこけるので-fでオプションで強制的にいれる

使いたいバージョンのpythonに変更
$ pybrew switch 2.7.2
*バージョンだけ指定すれば変わる

pybrewのvenvを使って仮想環境構築
$ pybrew venv create hoge
$ pybrew venv list -a
$ pybrew venv use hoge
$ pybrew venv delete hoge

pipも同時に入るので仮想環境をactiveにした状態で
あとはpipで好きなものをいれる


VirtualEnvじゃなくて、pythonbrewのvenv使う方がよいから消した
pipのインストール
sudo easy_install pip


virtualenv, virtualenwrapperのインストール
sudo pip install virtualenv
sudo pip install virtualenvwrapper
.bashrcを編集してvirtualenvを便利に


vi $HOME/.bashrc
以下を追記
    ## Python virtualenvwrapper
    export WORKON_HOME=$HOME/.virtualenvs

    if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
      source /usr/local/bin/virtualenvwrapper.sh
    fi

    ## Python pip -> virtualenv only
    export PIP_REQUIRE_VIRTUALENV=true
    export PIP_RESPECT_VIRTUALENV=true

Env環境保存用のディリレクトリを作成
mkdir $HOME/.virtualenvs

インストールしたpython(python2.7.2)を使ってenv環境を構築する
pythonのバージョンを切り替える
pythonbrew switch 2.7.2
環境をつくる
mkvirtualenv --no-site-package env






(参考)
http://d.hatena.ne.jp/mfks17/20111231/1325344431
http://www.ninxit.com/blog/2011/07/22/pythonbrew-python-2/



virtualenv環境にpsycopg2をインストールする



virtualEnv環境にいれようとするとエラーになるらしい


pip install psycopg2==2.4.2
Error: pg_config executable not found.




以下をいれてからならインストールできました
sudo apt-get install libpq-dev python-dev


pip install psycopg2
Successfully installed psycopg2

(参考)

ubuntu10.04にpostgreSQLとPHPPgAdminをいれる

■postgresqlのインストール
sudo apt-get install postgresql
sudo passwd postgres
su postgres
psql
postgres=# alter user postgres with password 'password';

(参考)
http://ubuntu-note.blog.so-net.ne.jp/2010-12-01

■phppgadminのインストール

sudo apt-get install apache2

sudo /etc/init.d/apache restart
なんかapache2がはいってなかったので入れた

sudo apt-get install phppgadmin
phppgadminのインストール

以下は細かい設定

/etc/phppgadmin/apache.conf でApacheアクセスを制限。
(※基本必要ない。見れないならAllow ALL)

/etc/phppgadmin/config.inc.php で phpPgAdmin を設定。
※postgresを許可したりする
$conf['extra_login_security'] = false;

/etc/postgresql/8.4/main/pg_hba.conf  で PostgreSQL を設定。
※TCP(IP4アクセスをTrustする)



■PHPの設定
前に書いたコレ。

sudo vi /etc/php5/apache2/php.ini
で以下のMAX値を大きいファイルをあげれるように大き目の数値にしとく

php.iniの修正内容
post_max_size = 20M
upload_max_filesize = 18M

ubuntu10.04にherokuコマンドをいれて既存プロジェクトをgit cloneする


前提として、ubuntuにruby1.9.1とgem1.8が入ってる
※無理やりいれる方法ココ
http://fusigi-movement.blogspot.jp/2012/03/ubuntu1004ruby191gem.html

sudo gem install heroku
herokuをインストールする

sudo apt-get install libopenssl-ruby1.9.1
herokuと打つとlibopenssl-rubyが必要と言われたのでインストールする


heroku -v
2.22.0
できた


既存のプロジェクトのソースはherokuに上がっているので
キーを作成し、キーをherokuに登録し、herokuからファイルを取ってくる


mkdir $HOME/.ssh
cd $HOME/.ssh
ssh-keygen -t rsa
鍵を作成する

heroku keys:add
鍵をherokuに登録する

git clone git@heroku.com:hogehoge.git 
herokuからソースをクローンする
できた


ubuntu10.04にruby1.9.1をいれてgemを最新にする

herokuのコマンドをインストールしたいんだが、herokuのコマンドがrubyでできてることもあって、ローカル環境のrubyとかgemのバージョンが古いと色々と文句言われる。
ので、ubuntu10.04にruby1.9.1をいれて、さらにgemを最新にする。
rubyの知識が皆無な上に、そもそも俄かプログラマーなんで、かなりゴリっとやってる気がするので、もっとエレガントな方法が知りたい。。


■rubyのインストール
sudo aptitude install ruby
これで入るのはruby1.8なんでaptitude見つかる最新の1.9を入れる。

sudo aptitude install ruby-1.9.1
1.9のインストール


ruby -vすると当たり前だけど1.8見てるので、シンボリックで無理やり1.9.1を見るようにする。
このやり方が、きっと相当イマイチなんで、エレガントな方法知りたい。。


sudo mv /usr/bin/ruby /usr/bin/ruby.old
sudo ln -s /usr/bin/ruby1.9.1 /usr/bin/ruby

シンボリックリンクを貼る


ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i486-linux]
できた


■gemのインストールと最新版
sudo apt-get install rubygems1.9.1
*aptitude でいれたら、gem 打つと1.8か1.9か分からないって怒られたのでapt-getで使うrubyを指定して入れる。

sudo gem install rubygems-update
gemを最新にするのをgemでいれる。なんか書いててイミフ。

sudo /var/lib/gems/1.9/bin/update_rubygems
最新版にアップデート

gem -v
1.8.21
できた

ubuntu10.04で複数バージョンのpythonを使う

ubuntu10.04はデフォルトのpythonはpython2.6なので
python2.7を追加でインストールする。
インストールしたpython2.7をベースにvirtualenvで開発環境を構築する。

(1)python2.7のインストール
参考ページほぼそのままで上手くいった

sudo apt-get install zlib1g-dev bzip2 libbz2-dev libreadline5-dev libjpeg62 libjpeg62-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libgdbm3 libgdbm-dev libssl0.9.8 libssl-dev tk8.4-dev tk8.5-dev



wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
tar zxvf Python-2.7.2.tgz
cd Python-2.7.2/
./configure --prefix=/opt/python2.7 --with-threads --enable-shared
make
sudo make install
sudo strip /opt/python2.7/bin/python*
sudo ln -s /opt/python2.7/bin/python /usr/bin/python2.7
sudo vi /etc/ld.so.conf.d/opt-python2.7.conf

    # 下記を追記
    /opt/python2.7/lib
sudo /sbin/ldconfig




(参考)
http://fukuoka-py.g.hatena.ne.jp/uchikoshi22/20111211/1323556986



(2)virtualenv, virtualenvwrapperを使って環境つくる
sudo pip install virtualenv
sudo pip install virtualenvwrapper

VirtualEnvWrapperが簡単に叩けるように.bashrcを編集する
vi $HOME/.bashrc
    末尾にに以下を追記

    ## Python virtualenvwrapper
    export WORKON_HOME=$HOME/.virtualenvs
    if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
      source /usr/local/bin/virtualenvwrapper.sh
    fi
    ## Python pip -> virtualenv only
    export PIP_REQUIRE_VIRTUALENV=true
    export PIP_RESPECT_VIRTUALENV=true


python2.7で環境をつくる
mkdir $HOME/.virtualenvs
source $HOME/.bashrc
mkvirtualenv --python=/usr/bin/python2.7 --no-site-package env


環境に入る
work on env

環境から出る
deactivate

環境を削除する
rmvirturlenv env


引っ越し

posteraouがTwitterに買収されて先行き不安なんで、とりあえず引っ越し。
ところで、、googleはbloggerは続ける気あるんだろうか、不安。

元のブログはココ
http://suit-on-python.posterous.com/