72
PHP on i "the stack," web security, programming & applications The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 1 1 Wednesday, January 27, 2010

PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

PHP on i"the stack," web security, programming & applications

The OMNI PHP on IBM Power Systems SIG

Tuesday, January 26th, 2010

1

1Wednesday, January 27, 2010

Page 2: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

what we’ll cover…

• “the stack”

• web security

• programming

• applications

2

2Wednesday, January 27, 2010

Page 3: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

“the stack”

• what is “the stack” ?

• a standard execution environment

• OS, webserver, database, language

• i5/OS, Apache, MySQL, PHP or…

• iAMP for short!

3

3Wednesday, January 27, 2010

Page 4: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

stacks abound!

• LAMP ~ Linux, Apache, MySQL, PHP

• WAMP ~ Windows, Apache, MySQL, PHP

• XAMPP ~ Win/Lin, Apache, MySQL, PHP

• MAMP ~ Mac OS X, Apache, MySQL, PHP

• WIMP ~ Windows, IIS, MySQL, PHP

4

4Wednesday, January 27, 2010

Page 5: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

local stacks

• local development stacks

• a laptop “scratch” environment

• download & install

• access docs at “localhost”

• XAMPP, WAMP, MAMP etc.

5

5Wednesday, January 27, 2010

Page 6: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

remote stacks

• remote deployment stacks

• iAMP ~ Zend Core … Zend Server

• LAMP ~ your server, hosting plan, etc.

• always connected at www.domain.com

6

6Wednesday, January 27, 2010

Page 7: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

stacks on i

• we’re currently using Zend Core

• remote stack, installed by Mike P. & Joe T.

• Zend Server is in beta & coming soon…

• smoother installs, more like other stacks

7

7Wednesday, January 27, 2010

Page 8: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

starting with stacks

• simplest to install a local stack

• download stack & run installer

• preconfigured components

• run HelloWorld & go from there…

8

8Wednesday, January 27, 2010

Page 9: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

local dev stack

• start with a local stack installed on your personal machine

• speed process by installing a stack such as WAMP, XAMPP, or MAMP

• install all at once into a "sandbox" setup that can be accessed from a browser using "localhost" addresses

9

9Wednesday, January 27, 2010

Page 10: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

you can also…

• install the components of the stack individually, which allows…

• compiling components at specific releases

• including modules to extend components

• such installations beyond current scope

10

10Wednesday, January 27, 2010

Page 11: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

remote deployments

• same stacks, different purpose

• installed on server, up round the clock

• your production “target” stack

• after install & a few tweaks, we’re running PHP examples and Drupal

11

11Wednesday, January 27, 2010

Page 12: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

what does stack do?

• it handles web requests

• http = hypertext transfer protocol

• request received, response sent

• static, then dynamic, then database driven

• some examples…

12

12Wednesday, January 27, 2010

Page 13: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

static http request

• browser http request received by Apache

• Apache retrieves requested document from file system (IFS)

• Apache returns requested document to browser

13

13Wednesday, January 27, 2010

Page 14: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

dynamic http request

• browser http request received by Apache, retrieves from file system (IFS)

• Apache encounters php code, passes to PHP engine for execution

• PHP executes, returns result to Apache

• Apache merges dynamic result into document, returns it to browser

14

14Wednesday, January 27, 2010

Page 15: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

dynamic database

• like dynamic, but when evaluating php…

• PHP engine finds MySQL statements, runs them against configured database

• PHP results including database information returned to Apache

• Apache returns document to browser

15

15Wednesday, January 27, 2010

Page 16: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

local stack demos

• Matt on XAMPP ~ startup, HelloWorld

• Pat on WAMP ~ startup, HelloWorld

• Jerome on MAMP ~ startup, HelloWorld

16

16Wednesday, January 27, 2010

Page 17: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

edit as you please

• since web files are text…

• use text editor of your choice

• or graduate to an IDE…

• Zend Studio 7.1 for IBM i

• Eclipse based, similar to WDSc/RDi

