Doing things with Lyceum

Image of ENG 375 Portal Well, I am back in the teaching saddle and it feels good, but I do feel sorry for the students in my class who have become subject to a whole lot of technologies. And while I think they’re enjoying it, I am also realizing that blogs and a wiki can really change the way one can do business in a class – which is an adjustment for every one involved. So heeding Jerry’s latest mantra, its is not all or nothing, it can be something in between -or even abandoned if need be (wow, this notion is really difficult for someone like me to accept!). Ok, but enough about the King, how about this thing called “Lyceum.”

Lyceum is a multi-user blog solution based on the WordPress blog engine (you can read more Lyceum in an earlier post of mine here). I have been tinkering with it for a few months and the developer at UNC Chapel Hill, John Joseph Bachir, has been an unbelievable help it getting me up and running along the way -as have several other folks in the lyceum irc forum like whatup. One of the most impressive aspects of this project, besides the solid program, is the number of online venues they have made available for support. My experimentation was ultimately preparation for a live run, which has just recently started. So, now I am trying to give a little direction to anyone who might want to see how this program is installed, as well as a quick overview of the maintenance and administration involved.

Installing Lyceum:

Lyceum is a relatively straight-forward installation on most web-hosting services if you do not want to enable dynamic subdomains (which is optional). Enabling dynamic subdomains is not necessarily difficult, but it does require one to make sure they have wildcard dns enabled through the server (something you may have to talk to your web-hosting provider about). I haven’t experimented with the dynamic subdomains yet, so I will not be discussing that part of the installation here.

Once you download the latest milestone here, just unzip it and you will have a series of folders named dec, doc, tests, and src.

The src folder is the only folder you should be concerned about for our installation purposes. The installation instructions suggest that you change the document root of your webserver to src – for those of us with a hosting service this may not be possible, so what you want to do is take the config, library, lyceum and installation folders and place them within the appropriate folder within public_html. For example, my class subdomain is eng775 (in my haste to set this account up I entered the wrong class number in the subdomain, go figure). So, what I did was to copy the lib, lyceum, installation, and config folder into the eng775 folder within public_html. The directory should look something like this:


Ok, so far so good? I hope so. Once you have copied those files there are six settings you have to establish in the following file: config/wp-config-sample.php

define('DB_NAME', 'lyceum'); // You fill this in with the name of the database
define('DB_USER', 'root'); // You fill this in with your MySQL database username
define('DB_PASSWORD', ''); // ...and password
define('DB_HOST', 'localhost'); //hostname or IP of database server (possibly 'localhost') for bluehost it is localhost in my case

Once these settings are changed, you need to rename the wp-config-sample.php file to wp-config.php.

Note: All of the above settings are based upon the information you get when setting up a MySQL database through your control panel. I will try and detail this process as well shortly, just be aware that Lyceum does not create the database for you, this is something you need to have setup already.

Update: I have detailed the creation of a MySQL database with CPanel in this article.

The final two lines we need to be concerned about are paths you need to setup in order to tell Lyceum where to find the files, that is done below as follows:

// The web path to the base of lyceum (where portal.php is sitting)
// Something like '/' or '/lyceum/' or '/src/lyceum/'
define('WEBROOT', '/'); //My example above would have '/lyceum/' where '/' is
define('MAINDOMAIN', ''); //My example above would have '' where '' is

That should be it for the config file. Now we need to change the permissions on a few files. Change the permissions on the following files to 775 (this process may not be straightforward for some, if not let me know in the comments and I’ll do my best to spell it out):


We are almost there! Finally, you need to go to the install.php file in your web browser to install lyceum. In my example it would be this:

Note: You should delete install.php after your have installed Lyceum successfully, otherwise the program could be vulnerable.

You’ll be taken through two steps of the installation and ta da – disco your multi-user bloggin’.

Yet, with great power comes great responsibility!: Maintaining and administering Lyceum

Actually, maintaining and administering blogs in Lyceum is a breeze, which is exactly what you want from a multi-user blogging program. Here are the details, as I see them:

The Portal Page: when you go to the url leading to the lyceum folder you should arrive at the Lyceum portal page which is the place where users can register and login to their blogs. This is also where the administrator will log in when he/she receives a password at the end of the install. This page will look as follows:

Screenshot of Lyceum Portal page

When you log in as the administrator you will be taken directly to the user profile page, wherein you can change your password, update or add personal info, and go to your blog or, as the admin, the system settings page which will be a link at the top.

User Settings Page, top-half
Click on image for larger view

Also, one thing I forgot when training students on Lyceum was that you have to enable the rich text editor for writing posts on the user profile page, just check the box in the lower-left hand corner if you want to enable the RTE and then click update profile.

