shining a light on open source software: going beyond lampp serving web content using open source...
TRANSCRIPT
Shining A Light on Open Source Shining A Light on Open Source Software: Going Beyond LAMPPSoftware: Going Beyond LAMPP
Serving Web Content UsingServing Web Content UsingOpen Source SoftwareOpen Source Software
What is LAMPP?What is LAMPP?
LAMPP stands for:LAMPP stands for:– Linux (operating system)Linux (operating system)– Apache (web server)Apache (web server)– MySQL (database application)MySQL (database application)– PHP (scripting language)PHP (scripting language)– Perl (scripting language)Perl (scripting language)
Where can I get…Where can I get…
Kubuntu -Kubuntu -– http://http://
www.kubuntu.org/www.kubuntu.org/download.php#latest download.php#latest
XAMPP –XAMPP –– http://http://
www.apachefriends.org/www.apachefriends.org/en/xampp-linux.htmlen/xampp-linux.html
Drupal –Drupal –– http://drupal.org/http://drupal.org/
PHP Timeclock –PHP Timeclock –– http://sourceforge.net/prhttp://sourceforge.net/pr
ojects/timeclock/ojects/timeclock/
MRBS –MRBS –– http://http://
sourceforge.net/projectssourceforge.net/projects/mrbs/mrbs//
Before we can serve content…Before we can serve content…
We’ll need a webserverWe’ll need a webserver XAMPP includes:XAMPP includes:
– Apache, MySQL, PHP & PEAR, Perl, ProFTPD, Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl, Ming, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite and IMAP C-Client. SQLite and IMAP C-Client.
How do I install XAMPP?How do I install XAMPP?
Navigate to the directory where the Navigate to the directory where the downloaded file is locateddownloaded file is located
Run the command:Run the command:– tar xvfz xampp-linux-1.6.6.tar.gz -C /opt tar xvfz xampp-linux-1.6.6.tar.gz -C /opt
Keep in mind that Linux is case sensitiveKeep in mind that Linux is case sensitive Start XAMPP as root:Start XAMPP as root:
– sudo /opt/lampp/lampp start sudo /opt/lampp/lampp start
What happens when I reboot?What happens when I reboot?
When you reboot the machine, XAMPP When you reboot the machine, XAMPP might not start automaticallymight not start automatically
To fix this, change directories to:To fix this, change directories to:– /etc/rc2.d/etc/rc2.d
And run these commandsAnd run these commands– n -s /opt/lampp/lampp S99lamppn -s /opt/lampp/lampp S99lampp
ln -s /opt/lampp/lampp K01lampp ln -s /opt/lampp/lampp K01lampp A symbolic link to XAMPP’s start & stop A symbolic link to XAMPP’s start & stop
command has now been createdcommand has now been created
Security ConsiderationsSecurity Considerations
As a Developer:As a Developer:– All Apache modules are All Apache modules are
enabledenabled– MySQL is enabled MySQL is enabled
without a passwordwithout a password– ProFTP is enabled ProFTP is enabled
without a passwordwithout a password– Most options turned on Most options turned on
by defaultby default
From a security From a security standpoint:standpoint:– System is wide open to System is wide open to
potential attackspotential attacks
Run the security Run the security command to close command to close most of the glaring most of the glaring security holessecurity holes– /opt/lampp/lampp /opt/lampp/lampp
security security
What is a CMS?What is a CMS?
CMS stands for: Content Management CMS stands for: Content Management SystemSystem
Keeps content consistent and organizedKeeps content consistent and organized Drupal is one of the larger, free, open Drupal is one of the larger, free, open
source CMS’s availablesource CMS’s available
How do I install Drupal?How do I install Drupal?
Copy the extracted file to /opt/lampp/htdocsCopy the extracted file to /opt/lampp/htdocs Setup a database for Drupal in phpMyAdminSetup a database for Drupal in phpMyAdmin Setup a user and permissions for Drupal in Setup a user and permissions for Drupal in
phpMyAdminphpMyAdmin Set permissions for Set permissions for
/opt/lampp/htdocs/drupal/sites/default/settings./opt/lampp/htdocs/drupal/sites/default/settings.phpphp
Run Drupal install scriptRun Drupal install script
Drupal housekeepingDrupal housekeeping
Create the first accountCreate the first account Navigate to AdministratorNavigate to Administrator Run a status reportRun a status report Fix any issues noted in the reportFix any issues noted in the report The Drupal handbook will answer most The Drupal handbook will answer most
install and basic setup questions:install and basic setup questions:– http://drupal.org/getting-startedhttp://drupal.org/getting-started
PHP TimeclockPHP Timeclock
Download and unpack file to htdocsDownload and unpack file to htdocs Set up database in phpMyAdminSet up database in phpMyAdmin Setup user and permissions in phpMyAdmin Setup user and permissions in phpMyAdmin
under the SQL function:under the SQL function:– GRANT SELECT, UPDATE, INSERT, DELETE, GRANT SELECT, UPDATE, INSERT, DELETE,
ALTER, CREATE , LOCK TABLES ON ALTER, CREATE , LOCK TABLES ON databasename.* TO 'username'@'localhost' databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password'; IDENTIFIED BY 'password';
– Setup the required tablesSetup the required tables
MRBSMRBS
MRBS stands for:MRBS stands for:– Meeting Room Booking SystemMeeting Room Booking System
The Law Library uses MRBS so that The Law Library uses MRBS so that students can book study rooms within the students can book study rooms within the librarylibrary
MRBS can be configured to work with LDAP MRBS can be configured to work with LDAP or Active Directoryor Active Directory
Setting up MRBSSetting up MRBS
Download and unpack file to htdocsDownload and unpack file to htdocs Set up database in phpMyAdminSet up database in phpMyAdmin Setup user and permissions in phpMyAdmin under Setup user and permissions in phpMyAdmin under
the SQL function:the SQL function:– GRANT SELECT, UPDATE, INSERT, DELETE, ALTER, GRANT SELECT, UPDATE, INSERT, DELETE, ALTER,
CREATE , LOCK TABLES ON databasename.* TO CREATE , LOCK TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password'; 'username'@'localhost' IDENTIFIED BY 'password';
– Setup the required tablesSetup the required tables– Configure config.inc.phpConfigure config.inc.php