17

17Wednesday, January 27, 2010

Page 18: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

scripts served…

• from web root (www, htdocs folder)

• locally, save to web root

• remotely, save & FTP to web root

• using IDE, set up connection to upload to web root when script file saved

18

18Wednesday, January 27, 2010

Page 19: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

communication tools

• SIG sessions were in person at first

• then with Mike remote, used a Webex

• since have met remotely using…

• Skype (free conference calls)

• Mikogo (free screen sharing)

19

19Wednesday, January 27, 2010

Page 20: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

questions?

20

20Wednesday, January 27, 2010

Page 21: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

web security

• web an open range

• some visitors are not your friends

• learn to secure stack before exposing it

• they have ways of finding you

21

21Wednesday, January 27, 2010

Page 22: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

permissions

• like object authorities, but… different

• be sure you’ve got ‘em set right

• not enough granted, won’t work

• too much granted, will get hacked

22

22Wednesday, January 27, 2010

Page 23: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

web server user

• create user specifically for web server use

• give this profile only needed permissions

• protect against exploits by denying writes

23

23Wednesday, January 27, 2010

Page 24: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

iAMP configuration

• done from green screen emulator, mostly

• WRKLNK for IFS

• call QP2TERM for Unix commands

• terminal interface for PASE

• PASE is (partial) AIX runtime on i

24

24Wednesday, January 27, 2010

Page 25: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

MySQL configuration

• first change dir to where MySQL lives

• cd /usr/local/mysql/bin

• most MySQL functions can be run here

• if you see it in a (red) book…

• Discovering MySQL on IBM i5/OS

• http://www.redbooks.ibm.com/

25

25Wednesday, January 27, 2010

Page 26: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

logging on to MySQL

• mysqladmin -u root status

• set root password for public stacks!

• create database users

• webserver user

• developer users

26

26Wednesday, January 27, 2010

Page 27: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

logged on to MySQL

• mysqladmin -u root ping (mysqld is alive)

• use MySQL; (the database’s database)

• create new database(s) for development or installation of apps

• create database <databasename>;

• simpler to use… PHPMyAdmin

27

27Wednesday, January 27, 2010

Page 28: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

core, platform, server

• Zend Core ~ original PHP runtime

• Zend Platform ~ administration tools

• Zend Server ~ next gen, combines both Core & Platform, adds more

• jobq, code trace, big performance gains…

28

28Wednesday, January 27, 2010

Page 29: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

Zend Core

• demonstrate our QZ command

• shows our iAMP stack running on i

29

29Wednesday, January 27, 2010

Page 30: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

monitoring Zend Core

• wrkactjob on sbs zend, qhttpsvr, zmysql

• QZ shows our iAMP stack running on i

• watch & learn what jobs should be in each

• httpd jobs in zend, zmysqld in zmysql

• zendcore/zcmenu for manual starts/stops

30

30Wednesday, January 27, 2010

Page 31: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

who’s this NOBODY?

• our default Zend Core PASE user

• everything from browser is served by jobs running as NOBODY

• so give NOBODY only what’s needed

31

31Wednesday, January 27, 2010

Page 32: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

setting MySQL root

• mysqladmin -u root password ‘<value>’

• save in safe place (like QSECOFR)

32

32Wednesday, January 27, 2010

Page 33: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

specifying password

• after you’ve set root, need to log on

• mysqladmin -u root --password=<value>

• or better…

• mysqladmin -u <acct> --password=<value>

33

33Wednesday, January 27, 2010

Page 34: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

adding a user

• mysql -u <acct> --password=<value> mysql -e "insert into user (host, user, password) values ('%', '<newacct', 'newvalue')"

• or use PHPMyAdmin…

34

34Wednesday, January 27, 2010

Page 35: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

grant privileges

• giving it all away…

• mysql -u <acct> --password=<value> mysql -e "grant <some privileges> on *.* to '<newacct>'@'%' identified by '<newacct>' with grant option"

