I was asked by our new Library Director to find an alternative to our now out-of-date and somewhat cumbersome room/resource booking software. The software would need to allow staff to book various rooms, ICT resources, labs and mobile notebook trolleys throughout the school. A quick search came up with a number of positive reviews for MRBS as a school resource booking solution so I decided to try it out.

The prerequisites for MRBS are as follows:

- PHP 4/5
- MySQL or PostgreSQL
- A web server (such as Apache) that supports PHP
- PHP-LDAP Modules (optional for LDAP authentication)

Luckily enough I already had an Ubuntu Linux production server in place with these prerequisites installed so I was ready to go. The install process is as follows:

  1. Extract the contents of the MRBS.tar.gz file to your web servers storage folder (ie: Apache – htdocs, IIS -inetpub)
  2. Create a mrbs database in MySQL
    CREATE DATABASE `mrbs` ;
  3. Create the database table structure using the supplied tables.my.sql script
    (Optional: Add sample data to the database using the supplied sample-data.sql script)
  4. You must enter a timezone into the config.inc.php file before the system will function (ie: $timezone = “Sydney/Australia;)

At this point the system is ready to use. However, I recommend a few extra steps for ease of use in a school environment:

Enable period view and define school periods:

The default view for MRBS is time slots. Generally schools work to periods not time slots so a period view has been included in MRBS.
To enable the period view:

  1. Include the following line of code in your config.inc.php file:
    $enable_periods = TRUE;
  2. Define the periods in the config.inc.php file. Example:
  3. $periods[] = “Before School”;
    $periods[] = “Mentor”;
    $periods[] = “Period 1″;
    $periods[] = “Period 2″;
    $periods[] = “Recess”;

    And so on…

Activate LDAP authentication:

We endeavor to provide a single-sign-on environment for our staff and students which means that LDAP authentication is a must have for any system that we implement into our network. This process was by far the hardest part of the MRBS install and took my colleague and I sometime to complete mainly due to the PHP-LDAP modules.
To enable LDAP authentication:

  1. Install PHP-LDAP modules
    I am not going to go into installing these modules in this post but am happy to lend a hand if you need help getting these working.
  2. Define LDAP authentication commands in the config.inc.php file. Example:
    $auth['only_admin_can_book_repeat'] = TRUE;$auth["type"] = “ldap”;

    $ldap_host = “yourdomain.com.au”;
    $ldap_port = 389;
    $ldap_v3 = true;
    $ldap_tls = false;
    $ldap_base_dn = “ou=Users,dc=yourdomain,dc=com,dc=au”;
    $ldap_user_attrib = “sAMAccountName”;
    $ldap_dn_search_dn = “cn=Admin,ou=Users,dc=yourdomain,dc=com,dc=au”;
    $ldap_dn_search_attrib = “sAMAccountName”;
    $ldap_dn_search_password = “Admin_Password”;

  3. Define admin users from LDAP in the config.inc.php file
    $auth["admin"] = “Admin”;

Being open source the opportunities to endless for you to critique this system to your individual needs. We have edited various files within the system to do the following:

  • Only allow admins to create repeat bookings
  • Change field labels by editing the language file (lang.en)
  • Apply the users username to the end of the displayed booking so staff can easily see who has made the booking
  • Add an “Override Creator” field for admins only so that they can make a booking on a staff members behalf
  • Edit the Help page to be more school specific help

I was working on a project that required the use of a mapped drive to a SAMBA share. This all went off without a hitch on my test PC running Windows 7 and I was about to tick the job off my list. But… when I attempted to replicate this on the staff members PC running Windows XP I ran into an issues with authenticating to the SAMBA share. I have read numerous pages and forums that provided many different ways around the issue. Below is what worked for me and allowed me to have the mapped drive reconnect at login without continuing to prompt the user for authentication:

  1. Edit the requiresignorseal registry setting:
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
    • requiresignorseal - Change hex value from 1 to 0
    • RESTART PC
  2. Map a drive to the SAMBA share and select “Reconnect at login“. Usually at this stage you would use the “Connect using a different user name” option. However, do not use this option as it will not allow you to save your credentials.
    MapDrive
  3. Click Finish and you will be prompted for your credentials. Input your user name and password (SAMBA sever credentials) and select “Remember my details“.

