We are going to use our own openid server for various projects, it was fairly easy to install at then end.
Because sources are diffused on the net, here is a all-in-one package you’ll just need to put on your webhost to start your server:
Download package
Update: OpenId-Server now on Github.com
Configuration
In the package, you need to edit some configuration in web/config.php:
/**
* The administrator's email address. You may leave this empty if you
* wish. If empty, the "Contact (email address)" message will not
* appear on every page footer.
*/
define('SITE_ADMIN_EMAIL', "admin@example.com");
/**
* Set these values for administrative access. This account will be
* able to create and remove accounts from the auth backend. This
* username will not be permitted to use an OpenID. The password MUST
* be an MD5 hexadecimal hash of the password you want to use.
* Example:
*
* define('ADMIN_PASSWORD_MD5', '21232f297a57a5a743894a0e4a801fc3');
*
*/
define('ADMIN_USERNAME', 'admin');
define('ADMIN_PASSWORD_MD5', '');
Visit this page to transform your password in MD5 hash
/**
* Storage backend to use. Currently the only choice is "MYSQL". See
* storage.php for storage backend implementations. Parameters for
* connecting to the storage backend. See storage.php if you want to
* create your own backend.
*/
define('STORAGE_BACKEND', 'MYSQL');
global $storage_parameters;
$storage_parameters = array('username' => 'openid',
'password' => '',
'database' => 'php_openid_server',
'hostspec' => 'localhost');
There are more options you can change in config.php, feel free to experiment :)
Link to HTTP server
You need to tell to your server to access OpenID server in the ‘web‘ directory.
Here is how it works on my webhost:
ln -sf ~/openid/web/ ~/public_html/openid/
Now you can access my OpenID server on http://openid.alexgirard.com