I had the blank page problem until I figured out all the needed steps to setup the PAM authentication module.
1. Install the PHP PAM Module. I did a aptitude install php5-auth-pam
2. Create /etc/pam.d/php for PHP's PAM module. Since I also use Kerberos to authenticate against my AD servers my file contents are
auth sufficient pam_krb5.so
auth required pam_deny.so
If you are authenticating users in your /etc/passwd file then you must give the web server's user read permission on /etc/shadow. This is generally considered an awful, awful idea.
3. Modify the osticket code. I still wanted to allow the original admin account created during setup, so I made my code
/*compares user password*/
function check_passwd($password){
if (strlen($this->passwd) && strcmp($this->passwd, MD5($password))==0) {
return true;
}
if (pam_auth($this->username, $password, &$error)) {
return true;
} else {
return false;
}
}
4. In the OSTicket Admin Panel, you still have to create users for each account that wants to login. Create each user with the correct username. With my code change, the user could actually login with their AD password or the one created here. This has security implications you should be aware of.
Once everything was setup, I could login with my AD account and see the Staff Panel.
Features that I would like to see in OSTicket are
Handle external authentication natively, whether it be AD or LDAP or even just PAM
Use LDAP to populate the Staff