User Profile lower half
Click on image for larger view

Finally, at the top of the User Settings page is the link to either the backend of your blog, if you have set one up as an administrator, or to the system settings that allow you to administer system-wide plugins, restrict registration by email suffix, deactivate and/or activate blogs, manage blog users, as well as modify or rewrite the htaccess file if need be.

Click on image for larger veiw

Those are the system settings tools and I am including a screenshot just to give you a sense of what this space looks like. It is really not that different from navigating the backend of a single user account, and I have installed two plugins thus far on a system-wide basis and they both work fine. Keep in mind, however, that this may not always be the case.

A Work in Progress:
What I have set up so far is most definitely a work in progress, but so far so good, you can take a look at the student blogs for my class at either or go to the main course site and link on the blogroll

Let me know where and when I am not being clear or you need some clarification and I will be certain to respond. Also, please let me know if you notice any flagrant omissions here and I will do my best to update this information so that it can soon be moved to a wiki and have a more open-ended collaborative life beyond the blog …

This entry was posted in Uncategorized. Bookmark the permalink.

47 Responses to Doing things with Lyceum

  1. Jerry says:

    Jim – you are doing some really great work here! Since we all know and love WP, it would be great if we could easily spread the blogging opportunities with some sort of enterprise WP system. You are helping us to see what that entails – thanks!

  2. jimgroom says:

    It has been my pleassure. I remembered during my first weeks here that I had promised to make in-roads with multi-user blogging, well, thank hjeavens for Lyceum, otherwise I would still be scratching my head with every nightly-build from WPMU.

  3. Pingback: The Lyceum Project » Nice write up on Lyceum

  4. Keep rockin Jim!

    – Another new fan.

  5. jimgroom says:


    Thanks for the shout out, I actually have been working with another professor on Lyceum and and I have some more tickets to run your way,so don’t be surprised if i am harassaing you on irc once again! 🙂


    Thanks for encouragement, but, in fact, jjb has done all the work, I’m just a clinical trial rat, when I really think about it; I just hope he isn’t married to any cruel and unusual experiments on his subjects during the testing period!!;)

  6. Stephanie says:

    Your instructions were great, but I’m still having a problem.

    I get to the lyceum screen – welcome to Lyceum installation.

    I select “first step”

    Everything seems fine.

    I make it to the second step – everything seems fine.

    I get my username and password and click the “login” link and…

    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Can you help me out?


  7. jimgroom says:


    Do me a favor and send me the link to the site so I can take a look.


  8. Stephanie says:

    Jim – is there an e-mail address I can use to send it to?

    I’ve resolved most of my issues but there is one nagging one left (I think):

    When I choose “lost your password,” I’m taken to a page that says (among other things): ERROR: The blog requested does not exist or has been deactivated.

    But at the bottom of the page, the blog created is listed and I can even go to it. I just can’t sign in to the dashboard/admin area if I don’t have my password and the “lost password” option isn’t working.

    I also have one question:

    Once I get this working properly, I’d like to intall it again in the root folder (instead of my aim is to make it Is that a good idea?

    Also, the subdomain is actually an addon domain on my host. So actually, when the DNS updates, I’ll be able to reach just by going to Will that also shorten my blog urls to

  9. quality says:

    I set up Lyceum at

    Once i login it does not work and goes to login page while the actual page is wp-login

    Can you please help me and look at the site

  10. jimgroom says:


    I don’t see any installation at all in the url above? Did you uninstall it?

  11. Thomas says:

    Could you please tell me how we can install lyceum in a subfolder
    have tried the private.php and changed the relevant path but failed to point it right.
    Lyceum always require /src/lyceum as document root

    Thank you all

  12. jimgroom says:


    This is an excellent question for the Lyceum mailing list – you can find more information at

    Good luck

  13. Tom says:

    I have cpanel – looks to be the same as

    When I goto change permissions to 775 it says changed – but then reverts back to 777. Is there another way to change the permissions (i’m currently trying to change via file manager – you can see the screen here –

    Thanks in advance


  14. jimgroom says:


    You should be able to change the permissions for the three specified files using the cpanel filemanager you have. BTW – if these file permissions are set to 777 the setup should work, but you may be opening yourself up to security risks. If you can’t get these files to stay at 775 – you have a few options: ftp into your server with a free ftp client like ACEFTP. Alternatively, you can shell into the server and change them through line command (which requires shell access to your webhosting service). If all the appropriate files are set with permissions 775 or higher currently, your best bet is to continue with the setup. After which, look into an FTP client that will allow you more granular file managemnt – in fact once I started using an FTP client to manage my files on the server – I never looked back at the cpanel file manager again. I am working on a tutorial for using ACEftp – look for it tomorrow afternoon on the bavawiki. Good luck …

  15. Where you describe the step of setting permissions on three files, shouldn’t the second file in the list be wp-comments-post.php (commentS with an s)? That is the file name I find when I unzip the distribution file, and no file named wp-comment-post.php.

  16. jimgroom says:


    You are right, it is comments with an S – there goes my pulitzer!

    Hope it helped,

  17. Yes, I’ve found your installation instructions extremely helpful! Sorry about the Pulitzer, but at least you can still hope for a nice review in the NY Times.

  18. tifosi says:

    Just an insight into setting up lyceum as subdirectories of a subdomain.

    site at
    blogs at

    The above setup works….
    but if you set up the subdomain with something like cpanel it reconfigures the webroot with an apache http.conf update. So the webroot path should be ” not ‘/blog’

    Probably the cause of some peoples issues:
    i.e in httpd.conf

    DocumentRoot /home/coldplay/public_html/blog
    BytesLog domlogs/
    ScriptAlias /cgi-bin/ /home/coldplay/public_html/blog/cgi-bin/

    Also. This plays a bit of havoc with the .htaccess. So when logged in as admin go to system settings and write the .htaccess again. The default update should work.

    # BEGIN Lyceum

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^profile/? wp-admin/profile.php?%{QUERY_STRING} [L]
    RewriteRule ^login/? wp-login.php?%{QUERY_STRING} [L]
    RewriteRule ^register/? wp-register.php?%{QUERY_STRING} [L]

    # RewriteRule ^([^/]+)/wp-comments-post(.*).php wp-comments-post$2.php [L,QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]+)/admin/?$ wp-admin/index.php?b=$1& [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]+)/admin/?([^/]+php)\??(.*) wp-admin/$2?b=$1&%{QUERY_STRING} [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    ### I’m pretty sure we’ll never need these -jjb ###
    # RewriteCond %{REQUEST_URI} !^(.+)/admin(.*)^M
    # RewriteCond %{REQUEST_URI} !^(.+)/index.php(.*)
    RewriteRule ^([^/]+)/? /index.php?b=$1 [L,QSA]

    # END Lyceum

    Hope that helps… now to figure out why registering emails are going astray, and why there’s no master configuration page link for admin but there is one if a user!


  19. jimgroom says:

    Thanks for the insight, Stephen. Great Stuff.

  20. Scott says:

    Thanks for the hard work Jim. I followed your instructions originally with success, but decided instead of Lyceum being in, I wanted it simply in

    Now that i’ve managed to get that working, I can’t seem to login or even register – the links don’t actually take me anywhere.

    Any guess what’s going on there?

  21. Scott says:

    Actually, after following Stephen’s instructions and a bit of fiddling around, it seems to be working now.

    Thanks to both of you!

  22. jimgroom says:

    Scott, you have inspired me given how far I have been from Lyceum these days to work on a tutorial for setting up a blog with dynamic subdomains. Stephens addendum is, indeed, key, and I am going to integrate it more fluidly into the actuall tutorial so it doesn’t come as an afterthought.

    Thanks Scott, and thanks, once again, Stephen.

  23. Scott says:

    Wow, cool. It’s great when inspiration jumps up on you like that!

    I do have a question for those of you more familiar with Lyceum than I though: it doesn’t seem to be sending confirmation emails on signup. This includes the admin account.

    I decided to give Lyceum a try after I couldn’t get Word Press MU to do exactly the same thing, but perhaps it’s a server setting that i’m missing?

  24. jimgroom says:


    I’m not certain about the e-mail problem, mine is working fine last time I checked -but i am working of an older version for the momement (hence, the inspiriation). You may want to log a ticket on the Lyceum Trac page. John and Fred are awesome and will tak a look at your concern for the particular version (or nightly build) you installed rather quickly. Good luck.

  25. Scott says:

    Great! Thanks for the tip, and all the advice once again!

  26. Robert Angelo says:

    I’m having a problem similar to what Stephanie described above:

    In my case, when I do the install in Firefox and get to the point of clicking on the button to go from step 1 to step 2, it gives me the dialog to either download or open the file “install.php”. When I try it in IE, I get the same message Stephanie reported.

    Any info on how this was solved? I’ve been googling and looking through the Archived support emails for several days, and I haven’t found the answer. :0


  27. jimgroom says:


    Are you using the latest nightly build I linked to in the tutorial or Lyceum 0.33 stable? I have heard of this issue with nightly builds but not the stable version, make sure you are using the stable version -if this doesn’t work send me a link to your site.


  28. kyle says:


    I was having a similar problem to Stephanie and Robert…I ripped everything out and have reinstalled a couple times, but i cannot get past this url to login or register…

    any help would be much appreciated!


  29. jimgroom says:

    Hi Kyle,

    Yeah, itseems to be borking on the login and register pages, hmmmmm. Can you login in as an admin at all? Can you see the settings in the backend? Seems like there may be an issue with the file structure, from what I can tell from my vantage point. Are you using a nightly build or a stable release? Any more info you could offer would be great, and keep in ming that there is a mailing list and an IRQ chat room for Lyceum.

  30. kyle says:

    I am not able to login at all…no backend settings, just the one page which doesn’t work at all. I am using release 0.34

    I used your instructions here and thought I would try my luck a bit further, it might be my system doesn’t support mod_rewrite…not sure how to test that.

    Thanks for your help anyway, if I have any luck at Lyceum I will post the solutions here 😉

  31. kyle says:

    My host is Yahoo! Small Business and I found some evidence of issues with them and .htaccess…

    I found this on another site:

    Yahoo! web hosting does not allow directory names with periods (‘.’) in them.

    So I guess I will find a more flexible host to test on…


  32. Jun says:

    I installed Lyceum in a folder named blogs under my domain. Installation went well without any minor problem. I logged into the system as admin, edited my password then logged out. That’s when I had the problem. The redirection went straight to instead of going to the right path.

    What can I do to fix the problem? Any suggestions would be very much appreciated.

    Thanks in advance and a good day to everyone.


  33. Johan says:

    Hi I am battling with the install. At the moment trying it for the fourth time. Above you wrote about the installation folder but I did not get such a folder in the tar. Regards Johan

  34. jimgroom says:


    Hmmm, any more details. This guide is for an older version of Lyceum, and you might consider the listserv for more current support. But if you give me some info I’ll try and help.

  35. DR says:

    Yes I am having the same problem ..

    No “installation” folder in the Src folder ..


  36. Johan says:


    Thanks Jim.

    Rather. I got WPMU to work in no time.

    You have a great site.


  37. jimgroom says:


    I am currently using WordPress Multi-User, the community is quite vibrant, and while Lyceum gave me everything I need over a year and a half ago, the development in the Mu community has far outpaced it. And while John did an unbelievable job with Lyceum, in the end it is all about where the community is devoting their efforts. i would recommend you give WPMu a shot.

  38. Jeannie says:

    I have tried following your directions but have still been unable to install Lyceum. I contact my webhost and they cannot figure out what is wrong. We have gone through all parameters. The only problem we can see is that the download of the problem does not include and src/installation file as stated above. Instead the four folders in src are lyceum, config, lib, and bin. My Webhost believes that there may be something missing that is in the installation folder that is making it impossible to install the program.

    I have made all changes in the wp-config.php file as per your instructions and verified those with my webhost. I have verified that all my folders have write permissions.

    When I go to the web-browser and try to run the program (, I get the message “must be writable by the webserver.” After an hour of searching forums, I tried changing the define(‘USELOGS’, true); to false. This did not accomplish anything.

    Any help would be appreciated as I am at my wits end and my webhost has no idea why this is not working.

  39. Jeannie says:

    I too have moved to MU.

  40. Reverend says:


    Sorry to get back to this thread so late, but going to WPMu at this stage is probably a very good idea. 🙂

  41. Pat says:

    I’ve installed Lyceum locally on my Mac using MAMP but everything seems to be running really slow and sometimes I get an error that says that the server is taking too long.

    Should there be this problem if I installed it locally? I used DynDNS to put an alias domain name too. Would there be a better way of doing that too?

  42. Reverend says:


    At this stage in the game of development of Lyceum vs. WPMu, I would strongly recommend you switch over to WPMu. The community is huge and the application has come a long way in the last three years. I haven’t really used Lyceum in close to two years, so I can only recommend a switch.

  43. mjb says:

    hi,how to integrate lyceum , my site with single sign-in

  44. Reverend says:


    I’m not really working with Lyceum anymore, it’s been over two years now. So you may want to check out their wiki, and see if that doesn;t turn up some leads.

    Sorry about that,

  45. bravo says:

    I setup The Lyceum already,
    add one user,
    and create blog, but this wordpless too old version,
    how can update to wordpress V 2.7 becouse many plugin and theme never support this version,

    not have a index.html or php so let me know what to do,
    i want people van reach my blog here

    please e-mail me,
    best regards
    Happy new year

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.