2011年5月10日 星期二

Some cloud services

http://www.jobbole.com/entry.php/724

Pylons on dotcloud

http://rgarcia.github.com/2011/04/28/deploying-a-pylons-app-on-dotcloud.html

2011年5月8日 星期日

Dropbox client on dotcloud

* Dropbox
http://www.ollix.com/blog/2011/04/27/backup-databases-dropbox-dotcloud-platform/

gitosis on dotcloud

* have a python server on dotcloud (for less package dependency problem)
* get gitosis with wildcard patches
git clone https://github.com/mzupan/gitosis.git

* create your ssh rsa key
ssh-keygen -t rsa

* install gitosis with dotcloud acccount (since it is the only account you can have)
cd gitosis/
python setup.py install
gitosis-init < ~/.ssh/id_rsa.pub

* some git settings...
git config --global user.email "zheharry@gmail.com"
git config --global user.name "Harry"

* add user binaries in your PATH env of .bashrc
export PATH=/home/dotcloud/env/bin:${PATH}

* change executive attributes
chmod +x ~/repositories/gitosis-admin.git/hooks

* modify ~/repositories/gitosis-admin.git/hooks/
git-update-server-info ---> git update-server-info

* modify ~/.ssh/authorized_keys
command="/home/dotcloud/env/bin/gitosis-serve

2011年5月5日 星期四

nginx

http://b.gkp.cc/2010/10/12/setup-nmp-on-ubuntu-1010/

2011年5月4日 星期三

dotcloud + Drupal 7.0

*use Ubuntu 11.04
sudo apt-get install python-setuptools
sudo easy_install dotcloud

* create namespace (plz change all of "helloworld" for your application)
dotcloud create helloworld

* create services
dotcloud deploy -t php helloworld.www
dotcloud deploy -t postgresql helloworld.pgsql

********** you need to wait for your server available ****************

* download Drupal 7.0 from http://drupal.org/project/drupal
tar zxf drupal-7.0.tar.gz
cd drupal-7.0
git init
git add .
git commit -am 'drupal 7.0'

* setup postgresql at first
dotcloud ssh helloworld.pgsql
# createuser --pwprompt --encrypted --no-createrole --no-createdb drupal
# createdb --encoding=UTF8 --owner=drupal drupal

* tune some settings on your local drupal-7.0
** 000-nginx.conf
location ~ \.php$ {
fastcgi_index index.php;
}

** fastcgi.conf
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffers 256 4k;
fastcgi_intercept_errors on;
## allow 4 hrs - pass timeout responsibility to upstrea
fastcgi_read_timeout 14400;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_script_name;

** php.ini
; nginx fix
cgi.fix_pathinfo = 0

** postinstall
#!/bin/sh
[ -d ~/drupal-files ] || mkdir -p ~/drupal-files
ln -sf ~/drupal-files ~/current/sites/default/file

** copy sites/default/settings.php.sample to sites/default/settings.php and modify it with proper settings (not sure if you need to do this)
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'drupal',
'username' => 'drupal',
'password' => 'drupal',
'host' => 'pgsql.helloworld.dotcloud.com',
'port' => '4015',
'driver' => 'pgsql',
'prefix' => '',
),
),
);

* and then push your local drupal-7.0 to server
dotcloud push helloworld.www drupal-7.0

* and then connects http://www.helloworld.dotcloud.com/install.php
re-try it and make sure you see the progress bar during "creating database"

Good Luck...