shining a light on open source software: going beyond lampp serving web content using open source...

13
Shining A Light on Open Shining A Light on Open Source Software: Going Source Software: Going Beyond LAMPP Beyond LAMPP Serving Web Content Using Serving Web Content Using Open Source Software Open Source Software

Upload: cadence-bilson

Post on 01-Apr-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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

Page 2: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open 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)

Page 3: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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//

Page 4: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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.

Page 5: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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

Page 6: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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

Page 7: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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

Page 8: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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

Page 9: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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

Page 10: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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

Page 11: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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

Page 12: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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

Page 13: Shining A Light on Open Source Software: Going Beyond LAMPP Serving Web Content Using Open Source Software

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