vagrant - free and open-source software for creating and configuring virtual development environments. Get it from here.
Put vagrant file into root directory from the gist.
Change --memory and --cpu if needed.
# On host
vagrant up
vagrant sshBasic installations
# On VM as vagrant
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install curl vim git python-software-propertiesInstall oh-my-zsh
# On VM as vagrant
sudo apt-get install zsh
curl -L http://install.ohmyz.sh | sh
chsh -s /bin/zsh
# pass:vagrant
zsh # use zsh1. download
Create pgdg.list file and add deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main
# On VM as vagrant
sudo echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" >> \
/etc/apt/sources.list.d/pgdg.listAdd key to apt-get repository
# On VM as vagrant
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update && sudo apt-get upgrade2. install
# On VM as vagrant
sudo apt-get install postgresql-9.3Change postgres user pass
# On VM as vagrant
sudo passwd postgres
# pass: postgres3. create cluster
# On VM as vagrant
su postgres
# On VM as postgres
cd /var/lib/postgresql/9.3/main
mkdir /var/lib/postgresql/data
exit4. update environment variables.
Append to PATH :/usr/lib/postgresql/9.3/bin and append from new line PGDATA="/var/lib/postgresql/data" in /etc/environment file.
# On VM as vagrant
sudo vim /etc/environment5. cluster initialization
su postgres
initdb
exit6. update psql config
Comment (add #) in /etc/postgresql/9.3/main/postgresql.conf following lines:
data_directory = '/var/lib/postgresql/9.1/main
hba_file = '/etc/postgresql/9.1/main/pg_hba.conf
ident_file = '/etc/postgresql/9.1/main/pg_ident.conf
external_pid_file = '/var/run/postgresql/9.1-main.pid
# On VM as vagrant
sudo vim /etc/postgresql/9.3/main/postgresql.conf6. make psql run on vm stratup
Add su -c 'pg_ctl start' postgres line before 'exit'
# On VM as vagrant
sudo vim /etc/rc.local
exit7. restart vagrant
# On HOST
vagrant halt
vagrant up
vagrant ssh8. Make psql dbs UTF-8 encoded
Got from http://stackoverflow.com/a/17565205/1094316
a. Create a file:
# On VM as vagrant
sudo vim /etc/profile.d/lang.shb. Add the following:
export LANGUAGE="en_US.UTF-8"
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
c. Restart shell
# On VM as vagrant
zshd. Reconfigure psql template so the encoding can be UTF8:
# On VM as vagrant
su postgres
# On VM as postgres
psqlIn psql console execute following:
# In psql console
update pg_database set datistemplate=false where datname='template1';
drop database Template1;
create database template1 with owner=postgres encoding='UTF-8'
lc_collate='en_US.utf8' lc_ctype='en_US.utf8' template template0;
update pg_database set datistemplate=true where datname='template1';
\qexitCreate TROOD db
- Login to psql console
# On VM as vagrant
psql -U postgres- In psql console execute following:
# In psql console
create database trood;
\l+
\qAll rows of trood db should be UTF-8.
Install trood dependencies
# On VM as vagrant
sudo apt-get install python-virtualenv
sudo apt-get install postgresql-server-dev-9.3
sudo apt-get install python-dev
sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk
sudo apt-add-repository ppa:chris-lea/node.js
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install nodejsRamp-up environment
# On VM as vagrant
cd /vagrant# On VM as vagrant
./buildenv.shOR if you want to ramp-up environment out of the project:
# On VM as vagrant
cd
virtualenv .env
./.env/bin/pip install --upgrade -r /vagrant/requirements.txt
cd /vagrant
mkdir -p node_modules
npm install less# On VM as vagrant
. ./.env/bin/activateor
# On VM as vagrant
. ~/.env/bin/activateReplace 'default' base in local_dev.py file with:
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'trood',
'HOST': 'localhost',
'USER': 'postgres',
'PASSWORD': 'postgres',
'PORT': '',
}Sync and run server:
# On VM as vagrant
fab sync
python manage.py runserver 0.0.0.0:8000Go to 127.0.0.1:8080 on HOST and get the app, congrats!
How to load dump data
To load dump data into db use following commands:
I. Kill/Drop the base:
psql -U postgresdrop database trood;
create database trood;
\qII. Load dump:
psql trood -U postgres -f trood.schema.sql
psql trood -U postgres -f trood.data.sqlhttps://www.vagrantup.com/downloads https://github.com/dotless-de/vagrant-vbguest https://docs.vagrantup.com/v2/getting-started/index.html
http://hexvolt.blogspot.ru/2012/11/postgresql-91-ubuntu-1204.html http://www.postgresql.org/download/linux/ubuntu/ http://stackoverflow.com/a/17565205/1094316
created by Boris Kopin with dillinger.