aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2017-12-16 14:21:42 +0100
committerHarald Eilertsen <haraldei@anduin.net>2017-12-16 14:21:42 +0100
commit3c4b7f712d61a9006f90960273fdefcb0c7ca371 (patch)
treeba053bdf09fc43123942af68e1c4b5cb5409b780
parent486234e88955306e67dbdfca4027392328f81c56 (diff)
parent515b798b48c799df74f4132a7837faeaba141a8a (diff)
downloadhmnoweb-3c4b7f712d61a9006f90960273fdefcb0c7ca371.tar.gz
hmnoweb-3c4b7f712d61a9006f90960273fdefcb0c7ca371.tar.bz2
hmnoweb-3c4b7f712d61a9006f90960273fdefcb0c7ca371.zip
Merge branch 'reboot-vagrant'
-rw-r--r--.gitignore1
-rw-r--r--Gemfile5
-rw-r--r--Gemfile.lock16
-rw-r--r--README.md83
-rw-r--r--Vagrantfile8
-rw-r--r--vagrant/bootstrap.sh18
6 files changed, 83 insertions, 48 deletions
diff --git a/.gitignore b/.gitignore
index d59442c..5d63604 100644
--- a/.gitignore
+++ b/.gitignore
@@ -105,3 +105,4 @@ config/initializers/refinery/core.rb
.vagrant
.path_progress
.capistrano/*
+vendor/bundle
diff --git a/Gemfile b/Gemfile
index a70ed8e..9f8646f 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,3 +1,4 @@
+# :jedit:mode=ruby:
source 'https://rubygems.org'
gem 'rails', '~> 3.2'
@@ -24,8 +25,8 @@ group :deployment do
gem 'capistrano-bundler'
gem 'capistrano-rails'
gem 'capistrano-postgresql',
- :git => 'https://github.com/snake66/capistrano-postgresql.git',
- :branch => 'make-sudo-optional' #'~>4.0'
+ :git => 'https://github.com/capistrano-plugins/capistrano-postgresql.git',
+ :branch => 'feature/psql_without_sudo' #'~>4.0'
end
# Gems used only for assets and not required
diff --git a/Gemfile.lock b/Gemfile.lock
index 4f6fb5d..a385121 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -7,6 +7,14 @@ GIT
refinerycms-pages (~> 2.1.0)
GIT
+ remote: https://github.com/capistrano-plugins/capistrano-postgresql.git
+ revision: fcdd992993c146e382bdd86ec6e31cf97b5db387
+ branch: feature/psql_without_sudo
+ specs:
+ capistrano-postgresql (4.6.0)
+ capistrano (>= 3.0)
+
+GIT
remote: https://github.com/refinery/refinerycms-acts-as-indexed.git
revision: 47cd0b6427a1ee7c513124c7a56c7cb5f93716f6
branch: 1-0-stable
@@ -29,14 +37,6 @@ GIT
refinerycms-settings (~> 2.1.0)
seo_meta (~> 1.4.0)
-GIT
- remote: https://github.com/snake66/capistrano-postgresql.git
- revision: a51bd6bdcb8f14a844cacff6c18d6942adea8c23
- branch: make-sudo-optional
- specs:
- capistrano-postgresql (4.2.1)
- capistrano (>= 3.0)
-
GEM
remote: https://rubygems.org/
specs:
diff --git a/README.md b/README.md
index 1eb0097..851754d 100644
--- a/README.md
+++ b/README.md
@@ -1,25 +1,60 @@
-Installasjonsveiledning
-=======================
-
-Denne webapplikasjonen er laget ved hjelp av [RefineryCMS][1] som igjen er
-bygget på [Ruby on Rails][2]. Litt kjenskap til Ruby on Rails er alltids greit å
-ha, men for mange oppgaver kan man fint klare seg uten.
-
-Komme i gang
-------------
-For å komme i gang trenger du en fungerende versjon av [Ruby][3] (helst versjon
-1.9.3 eller bedre) og [Bundler][4] installert. I tillegg trenger du en
-JavaScript-motor. [NodeJS][5] anbefales, da den ikke krever noe annet oppsett
-enn å være installert.
-
-Er alt dette på plass kan du configurere utviklingsmiljøet ditt ved å kjøre
-`script/setup`. Det vil installere alle avhengigheter applikasjonen har og sette
-opp databasen som applikasjonen bruker. Dette er i utgangspunktet en tom
-database med kun noen veldig få eksempelsider lagt inn.
-
-[1]: http://www.refinerycms.com
-[2]: http://www.rubyonrails.org
-[3]: http://www.ruby-lang.org
-[4]: http://www.bundler.org
-[5]: http://www.node.js
+# Installasjonsveiledning
+Denne webapplikasjonen er laget ved hjelp av [RefineryCMS][1] som igjen er bygget på [Ruby on Rails][2]. Litt kjenskap til Ruby on Rails er alltids greit å ha, men for mange oppgaver kan man fint klare seg uten.
+
+## Oppsett av utviklermiljø
+
+Vi bruker [Vagrant] for å gjøre det enkelt å sette opp et utviklermiljø som er mest mulig likt det som vi finner på serveren vi kjører på.
+
+Du trenger:
+
+* [VirtualBox]
+* [Vagrant]
+* [Git]
+* En teksteditor.
+
+Sørg for at disse programmene er installert på din maskin.
+
+### Kopier koden:
+
+ % git clone https://volse.anduin.net/gitrepos/hmnoweb.git
+
+### Last ned og start utviklermiljøet
+
+ % cd hmnoweb
+ % vagrant up
+
+Dette vil ta noe tid første gang. Det laster ned en virtuell maskin og installerer alt du trenger på den. Når denne prosessen er ferdig kan du åpne en terminal for den virtuelle maskinen:
+
+ % vagrant ssh
+
+Du vil finne kildekoden til programmet i `/vagrant`-katalogen. Du kan gå dit og sette opp selve applikasjonen slik:
+
+ % cd /vagrant
+ % script/setup
+
+Du kan så starte serveren slik:
+
+ % bundle exec rails server
+
+Du skal nå få opp en rimelig tom utgave av heavymetal.no dersom du går til `http://localhost:3000` i nettleseren din.
+
+### Logge inn og administrere sidene
+
+Du logger inn og kan administrere din lokale kopi av heavymetal.no ved å gå til `http://localhost:3000/refinery`. I utviklermodus har vi laget en eksempelbruker du kan bruke med brukernavn `admin` og passord `test`.
+
+### Synkronisere endringer
+
+Når du har gjort endringer i koden, må du synkronisere disse med vagrant-miljøet. Dette gjør du slik:
+
+ % vagrant rsync
+
+Evt kan du kjøre `vagrant rsync-auto`, som vil synkronisere filene så snart de blir endret. Kjører du denne kommandoen i en egen terminal skal filene synkroniseres når du lagrer dem i teksteditoren din. Det gjør det enkelt å teste ut endringer ganske kjapt.
+
+De fleste endringer krever ikke at du stopper og starter serveren på nytt. Dersom du gjør endringer i konfigirasjonen av applikasjonen (nærmest hva som helst under `./config`-katalogen i kodetreet) så må du starte serveren på nytt. Det gjør du enklest ved å gå til terminalen hvor du har vagrant-miljøet ditt kjørende, trykk `CTRL-C` for å stoppe serveren, og så kjør `bundle exec rails server` på nytt. Vanligvis finner du linjen raskest ved å trykke pil opp på tastaturet.
+
+[1]: https://www.refinerycms.com
+[2]: https://www.rubyonrails.org
+[Vagrant]: https://www.vagrantup.com/
+[VirtualBox]: https://www.virtualbox.org/
+[Git]: https://git-scm.com/
diff --git a/Vagrantfile b/Vagrantfile
index b685bb5..d24ce9d 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -1,9 +1,11 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
+# :mode=ruby:
Vagrant.configure("2") do |config|
- config.vm.box = "vagrant-archlinux-2013-8"
- config.vm.box_url = "https://googledrive.com/host/0B_BLFE4aPn5zUVpyaHdLanVnMTg/vagrant-archlinux-2013-8.box"
+ config.vm.box = "bento/freebsd-10.3"
+ config.vm.guest = :freebsd
+ config.vm.network :forwarded_port, host: 3000, guest: 3000
config.vm.provision :shell, :path => "vagrant/bootstrap.sh"
- config.vm.network :forwarded_port, host: 4567, guest: 80
+ config.vm.synced_folder ".", "/vagrant", type: "rsync", rsync__exclude: %w[.git/ vendor/bundle/]
end
diff --git a/vagrant/bootstrap.sh b/vagrant/bootstrap.sh
index 7395aa7..2ff62a6 100644
--- a/vagrant/bootstrap.sh
+++ b/vagrant/bootstrap.sh
@@ -1,12 +1,8 @@
-#!/usr/bin/env bash
+#!/bin/sh
+pkg upgrade -y -q -f
+pkg install -y -q ruby rubygem-bundler postgresql93-server postgresql93-client git sqlite3
-pacman -Suyq --noconfirm
-pacman -Sq ruby gcc make sqlite3 nodejs imagemagick --noconfirm
-echo "export GEM_HOME=`gem env gemdir`" > /etc/profile.d/rubygems.sh
-source /etc/profile.d/rubygems.sh
-gem install bundler --no-rdoc --no-ri --no-user-install
-cd /vagrant
-./script/setup
-cp vagrant/rails.service /usr/lib/systemd/system
-systemctl enable rails
-systemctl start rails
+echo 'postgresql_enable="YES"' >> /etc/rc.conf
+
+service postgresql initdb
+service -R