Google Apps for Education and SimpleSAMLPHP with Active Directory

2011-04-09

A work in progress...

  1. Create DNS record for your SSO server (e.g., sso.myschool.org)
  2. TODO: Install some packages...
  3. TODO: Set up nptdate
  4. Download simplesamlphp
  5. Un-tar and place in /var/simplesamlphp
  6. Buy an SSL certificate for your server. (I use go-daddy.com.)
  7. TODO: copy key and cert into place for apache (the above commands may take care of this)
  8. Add an Apache virtual host:
  9. Configure Google Apps to use your new SSO server:
  10. Change SimpleSAMLPHP core config:
    sudo nano /var/simplesamlphp/config/config.php
    1. Set auth.adminpassword to something better than '123':
      'auth.adminpassword' => 'b1e18aaf91d9343226d331fa036f1e68',
    2. Set secretsalt to something yummy. They have good directions right there on how to generate a good salt by using /dev/urandom:
      tr -c -d '0123456789abcdefghijklmnopqrstuvwxyz' </dev/urandom | dd bs=32 count=1 2>/dev/null;echo
      After you do that, set secretsalt to the output. Here's an example:
      'secretsalt' => '69yx3hmvt2eijunoiqkz6f5se9jjyciz',
    3. Set technicalcontact_name and technicalcontact_email as you like.
    4. You're setting up SimpleSAMLPHP as an Identity Provider (IDP), so find 'enable.saml20-idp' and set it to true. The line should look like this when you're done:
       'enable.saml20-idp'             => true, 
  11. Enable SimpleSAMLPHP's LDAP auth:
  12. Move your simplesamlphp key and self-signed cert into palce, and tell SimpleSAMLPHP about the self-signed cert you'll upload to Google:
  13. Tell SimpleSAMLPHP about which servers will be contacting it for SSO (i.e., google servers):
  14. Update some strings and thematic elements as you like for your site. Here are some examples: