diff --git a/README.md b/README.md
index f3a09cbb4..0380f6a75 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@ Installation
### Registry app
-Usual Rails 4 app installation (rbenv install is under Debian build doc)
+Registry based on Rails 4 installation (rbenv install is under Debian build doc)
Manual demo install and database setup:
@@ -32,45 +32,11 @@ Manual demo install and database setup:
cd demo-registry
rbenv local 2.2.0
bundle
+ cp config/application-example.yml config/application.yml # and edit it
cp config/database-example.yml config/database.yml # and edit it
- cp config/initializers/devise_secret_example.rb.txt config/initializers/devise_secret.rb # and edit
+ bundle exec rake db:all:setup # for production, please follow deployment howto
bundle exec rake assets:precompile
-Create registry database manually, example:
-
- create database registry_production owner registry encoding 'UTF-8' LC_COLLATE 'et_EE.utf8' LC_CTYPE 'et_EE.utf8' template template0;
- rake db:schema:load
- rake db:seeds
-
-Or create all databases:
-
- rake db:all:setup # will create all databases, loads all schemas and seeds
- # other similar tasks if needed later:
- # rake db:all:create # creates all databases only
- # rake db:all:schema:load # loads all schemas
- # rake db:all:schema:dump # dumps all schemas
-
-Production install (database schema should be loaded and seeds should be present)
-
- # at your local machine
- git clone git@github.com:internetee/registry.git
- cd registry
- rbenv local 2.2.0 # more info about rbenv at debian doc
- gem install mina
- mina pr setup # one time, only creates missing directories
- ssh registry
-
- # at your server
- cd registry
- cp current/config/application-example.yml shared/config/application.yml # and edit it
- cp current/config/database-example.yml shared/config/database.yml # and edit it
-
- vi /etc/apache2/sites-enabled/registry.conf # add conf and all needed serts
- vi /etc/apache2/sites-enabled/epp.conf # add epp conf, restart apache
- exit
- # at your local machine
- mina pr deploy # this is command you use in every application code update
-
### Apache with patched mod_epp (Debian 7/Ubuntu 14.04 LTS)
sudo apt-get install apache2
@@ -187,11 +153,22 @@ All registry demo data can be found at:
Initially you can use two type of users: admin users and EPP users.
+
### Certificates setup
* [Certificates setup](/doc/certificates.md)
+### Deployment
+
+* [Application build and update](/doc/application_build_doc.md)
+
+
+### Autotesting
+
+* [Testing](/doc/testing.md)
+
+
### EPP web client
Please follow EPP web client readme:
@@ -206,89 +183,6 @@ Please follow WHOIS server readme:
https://github.com/internetee/whois
-Deployment
-----------
-
-* [Debian build](/doc/debian_build_doc.md)
-* [Application build and update](/doc/application_build_doc.md)
-
-CRON
-----
-
-Crontab can be setup after deploy. Jobs can be viewed [here](/config/schedule.rb).
-
- mina pr cron:setup # to update the crontab.
- mina pr cron:clear # to clear crontab.
-
-Autotesting
------------
-
-* Before running tests for the first time: `RAILS_ENV=test rake db:seed`
-* Run tests: `rake`
-* Run EPP tests: `rake test:epp`
-* Run all but EPP tests: `rake test:other`
-
-To see internal errors while testing EPP
-
- unicorn -E test -p 8989
- rake spec:epp
-
-### Apache mod_epp autotesting/debugging
-
-Autotesting Apache mod_epp without Registry app.
-
- sudo apt-get install apache2-dbg
-
-Includes htpasswd command to generate authentication files
-
- sudo apt-get install apache2-utils
-
-For manual debugging purposes, standalone CGI scripts can be used:
-This needs a static greeting file, so you will have to make /var/www writable.
-
-```apache
-
-
- Options ExecCGI
- SetHandler cgi-script
-
-
- Listen 1700
-
-
- EPPEngine On
- EPPCommandRoot /cgi-bin/epp/command
- EPPSessionRoot /cgi-bin/epp/session
- EPPErrorRoot /cgi-bin/epp/error
-
- Alias /cgi-bin/epp/session/hello /var/www/html/epp/session-hello
-
- Alias /cgi-bin/epp/session/login /usr/lib/cgi-bin/epp/session-login
- Alias /cgi-bin/epp/session/logout /usr/lib/cgi-bin/epp/session-logout
- Alias /cgi-bin/epp/error/schema /usr/lib/cgi-bin/epp/error-schema
- Alias /cgi-bin/epp/command/create /usr/lib/cgi-bin/epp/create
- Alias /cgi-bin/epp/command/info /usr/lib/cgi-bin/epp/info
-
- EPPAuthURI /epp/auth/login
-
- AuthType Basic
- AuthName "EPP"
- AuthUserFile /etc/apache2/htpasswd
- require valid-user
-
-
-
-```
-
- sudo a2enmod cgi
- sudo a2enmod authn_file # will be used for non implicit authentication URIs
- sudo htpasswd -c /etc/apache2/htpasswd test
- Type "test" when prompted
- cd /usr/lib/cgi-bin
- mkdir epp
-
-Copy the files from $mod_epp/examples/cgis to /usr/lib/cgi-bin/epp
-
## Code Status
Alpha release status, only model tests:
diff --git a/doc/application_build_doc.md b/doc/application_build_doc.md
index bd817b08b..53c93415b 100644
--- a/doc/application_build_doc.md
+++ b/doc/application_build_doc.md
@@ -1,7 +1,48 @@
-### Application build and update
+Application build and update
+----------------------------
-For application deployment we are using faster [Mina](https://github.com/mina-deploy/mina)
-instead of Capistrano.
+### Debian setup
+
+* [Debian build](/doc/debian_build_doc.md)
+
+
+### Certificates setup
+
+* [Certificates setup](/doc/certificates.md)
+
+
+### Production env setup
+
+For production you probably would like to create databases to your locale, example:
+
+ create database registry_production owner registry encoding 'UTF-8' LC_COLLATE 'et_EE.utf8' LC_CTYPE 'et_EE.utf8' template template0;
+
+Deploy overview: (database schema should be loaded and seeds should be present)
+
+ # at your local machine
+ git clone git@github.com:internetee/registry.git
+ cd registry
+ rbenv local 2.2.0 # more info about rbenv at debian doc
+ gem install mina
+ mina pr setup # one time, only creates missing directories
+ ssh registry
+
+ # at your server
+ cd registry
+ cp current/config/application-example.yml shared/config/application.yml # and edit it
+ cp current/config/database-example.yml shared/config/database.yml # and edit it
+
+ vi /etc/apache2/sites-enabled/registry.conf # add conf and all needed serts
+ vi /etc/apache2/sites-enabled/epp.conf # add epp conf, restart apache
+ exit
+ # at your local machine
+ mina pr deploy # this is command you use in every application code update
+
+
+
+### Deploy script setup
+
+We recommend [Mina](https://github.com/mina-deploy/mina) instead of Capistrano for deployment.
All deploy code locates at config/deploy.rb file.
@@ -68,3 +109,13 @@ General rake and mina tips:
rake -T # list all rake commands
rake -T db # list all database related commands
mina -T # list all mina deploy commands
+
+
+CRON
+----
+
+Crontab can be setup after deploy. Jobs can be viewed [here](/config/schedule.rb).
+
+ mina pr cron:setup # to update the crontab.
+ mina pr cron:clear # to clear crontab.
+
diff --git a/doc/testing.md b/doc/testing.md
new file mode 100644
index 000000000..e7b56e0cb
--- /dev/null
+++ b/doc/testing.md
@@ -0,0 +1,114 @@
+Testing
+-------
+
+Setup test databases:
+
+ RAILS_ENV=test rake db:all:setup
+
+Run basic test (no EPP tests):
+
+ rake
+
+
+Testing EPP
+===========
+
+In order to test EPP, you have to configure apache to handle EPP request correctly.
+
+### Apache site config
+
+First you should have mod_epp installed, please follow main README for doing it.
+
+Apache site config for autotest, add file to /etc/apache2/sites-enabled/epp-autotest.conf
+
+```apache
+
+ Listen 701
+
+ SSLEngine on
+ SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
+ SSLCertificateFile /etc/apache2/ssl/apache.crt
+ SSLCertificateKeyFile /etc/apache2/ssl/apache.key
+
+ SSLVerifyClient optional_no_ca
+
+ EPPEngine On
+ EPPCommandRoot /proxy/command
+ EPPSessionRoot /proxy/session
+ EPPErrorRoot /proxy/error
+ EPPRawFrame raw_frame
+
+ ProxyPass /proxy/ http://localhost:8989/epp/
+
+ EPPAuthURI implicit
+ EPPReturncodeHeader X-EPP-Returncode
+
+
+```
+
+
+
+* Run all tests with temp server running automatically on port 8989:
+
+ rake test
+
+
+Manual debugging
+================
+
+### Apache mod_epp manual debugging
+
+Debugging Apache mod_epp without Registry app.
+
+ sudo apt-get install apache2-dbg
+
+Includes htpasswd command to generate authentication files
+
+ sudo apt-get install apache2-utils
+
+For manual debugging purposes, standalone CGI scripts can be used:
+This needs a static greeting file, so you will have to make /var/www writable.
+
+```apache
+
+
+ Options ExecCGI
+ SetHandler cgi-script
+
+
+ Listen 1700
+
+
+ EPPEngine On
+ EPPCommandRoot /cgi-bin/epp/command
+ EPPSessionRoot /cgi-bin/epp/session
+ EPPErrorRoot /cgi-bin/epp/error
+
+ Alias /cgi-bin/epp/session/hello /var/www/html/epp/session-hello
+
+ Alias /cgi-bin/epp/session/login /usr/lib/cgi-bin/epp/session-login
+ Alias /cgi-bin/epp/session/logout /usr/lib/cgi-bin/epp/session-logout
+ Alias /cgi-bin/epp/error/schema /usr/lib/cgi-bin/epp/error-schema
+ Alias /cgi-bin/epp/command/create /usr/lib/cgi-bin/epp/create
+ Alias /cgi-bin/epp/command/info /usr/lib/cgi-bin/epp/info
+
+ EPPAuthURI /epp/auth/login
+
+ AuthType Basic
+ AuthName "EPP"
+ AuthUserFile /etc/apache2/htpasswd
+ require valid-user
+
+
+
+```
+
+ sudo a2enmod cgi
+ sudo a2enmod authn_file # will be used for non implicit authentication URIs
+ sudo htpasswd -c /etc/apache2/htpasswd test
+ Type "test" when prompted
+ cd /usr/lib/cgi-bin
+ mkdir epp
+
+Copy the files from $mod_epp/examples/cgis to /usr/lib/cgi-bin/epp
+