MyProfile intends to provide a solution for managing the numerous accounts and profiles that users have on the Internet. Its main purpose is to provide a unified user account, or simply 'user profile', which as opposed to current 'silo' profiles, would really be under the user’s control, on a device controlled by the user.
PHP JavaScript
Switch branches/tags
Nothing to show
Pull request Compare This branch is 257 commits behind MyProfile:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
css
img
js
lib
.gitmodules
LICENSE
README.rst
account.php
atom.php
certgen.php
dbschema.sql
export.php
favicon.png
footer.php
friends.php
header.php
include.php
index.php
install.php
load.php
lookup.php
messages.php
pingback.php
profile.php
robots.txt
shorthandle.php
subscription.php
view.php
wall.php

README.rst

MyProfile :align: right

MyProfile intends to provide a solution for managing the numerous accounts and profiles that users have on the Internet. Its main purpose is to provide a unified user account, or simply ‘user profile’, which as opposed to current ‘silo’ profiles, would really be under the user’s control, on a device controlled by the user.

Homepage: http://myprofile-project.org/

License: MIT (see LICENSE file)

Installation

To install MyProfile, either clone the repository to your www dir (not recommended), or download the zip generated by GitHub. Next, simply point your browser to the install file: http://example.com/install.php and provide the required information.

Don't forget to check the Wiki for info on how to install your own CA: https://github.com/MyProfile/myprofile/wiki

External Dependencies

OpenSSL: MyProfile relies on OpenSSL to generate certificates. This means that you have to set up your own CA (Certification Authority). I have created a Wiki page on GitHub with more information on how to create the CA. To include the WebID URI inside the certificate, you need to have a special directive in the openssl.cnf file. These are the extra lines to be added:

SAN = ""
san = $ENV::SAN

MySQL: All personal messages and wall messages are stored in a MySQL database, which means you need to have access to a MySQL server.

php-curl: MyProfile uses php-curl for the semantic pingback protocol. Please not that you may also have to install the curl application itself (on debian systems: apt-get install curl).

Internal Dependencies

These dependencies come bundled with MyProfile. You can update them on your own, but I will try to keep them up to date as much as I can.

ARC2 - https://github.com/semsol/arc2

EasyRdf - https://github.com/njh/easyrdf

Graphite - http://graphite.ecs.soton.ac.uk/

libAuthentication - https://github.com/melvincarvalho/libAuthentication

Important note regarding libAuthentication: if you want to use a different IdP, you will have to edit the file `lib/libAuthentication/lib/Authentication_X509CertRepo.php' and add the IdP's certificate in (PEM form) to the array of IdPs.

Documentation

At this point, the only existing documentation is the commented code. Until proper documentation will be available, do not hesitate to contact me with questions.

Disclaimer

I'm haven't tested MyProfile under Windows yet.