OpenID demo#


The OpenID Book, chapter 4 describes how to setup the sammple OpenID RP.

Install PHP#

The sample is based on PHP, and this was not yet installed on the scharnhorst VPS (Fedora core 5), so first install this, after manually installing yum, we run yum install php:

[root@scharnhorst yum.repos.d]# yum install php
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
core                                                                 [1/3]
core                      100% |=========================| 1.1 kB    00:00     
updates                                                              [2/3]
http://ftp1.skynet.cz/pub/linux/fedora/updates/5/i386/repodata/repomd.xml: [Errno 4] IOError: <urlopen error (111, 'Connection refused')>
Trying other mirror.
http://fedora.mirrors.lug.ro/fedora/linux/core/updates/5/i386/repodata/repomd.xml: [Errno 14] HTTP Error 404: Date: Thu, 03 Jan 2008 18:58:23 GMT
Server: Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-22
Vary: accept-language,accept-charset
Accept-Ranges: bytes
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
Content-Language: en
Trying other mirror.
updates                   100% |=========================| 1.2 kB    00:00     
extras                                                               [3/3]
http://ftp.chg.ru/pub/Linux/fedora/linux/extras/5/i386/repodata/repomd.xml: [Errno 4] IOError: <urlopen error (101, 'Network is unreachable')>
Trying other mirror.
extras                    100% |=========================| 1.1 kB    00:00     
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 767 kB    00:09     
core      : ################################################## 2207/2207
Added 2207 new packages, deleted 0 old in 12.25 seconds
primary.xml.gz            100% |=========================| 362 kB    00:01     
updates   : ################################################## 1013/1013
Added 1013 new packages, deleted 0 old in 6.76 seconds
primary.xml.gz            100% |=========================| 1.3 MB    00:05     
extras    : ################################################## 4277/4277
Added 4277 new packages, deleted 0 old in 21.03 seconds
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for php to pack into transaction set.
php-5.1.6-1.6.i386.rpm    100% |=========================|  21 kB    00:00     
---> Package php.i386 0:5.1.6-1.6 set to be updated
--> Running transaction check
--> Processing Dependency: libaspell.so.15 for package: php
--> Processing Dependency: php-pear for package: php
--> Processing Dependency: libgmp.so.3 for package: php
--> Processing Dependency: libpspell.so.15 for package: php
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for aspell to pack into transaction set.
aspell-0.60.3-5.i386.rpm  100% |=========================|  30 kB    00:00     
---> Package aspell.i386 12:0.60.3-5 set to be updated
---> Downloading header for gmp to pack into transaction set.
gmp-4.1.4-6.2.1.i386.rpm  100% |=========================|  10 kB    00:00     
---> Package gmp.i386 0:4.1.4-6.2.1 set to be updated
---> Downloading header for php-pear to pack into transaction set.
php-pear-1.4.9-1.2.noarch 100% |=========================|  20 kB    00:00     
---> Package php-pear.noarch 1:1.4.9-1.2 set to be updated
--> Running transaction check
--> Processing Dependency: aspell-en for package: aspell
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for aspell-en to pack into transaction set.
aspell-en-6.0-2.i386.rpm  100% |=========================|  10 kB    00:00     
---> Package aspell-en.i386 50:6.0-2 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Installing:
 php                     i386       5.1.6-1.6        updates           3.5 M
Installing for dependencies:
 aspell                  i386       12:0.60.3-5      core              959 k
 aspell-en               i386       50:6.0-2         core              1.6 M
 gmp                     i386       4.1.4-6.2.1      core              632 k
 php-pear                noarch     1:1.4.9-1.2      updates           354 k

Transaction Summary
=============================================================================
Install      5 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         
Total download size: 7.0 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): aspell-0.60.3-5.i3 100% |=========================| 959 kB    00:34     
(2/5): gmp-4.1.4-6.2.1.i3 100% |=========================| 632 kB    00:28     
(3/5): php-pear-1.4.9-1.2 100% |=========================| 354 kB    00:01     
(4/5): aspell-en-6.0-2.i3 100% |=========================| 1.6 MB    01:03     
(5/5): php-5.1.6-1.6.i386 100% |=========================| 3.5 MB    00:15     
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: aspell                       ######################### [1/5] 
  Installing: gmp                          ######################### [2/5] 
  Installing: php                          ######################### [3/5] 
  Installing: php-pear                     ######################### [4/5] 
  Installing: aspell-en                    ######################### [5/5] 

Installed: php.i386 0:5.1.6-1.6
Dependency Installed: aspell.i386 12:0.60.3-5 aspell-en.i386 50:6.0-2 gmp.i386 0:4.1.4-6.2.1 php-pear.noarch 1:1.4.9-1.2
Complete!

Apached config change#

Added the following to /etc/httpd/conf/httpd.conf:

#
#  config needed for OpenID demo:
<VirtualHost consumer.computerhok.nl:80>
  LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" consumer
  ServerAdmin harry.metske@gmail.com
  DocumentRoot /var/openid/consumer/php-openid-2.0.0
  ServerName consumer.computerhok.nl
  ErrorLog logs/consumer-error.log
  CustomLog logs/consumer-access.log consumer
</VirtualHost>

Install consumer stuff#

Install into directory /var/openid/consumer (downloaded from http://www.openidenabled.com/php-openid/ )

Adapt /etc/php.ini#

The include_path has to be extended with /var/openid/consumer/php-openid-2.0.0.

Demo#

The demo now is available here: http://consumer.computerhok.nl/examples/consumer/