I've installed PHP-CA a few times I love the functionality, but the error handling during the setup process needs improvement. From a UI prespective, the install process should not even display the form for the CA until it has checked that it has permissions to create it.
Also, the file openssl/crypto/serial always generates a file not found message for me, unless I create it before submitting the initial CA info.
I've attached a preliminary patch to enable permissions checking. The serial error can be fixed by making the following change in modules/setup/create.php:
+++ phpca/modules/setup/create.php 2009-12-18 16:10:06.000000000 -0500
@@ -72,7 +72,7 @@
print "Done<br/><br/>\n";
print "<b>Self-signing CSR...</b><br/>";
-$sscert = openssl_csr_sign($csr, null, $privkey, 365, array(), getSerial());
+$sscert = openssl_csr_sign($csr, null, $privkey, 365, array());
checkError($sscert);
print "Done<br/><br/>\n";
I don't know if that has any adverse side-effects, but the serial argument to the openssl_csr_sign function is optional.
Thanks!