Skip to content
This repository has been archived by the owner on Jun 27, 2023. It is now read-only.

read-write-web/rww-play

Repository files navigation

rww-play

This is an implementation in Play of a number of tools to build a Read-Write-Web server using Play2.x and akka. It is very early stages at present and it implements sketches of the following

This currently works in the 2.3.x-TLS branch of the fork of Play 2.x, which comes with TLS support and a few more patches.

We use Travis CI to verify the build: Build Status

Community

This project is moving fast. If you have any problems don't hesitate to participate, ask questions, whoever small your problem seems to be. There are no stupid questions!

Getting going

 $ git clone git://github.com/read-write-web/rww-play.git 

Running in single user mode

To start Play in secure mode with lightweight client certificate verification (for WebID); that is, a self-signed certificate:

 $ ./activator
 [RWWeb] $ idea with-sources=yes	// if you want to run intelliJ
 [RWWeb] $ eclipse with-source=true	// if you want to run eclipse Scala IDE
 [RWWeb] $ compile
 [RWWeb] $ run -Dhttps.port=8443 -Dhttp.port=9000  -Dakka.loglevel=DEBUG -Dakka.debug.receive=on -Drww.root.container.path=test_www/ -Dhttp.hostname=localhost -Dhttps.keyStore=conf/generated.keystore -Dhttps.keyStorePassword=password

Then you can direct your browser to: https://localhost:8443/2013/

Running with multiple users securely

If you want to have multiple users on your server, it is best to give each user a subdomain for JS security. This will protect his space and his javascript from potentially dangerous javascript code uploaded by others.

network config

To start Play in secure mode with lightweight client certificate verification (for WebID) In file: conf/application.conf set the smtp parameters: host= and user= of your mail provider server.

On Unix in /etc/hosts add host names for the subdomains you will create, e.g. :

127.0.0.1 jmv.localhost
127.0.0.1 jmv1.localhost
127.0.0.1 jmv2.localhost

Installing RWW apps

(untested in dev branch as of this commit)

The RWW apps are stored in other git repositories. One can run the script ./install-app.sh to install or update the RWW apps that we ship with the platform. Check the script content, it is simply a git clone. ( If installing on a public server make sure the proxy url is set. )

For subdomains on your local machine you will need to edit /etc/hosts for each server. For machines on the web you can just assign all domains to the same ip address.

[RWWeb] $ run -Dhttps.port=8443 -Dhttps.trustStore=noCA -Drww.subdomains=true -Dhttp.hostname=localhost -Drww.subdomains=true -Dsmtp.password=secret

You can the create yourself a subdomain by pointing your browser to the root domain: https://localhost:8443/. This will lead you to the account creation page, which will allow you to create subdomains on your server. An e-mail will be sent to your e-mail address for verification ( but you will be able to find the link in the logs if the e-mail server is not set up).

Documentation

Further documentation can be found on the rww-play wiki.

Licence

Copyright 2013-2014 Henry Story

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.