• consult documentation to understand what you might prefer for <some privileges>…

35

35Wednesday, January 27, 2010

Page 36: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

flush privileges

• makes updates take effect on running DB

• mysql -u <acct> --password=<value> mysql -e "flush privileges"

36

36Wednesday, January 27, 2010

Page 37: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

using MySQL monitor

• mysql -u <acct> --password=<value>

• mysql> (command line)

• terminate commands with “;”

• use mysql;

• select user, password from user;

37

37Wednesday, January 27, 2010

Page 38: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

updating passwords

• UPDATE mysql.user SET Password=PASSWORD('<value>') WHERE User='<acct>';

• FLUSH PRIVILEGES;

38

38Wednesday, January 27, 2010

Page 39: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

establishing Drupal

• installation of codebase via FTP, but…

• install script won’t run, not much error…

• turns out… permissions outstanding

• shell commands revised them…

39

39Wednesday, January 27, 2010

Page 40: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

other admin tasks

• but we’re programmers!

• still need to provide for backups

• save directory structure and contents

• also database restore script

• check application recommendations

40

40Wednesday, January 27, 2010

Page 41: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

questions?

41

41Wednesday, January 27, 2010

Page 42: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

pizza!

42

42Wednesday, January 27, 2010

Page 43: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

programming

• start with HelloWorld.php

• then return to admin world with phpinfo();

• but don’t leave it showing!

• enhance HelloWorld.php while doing basic PHP coding exercises

• this isn’t all that different, and…

43

43Wednesday, January 27, 2010

Page 44: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

understand & demo

• try out language constructs

• wonder, adjust, revise… it’s the same stuff

• lots of nice functions to make things easier

• great function library documentation

• look before you write!

44

44Wednesday, January 27, 2010

Page 45: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

work together

• we’re doing so

• ask questions, research answers (google it!)

• view the source in the browser (!)

• keep & tend an open issues list

• follow a guidebook

45

45Wednesday, January 27, 2010

Page 46: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

programming demo

• language construct basics

• much is the same, so…

• what’s different from what we’re used to?

46

46Wednesday, January 27, 2010

Page 47: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

http interactions

• browser introduces a world of forms and widgets

• stateless, intermittently connected

• start with simple html & build on it

• hidden form variables

• retrieving POST variables

47

47Wednesday, January 27, 2010

Page 48: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

starting with forms

• .html doc with <form> </form> elements

• .php script to handle form POST request

48

48Wednesday, January 27, 2010

Page 49: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

single script forms

• includes html text creation in script

• assembles html in variable

• or puts/prints html to stream

• is this first or subsequent execution?

• first ~ displays entry form

• subsequent ~ processes form request

49

49Wednesday, January 27, 2010

Page 50: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

forms handling MySQL

• initialize database

• issue database commands

• handle result sets with array functions

• as complexity builds…

• learn to use objects

50

50Wednesday, January 27, 2010

Page 51: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

questions?

51

51Wednesday, January 27, 2010

Page 52: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

applications

• thus far we’ve worked with Drupal

• later interested in SugarCRM

• many open source applications available

• want to look into one with the SIG?

52

52Wednesday, January 27, 2010

Page 53: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

Drupal basics

• Drupal = Content Management Framework

• flexible website construction toolkit

• modules & themes provide simple extensions to do more complex things

53

53Wednesday, January 27, 2010

Page 54: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

Drupal experience

• investigated Drupal 1st on MAMP / XAMPP

• prototyped sites to replace manual sites

• so felt able to “give it a go” on i

• delayed by permissions issues

• had to use ProxyPreseveHost On directive in Apache httpd.conf (Zend Core issue)

54

54Wednesday, January 27, 2010

Page 55: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

installed Drupal

• no different than on local stack

• started building out a SIG site at…

• http://www.theomniuser.com/drupal

• doesn’t yet have an email server…

• so have to set password after new user signup, can’t yet get signup emails

55

55Wednesday, January 27, 2010

Page 56: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

using Drupal

