Foafpress is planned as a small presentation engine for your FOAF profile and other RDF data stored in files. It allows you to aggregate and publish data from multiple web sources via Linked Data. Currently a proof of concept implementation is under testing, for now Foafpress works with files in RDF/XML, Turtle & N-Triple. I want to add some more standard templates for basic vocabularies like FOAF, DOAP and SIOC.
Please read upcoming announcements on my Foafpress feed at Identi.ca.
How it works
All requests on RDF files (resources) under the Foafpress root (what is where the Foafpress .htaccess is located in) will be routed through Foafpress to deliver exactly what is requested. RDF stuff to RDF clients, a nice HTML representation to standard web browsers.
If installation does not work please report bugs, errors and your suggestions how to improve Foafpress as well as this document, thank you!
Requirements: Apache web server with
mod_rewrite, PHP 5.3 or newer. You can enable the required modules by
sudo make enable-modules
in your foafpress root directory (after cloning, see next step)
Note: All code examples are valid for a standard installation of Ubuntu Linux. If you use another Operation system or another Linux distribution please adapt it.
1. Copy Foafpress to your web server
Currently we do not offer archive downloads, Pear channels, Phars or Debian packages. Please clone it via Git:
$ cd /var/www/ $ git clone https://github.com/haschek/Foafpress.git foafpress
$ cd /var/www/ $ hg clone http://bitbucket.org/haschek/foafpress foafpress
2. Prepare cache folder, Install libraries
Using the makefile
$ cd foafpress/ $ make install
That will prepare the cache folder and installing all necessary
libraries. You can go to 'Configure Apache' now. The makefile provides
also some other options, e.g. installing/updating only a specific library.
make in your Foafpress directory to see more.
Foafpress needs read/write access to the cache folder. You could grant read/write access to all (anonymous) users but it is recommended to grant this rights only to your user and the user group of your www user.
$ cd foafpress/ $ sudo chown youruser:www-data cache/ $ sudo chmod 6770 cache/
$ cd foafpressapp/libraries $ git clone https://github.com/haschek/Sandbox-Publisher-CMS.git spcms $ git clone https://github.com/haschek/arc2.git arc2 $ git clone https://github.com/haschek/RDF-Template-Object.git rdfto
$ cd foafpressapp/libraries $ hg clone https://sandbox-publisher-cms.googlecode.com/hg/ spcms $ hg clone http://bitbucket.org/haschek/arc2 arc2 $ hg clone http://bitbucket.org/haschek/rdf-template-object rdfto
3. Configure Apache
Second, you need to configure Apache that all resource requests of RDF
files are answered via Foafpress: use the template for the
file and please follow the instruction there, basically you need to
replace all occurrences of
/path/to/ with the base URI of your
Foafpress installation. If Foafpress is located in
the replacement would be only
$ cp .htaccess-example .htaccess $ gedit .htaccess
4. Configure Foafpress
Foafpress itself comes with several options to configure, you can use the example template for the user config file, uncomment and edit the line you want to change. The template is documented extensive.
$ cp fp-config.php-example fp-config.php $ gedit fp-config.php
If you only want to test Foafpress, or do not need any customizations on templates/layout you can ignore options for templates and plugins. It is recommended to configure caching and the language stack. If you decide to use Foafpress on your public server please configure the production mode.
5. Run Foafpress
Now Foafpress should work. Please check out one of the test resources
which are located in the
test sub folder.
For instance, if you have installed Foafpress on your
local machine under
/var/www/foafpress/ then run
http://localhost/foafpress/test/desirejeanette in your web browser. If
Foafpress is working properly you should see something like this:
In case Foafpress does not work please check also the trouble shooting page.
Now you could copy your own foaf:Person profile to the foafpress folder and do further testings. Would be nice to hear some feedback, thank you!