As I mentioned there are numerous solutions out there to resolve this issue. This is just what worked for me…

At the school that I work for we have been using the Group Policy enabled version of Mozilla Forefox from FrontMotion for some time now. We have discussed the idea on several occasions whether or not to allow staff to install extensions. I have decided to set an allowed location (locally hosted) in group policy where staff can find approved extensions to install.

However, we still required the ability to control some of the settings within these extensions. I was able to achieve this by creating Group Policy ADM templates for these extensions. The ADM templates are written to control the about:config settings of the extension which can be found by browsing to about:config in Firefox and filtering for the desired extension. The preferences are set at as a MACHINE CLASS (Computer Policy) and are locked preferences. Below is an example and explanation of a couple of settings of an ADM template for the IEView extension (comments in red): [Complete ADM example attached at the end of this post]

- Define the CLASS type
CLASS MACHINE

- Set the main category name (folder under Administrative Templates in Group Policy)
CATEGORY “Mozilla Advanced Options for Extensions”

- Set the preferences to be locked preferences
KEYNAME “Software\Policies\Mozilla\lockPref”

- Set the category/extension name (level under main category)
CATEGORY “IEView”

Boolean type preference for the Close Page on Reload setting (On or OFF)

- POLICY = Setting name

POLICY “Close Page on Reload”
- EXPLAIN = Explanation of what the setting does
EXPLAIN “Enables or disables the close page after reload option”
- VALUENAME = about:config Preference Name for the setting
VALUENAME “ieview.closeReloadPage”
- VALUEON = The value for the setting when enabled in Group Policy
VALUEON 1
- VALUEOFF = The value for the setting when disabled in Group Policy
VALUEOFF 0
- END POLICY = Ends the options for the current setting
END POLICY

String type preference for the Filter List setting (string of values)

- POLICY = Setting name
POLICY “Filter List”
- EXPLAIN = Explaination of what the setting does
EXPLAIN “Sets list of sites to always open in IE. Sites are separated by spaces. Use * for wildcard.”
- PART = “list” EDITTEXT, sets the values for the “list” part of the setting and edits the current vales
PART “List” EDITTEXT
- DEFAULT = When the setting is enabled in Group Policy, the DEFAULT string values will automatically be filled in
DEFAULT “file:///* http://*update.microsoft.com/ http://www.windowsupdate.com/”
- VALUENAME = about:config Preference Name for the setting
VALUENAME “ieview.forceielist”
- END PART = Ends the options for the current PART of the setting
END PART
- END POLICY = Ends the options for the current setting
END POLICY

- END CATEGORY = Ends the extension name category
END CATEGORY

- END CATEGORY = Ends the main category
END CATEGORY

IEView_ADM

I hope that made at least a little bit of sense.

Find a complete example here.
Download the RAR file here.

I have a Windows Server 2008 Virtual Machine setup on my VMware Server install for testing purposes. I had just about finished installing and configuring the OS when I attempted to install VMware Tools and receieved the follwing error:

VMware Tools is not supported on this guest OS.
Check the virtual machine’s configuration to make sure the settings match the installed operating system. Consult the documentation for more details about supported guest operating systems.
Unsupported OS

The Fix:

  1. Create a new VMware Datastore pointing to the VMware Server install directory %HOMEDRIVE%\Program Files\VMware\VMware Server
  2. Select the unsupported OS Virtual Machine and Edit the CD/DVD drive settings found under Hardware
  3. Select ISO Image and browse for the appropriate Operating Systems VMware Tools ISO file (in this case windows.iso)
  4. Click OK and restart the Virtual Machine
    The ISO will now be mounted as the CD/DVD drive for the Virtual Machine
  5. Browse the contents of the guest OS CD/DVD drive and run the VMware Tools setup (in this case setup.exe)

You will now have a fully functional install of VMware Tools on your unsupported OS.

I recently installed Windows 7 on my desktop PC at work. I use VMware server quite heavily to assist in testing various aspects of both client and server Operating Systems. So I downloaded and installed the latest version of VMware Server only to be confronted with the following error when attempting to access the VMware Servers web interface:

The VMware Infrastructure Web Service at “http://localhost:8222/sdk” is not responding (Connection Refused)
VMWare Error

So I head towards the first port of call and make sure the required services are all started. Sure enough, the VMware Host Agent service has not started and can also not be started manually.