• simple but structured out of box

• support for users, roles, privileges

• all content is nodes

• start with content types Page & Story

• build out menus while adding Pages

56

56Wednesday, January 27, 2010

Page 57: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

theomniuser.com/drupal

• demonstrate site as it is today

• anonymous, menus, pages, logon

• maintenance ~ adjust page title, menu name

• add new SIG only page on nav menu

• logoff, SIG page not shown

57

57Wednesday, January 27, 2010

Page 58: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

learning Drupal

• recommend “Using Drupal” (O’Reilly)

• intro and case studies galore

• not programming, but deploying the application in different ways

• adding custom content types with additional fields, etc…

58

58Wednesday, January 27, 2010

Page 59: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

multi-site experiments

• share base, module and theme code between multiple instances

• allows “virtual” sites for variations and experiments

• we’ve yet to get to this one…

59

59Wednesday, January 27, 2010

Page 60: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

module wonderland

• “there’s a module for that”

• or maybe more than one

• so need to learn about them and evaluate

• drupal.org and google about candidates

• test before deploying

60

60Wednesday, January 27, 2010

Page 61: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

our modules thus far

• Content Access

• Provides flexible content security

• Administration Menu

• Provides dropdown admin menus

61

61Wednesday, January 27, 2010

Page 62: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

adding modules

• demonstrating add of Admin menu module

• since there, turn off & remove

• download, unpack, upload, set privileges

• turn on module, give to Admins

62

62Wednesday, January 27, 2010

Page 63: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

soon to come…

• IMCE & FCKEditor

• image uploading & WYSIWYG editor

• CCK & Views

• custom content types with fields

• flexible content retrievals (Drupal query builder)

63

63Wednesday, January 27, 2010

Page 64: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

flexible themes

• download themes like modules

• choose something close

• make simple overrides with CSS

• other overrides with template files

• lots of free & paid themes, customizers

64

64Wednesday, January 27, 2010

Page 65: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

theme demo

• show theme list

• adjust default theme

• change it back

65

65Wednesday, January 27, 2010

Page 66: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

simpler user entry

• demo Matt’s site with IMCE & FCKEditor

• upload image

• create post with WYSIWYG editor

66

66Wednesday, January 27, 2010

Page 67: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

manage events

• demo Jerome’s site with Calendar & Event modules

• add event, show on list

67

67Wednesday, January 27, 2010

Page 68: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

resources

• if wondering, google it (fallback default)

• if you’re stumped, ask us about it!

• Mocha emulator www.mochasoft.dk

• Zend Studio IDE www.zend.com

68

68Wednesday, January 27, 2010

Page 69: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

books

• PHP, MySQL and Apache All in One

• Julie C. Meloni, SAMS Teach Yourself

• Using Drupal

• Angela Byron et al, O’Reilly

• IBM i Programmer’s Guide to PHP

• Jeff Olen & Kevin Schroeder, MC Press

69

69Wednesday, January 27, 2010

Page 70: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

sites

• google.com (questions?)

• w3schools.com (html, css… tutorials!)

• php.net (language doc, function guide)

• opensourcecms.com (application directory)

• drupal.org (project, documentation)

• drupaltherapy.com (video tutorials)

70

70Wednesday, January 27, 2010

Page 71: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

meetup groups

• OMNI PHP on Power System SIG!

• Fox Valley Computing Professionals

• Fox Valley Drupal Meetup

• West Suburban PHP Meetup

• find these groups and more…

• http://www.meetup.com

71

71Wednesday, January 27, 2010

Page 72: PHP on i - omniuser.org · The OMNI PHP on IBM Power Systems SIG Tuesday, January 26th, 2010 local dev stack • start with a local stack installed on your personal machine • speed

The OMNI PHP on IBM Power Systems SIGTuesday, January 26th, 2010

to interact with us…

• download these tools…

• www.skype.com

• www.mikogo.com

• email us to be included!

• we’ll announce more going forward…

72

72Wednesday, January 27, 2010