Fresh installation on MacOSX - acli/ATutor GitHub Wiki
- Apache, PHP5 already included in the OS
- Just need to enable PHP5 in httpd.conf (which I already did 6 months ago)
- eAccelerator (or APC / XCache) not strictly necessary though a cache will “reduce server load” so is beneficial
- (XCache does not work on MacOSX so it’s down to either eAccelerator, APC, or no cache)
- Need to install MySQL (which is regrettable, since MacOSX actually already has a SQL server included, viz. Postgres)
- Note post-installation instructions (that are NOT included in the package)
- According to http://atutor.ca/atutor/docs/requirements.php apparently this means a “database user with admin privs” (lead from http://atutor.ca/view/16/6848/3.html)
- After starting MySQL, the first time I tried resuming my Mac from sleep, the screen remained blank and the Mac started beeping. I was able to do a google search after it came back for several minutes. According to Google results, I was exhibiting RAM problems.
- This is pure speculation, of course, but since the timing is so convenient, I’ll speculate that the IA64 version of MySQL is not stable enough for use and will cause system crashes that look like RAM problems.
- After fixing the quoting bug in step 2, I still couldn’t get a database connection
- Since the error message provided by ATutor is completely useless, I looked at the code, manually added a mysql_error() to the error message, and found myself staring at a “No such file or directory”
- After a bit of googling, I found the answer to be, apparently, a mismatch of what PHP thinks where the MySQL socket is (/var/mysql, which doesn’t even exist) and where MySQL actually puts it (/tmp)
- Apache ignored the fixes; Apache needs to be restarted for the changes to take effect
- In step 4, if the directory specified is left in 0755 mode, ATutor produces the misleading error message “Content Directory entered does not exist.”
- In step 5, if the config.inc.php file does not already exist, ATutor produces the unhelpful error message “../include/config.inc.php does not exist.” (i.e., what directory is “..”?); looking at step5.php, it looks like it is checking for the existence of the wrong file (?!)
At the end of the installation process two things stuck out:
- I do not have the choice (step 6) of not submitting my ATutor information (so if I tested ATutor multiple times the stats would be heavily compromised)
- The final screen (step 7) has a button that reads “Log-in!”. This is, of course, incorrect English; it should read “Log in!” (two words, no hyphen).
Going through ATutor’s installation wizard was an excuciating experience. I was a Unix administrator for a few years and I could not figure out what to do until I delved into the code and added debug print statements. I have great sympathy for those people who are not Unix administrators but have to go through this ordeal.
- In step 2, if the password contains U+0027, the backend craps out
- “Database User” (step 2) is very unclear, and there are no links to any help
- Looking at install/include/step2.php, the asterisk for indicating a required field is completely CSS-generated (class=required), but this will not work in text browsers, and obviously will not work on screen readers either
- Misleading error message “Content Directory entered does not exist.” (step 4) given for “directory not writable”
- Unhelpful error message “../include/config.inc.php does not exist.” (step 5) and very unhelpful and irrelevant help text that says “To change permissions on Unix use chmod a+w then the file name.”
- User has no option to opt out of the anonymous data collection (e.g., until a production server is installed)
- “Log-in!” button (step 7) should read “Log in!”
- In step 2, “Database Password” field is not a password field
- Looking at install/include/step2.php, why is stripslashes() called?
Some sort of scripted test framework need to be in place so that we can run regression tests on all these bugs. This will be, hopefully, in the not-too-far future.