The Fix:

  1. Make sure that you are logged onto the PC as an administrator
  2. Browse to %HOMEDRIVE%\ProgramData\VMware\VMware Server\hostd
  3. Delete the datastores.xml file from this directory
  4. Restart the VMware Host Agent service

The datastores.xml file will now be regenerated automatically and the VMware Host Agent service will start. You will now be able to log into the VMware Server web interface as normal.

As promised the configuration of the Moodle-Google Integration plugin:

  1. Download Google-Moodle Integration plugin
  2. Unzip the files and upload them to your Moodle installation
  3. Login to your Moodle site and click Notifications to update the newly installed blocks
  4. From the Users menu, select Authentication then Google Authentication
  5. Enter your Google domain name
  6. On your Moodle server create the private and public keys:

    Private Key (stored in Moodle only)
    Command: openssl genrsa -out rsaprivkey.pem 1024

    (Visit Google Documentation for Key Generation Help)

    Public Key (stored in Moodle and Google)
    Command: openssl req -new -x509 -key rsaprivkey.pem -out rsacert.pem

    (Visit Google Documentation for Key Generation Help)

  7. Upload the created RSA Key File (rsaprivkey.pem) to Moodle (Users -> Authentication -> Google Authentication)
    Upload the created SSL Signing Certificate (rsacert.pem) to Moodle (Users -> Authentication -> Google Authentication)
  8. Login to your Google Apps Admin Control Panel (http://google.com/a/yourdomain) in a new window
  9. Browse to Advanced Tools – > Authentication -> Setup Single Sign-on (SSO)
  10. Check the Enable Single Sign-on box
  11. Copy and paste the Sign-in, Sign-out and Change Password page URL’s from the Setup Instructions box located on the Google Authentication setup page in Moodle
  12. Upload the Verification Certificate (rsacert.pem created in step 6) and Save the changes in Google Apps
  13. In your Google Apps Control Panel, browse to Users and Groups -> Settings and check the Enable Provisioning API box
    Save the Changes
    (This allows users to be updated)
  14. Browse to Advanced Tools -> Manage OAuth Domain Key
  15. Upload the created certificate (rpacert.pem from step 6)
  16. Copy the OAuth Consumer Secret
  17. In Moodle, enable all Google Blocks and add them to the Front Page of your Moodle
    (I had issues with a couple of the blocks and therefore only enabled the GMail Block. See how you go but if you have issues disabling the other plugins would be the first port of call)
  18. Browse to Modules -> Blocks -> GMail Blocks and paste the Google OAuth Consumer Secret into the supplied field
    Save the Changes
  19. Select the Google User Sync block from Modules -> Blocks and fill in your Google Admin info.
    Save the Changes
  20. Test the config…

Our current configuration allows our staff and students to login to Moodle using their Active Directory credentials (via the Moodle LDAP authentication plugin) and link straight to their GMail account. This has allowed us to continue to provide a complete Single Sign-on (SSO) environment for our users.

The school I work at currently uses Moodle as our chosen LMS for students. Moodle is linked with our School Management system to sync courses, assignments and course enrollments among other things. This greatly assists in minimising administration work, but more on this at another time…

Our school also uses Google Apps Education Edition to provide our students with Email accounts and usage of the other Google Apps services. Google provides a great LDAP sync tool that can easily sync users and groups memberships but lacks a way to sync users passwords (not secure). For this to be possible a Single Sign On (SSO) system must come into the equation. These systems can cost thousands of dollars (depending on user numbers) from 3rd party developers or require a large amount of IT admin time and server resources to perfect a solid solution. I searched long and hard for a suitable tool for this job and tried a number of solutions but none worked well enough for my liking.

At the same time that I was searching for solutions for this issue I was also browsing around for some useful Moodle plugins. This is where I came across the Moodle-Google Intergration plugin that would solve all my issues. The plugin provides a SAML based authentication method to allow users to use their LDAP credentials (LDAP must be configured in Moodle) to log into their Google Apps account. This plugin talks with the SSO feature built into Google Apps via SAML 2.0 post and the use of the generated keys and certificates for security. Users then login to Moodle and from there can access their Google Apps account.

More to come on the configuration of this plugin. Stay tuned…

Narradan

The school which I currently work at has recently manufactured an initiative to allow students to bring their own wireless enabled devices to school to assist them in their educational endeavors. Students would be granted access to the school internet connection and internal student online services via the schools wireless network. The task given to me and the rest of the schools ICT department was to allow the students to have access to the mentioned resources throughout the school whilst maintaining the schools current level of security.

We currently have a very basic and limited wireless network that was primarily put in place for staff notebooks. It was easy to see that the current wireless network would not be able to handle the amount of devices that we would potentially be throwing at it. We researched a number of wireless solutions including Netgear, Cisco, Ruckus and XIRRUS. We decided to request a trial of the XIRRUS arrays as we loved the concept and were very intrigued by its design and methods of providing a wireless network solution.

A member of the XIRRUS team came to the school along with an array for us to test. We were pleasantly surprised with the initial tests in terms of coverage against our already in place wireless network. However, coverage was only one of the boxes that needed to be ticked so the array was left with us for further testing. I proceeded mapped out how I intended the configuration of the array to fit in with our current network infrastructure.

This included:

  1. Multiple SSIDs – We required multiple SSIDs for various reasons (eg: Staff or Student devices & Visitors).
  2. VLANS -  The array needed to be able to provide access to different VLANs on our network by different SSIDs.
  3. Captive Portal w/ RADIUS Authentication – I chose to have the array authenticate using Captive Portal against a RADIUS server as this would allow us to control which users (via our Active Directory authentication directory) could access the network and keep the network safe from outside (neighbours, etc.) sources
  4. IP/VLAN Address Filtering – Although our switching infrastructure could handle this via ACLs the added level of security on the array itself would assist in maintaining our current level of security.
  5. Centralized Management – We required centralized management of the arrays that would allow us to configure/make changes to multiple or all arrays at the same time.
  6. Access from Any Device – The final configuration would need to be simple but secure to allow the ability for a vast range of devices to connect.

Using the XIRRUS array I was able to implement the above configuration. The XIRRUS support team assisted me through certain aspects of this process via their excellent technical support team.

The Result:

  1. The XIRRUS array was setup to support numerous SSIDs with different access and security configurations.
  2. I was able to configure the array to handle our VLAN configuration and specify the VLAN required per SSID.
  3. The array has a built-in customisable Captive Portal (WPR) feature. We were able create a Captive Portal page to suit the schools style and host this on the array. For this implementation I built a new RADIUS server using Windows Server 2008 and its built-in Network Policy Server (NPS). The captive portal (WPR) on the array was then set to authenticate against this server.
  4. I created a new VLAN for the student wireless network to segregate the network from the rest of the schools devices. This was done for security reasons as students devices could potential be crawling with harmful material. ACLs were then applied at a switching level todeny access to or from this VLAN apart from the required servers and services (ie: Internet and internal online services). The XIRRUS array is also a Layer 3 switch which allowed me to apply further IP/VLAN filtering to the wireless network on the array itself. I was able to limit the access to specific ports only on the required servers.
  5. XIRRUS provides software to centrally manage and monitor the arrays. I have only just started exploring this software but from what I have seen so far it is an excellent utility to have.
  6. The connection was setup as an 802.11 agn OPEN connection allowing any device with a, g or n wireless capabilities to connect. The Captive Portal is simply a web page built using PERL and CSS meaning any device with a modern web browser should be able to connect.

We decided that XIRRUS was for us and proceeded with the project. A site survey was completed and the stock was ordered. Two XIRRUS representatives assisted with initial installation and configuration of the arrays and we are currently in the process of deploying the XIRRUS arrays as cabling work is completed. We hope to have the network up and running throughout the school for the commencement of Term I 2010. More to come as we proceed further…

I would also like to take this opportunity to publicly thank the XIRRUS sales and support team for their excellent assitance throughout this process. I would have no problem recommended XIRRUS to any school or organizational looking to implement a complete wireless network infrastructure. We have not been able to fault the XIRRUS product (we tried hard!) or their support.

The Drop Box (Y:) is currently in test phase…
Once it has been tested and all bugs have been destroyed the plan is to provide access for all staff and students.

Direct Blog Link: Drop Box (Y:)

ClickView – Check it out!

© 2010 AG's Latest! Suffusion WordPress theme by Sayontan Sinha