Friday, May 11, 2012

Rails + PostgreSQL on Mac Lion

1) Install PostgreSQL

$brew install postgresql

Once the installation is complete it is important to follow all the instructions that brew created for us!
Here is a list of instructions to initialize a database named postgres and run postgresql on start-up:

$ initdb /usr/local/var/postgres
$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/postgresql/9.0.4/org.postgresql.postgres.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/org.postgresql.postgres.plist







or follow the instruction generated after installing.

2) Create PostgreSQL users

Login to psql console:

$ psql -h localhost postgres

If all is good we should see the command prompt:

postgres=#

Now lets create a user postgres:

postgres=# CREATE USER postgres WITH PASSWORD 'postgres';

And give it all permissions for postgres database that we created earlier:

postgres=# GRANT ALL PRIVILEGES ON DATABASE postgres to postgres;

3) Install pg gem

env ARCHFLAGS="-arch x86_64" gem install pg

4) Configure Rails project

Add the following lines to database,yml file:



  development:
    adapter: postgresql
    database: postgres
    username: postgres
    password: postgres
    host: localhost
    encoding: UTF8

Add pg gem to Gemfile:

gem 'pg', :require => 'pg'

Thursday, May 10, 2012

PHP - get full URL

There are times when we want to get the full path (URL) of a page, PHP makes it easy

function getPageURL() {
    $pageURL = 'http';

        // Check if https is enabled
    if ($_SERVER["HTTPS"] == "on") {
        $pageURL .= "s";
    }
    $pageURL .= "://";
    if ($_SERVER["SERVER_PORT"] != "80") {
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    } else {
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }
 
    return $pageURL;
}

Call getPageURL() whenever you want to get the expected path.

Thursday, May 3, 2012

install ruby and ruby on rails on ubuntu 12.04

In summary

  • update your system
  • install git, curl, rvm
  • install required packages
  • install rails
  • done
Step by step

Update system
sudo apt-get update

Install git
sudo apt-get install git

Install curl
sudo apt-get install curl

Install rvm
curl -L get.rvm.io | bash -s stable

Reload to start using rvm
source ~/.rvm/scripts/rvm
or 
source /home//.rvm/scripts/rvm

Check required packages
rvm requirements

and then copy the install command from output, it should look like this
sudo apt-get -y install build-essential openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

Install Javascript runtime
sudo apt-get install nodejs

Install ruby
rvm install 1.9.3
(1.9.3 is the newest version at the time of this writing)

Set ruby version to default
rvm use 1.9.3 --default

Install rails
gem install rails

Done
start your app and see it works! cheers!


ubuntu - install LAMP server with one click

tasksel is a good service for installing LAMP on ubuntu 12.04 and 11.10

sudo apt-get install tasksel

sudo tasksel

this can be used to install postgreSQL and many others

ubuntu - preventing apache and mysql from auto start when computer starts

  • apache2 uses System V style init scripts. To disable it from boot:
    sudo update-rc.d -f apache2 remove
  • However, mysql uses an Upstart job, to disable it, create an "override" file:
    echo "manual" | sudo tee /etc/init/mysql.override
To learn more about override files, see: The Upstart Cookbook