Вы находитесь на странице: 1из 70

Joomla CMS and WordPress Blog

The Open Source Forest

Vicker Leung
(vicker@cityu.edu.hk)
Joomla
Content Management System (CMS)
Founded in 2005
GNU General Public License
PHP + MySQL

WordPress
CMS focusing on blog publishing
Founded in 2003
GNU General Public License v2
PHP + MySQL
Who Cares
when I have
all these?
Pros of Hosting Services

x Buy server

x Maintain

x Bandwidth

x Pay
<form method=”POST”>
! So what hosting
! services can’t give ME?
</form>
Personal Style

犀利哥
Brother Sharp
Lack of Customization
Standard Avatar Standard Content Layout
and Standard

Standard Brand...
Privacy

The Beast File: Google (ABC TC)


http://www.youtube.com/watch?v=R7yfV6RzE30
All about You!

Private Messages
Photos

Projects
Friends
Source Codes

Documents
Location
Bookmarks
Address Ideas
Emails
Financial Status
Telephone
Shutdown?

Google Page Creator


http://pages.google.com/

Yahoo! GeoCities
http://www.geocities.com/
Restore your Service?

Export feature?

Readable format?

Prior statistics?

User / Reader?

Search engine ranking?


<body>
! Then let’s build up
! the app from scratch
</body>
Time and Effort
Hundreds of Features to Implement

CAPTCHA
Attachments Mash Up
Security

Data Backup
Web Standards Content Editing
Authentication

Modules User Registration Spam Protection

RSS Feed SEO


Styling
Concurrent Access

Compatibility Data Import


Group Permission
Multilingual Content Statistics

Version Control Extensibility


Performance and
Security Concern
Issues You have to Tackle...

Content Protection Fake Cookies

Data Encryption Brute Force Attack


Infinite Loop
URL Injection

Invalid Token Memory Leak Obsolete CSS

SQL Injection
Weak Cipher SEO
Weak Admin Password
Cross-site Scripting
Wrong Permission Setting
Local Storage Hack Null Exception

Unauthorized Access
<!-- Copyleft -->
So why using
Open Source Software?
Works Out of the Box
As Easy As Pie...
Large Community
Really Large...

Joomla Extensions Directory 4,979 Extensions

WordPress Plugin Directory 9,726 Plugins

WordPress Free Theme Directory 1,199 Themes

Drupal Module List 7,132 Modules

Drupal Themes List 707 Themes


Be Yourself!
Have Your Own Style~
// What is CMS?
cms.what ();
Software with features that
ease the workflow of
content storage, editing and retrieval
in a collaborative environment
Content Storage

Traditional

Content Delete
User FTP Client Web Server
(text / photo) Outdated

CMS

Content CMS in Archive


User Web Server
(text / photo) Browser Outdated
Content Editing

Traditional

Version
Web Server FTP Client Users FTP Client
Conflicts

CMS

CMS in CMS in Other


Web Server Users
Browser Browser User
Content Retrieval

Traditional
www
www
www
Unauthorized
Web Server Separate URLs Users URL
User

CMS

CMS in User Rating


Role Permission Users RSS Feed
Browser and Comment
Let’s Joomla!
Preparation

Download the latest source - 1.5.17 Full Package

http://www.joomla.org

/var/Downloads/linux_workshop_downloads/joomla/
Joomla_1.5.17-Stable-Full_Package.zip

Create Joomla folder in web server and set permission

$ cd /var/www/workshop
$ sudo mkdir joomla
$ sudo chown root:www-data joomla
$ sudo chmod g+rwx joomla
Preparation (cont’)

Unzip Joomla package to joomla folder

Create joomla database

$ mysql -u root -p
mysql> create database joomla;
mysql> exit;
Installation

Browse to the Joomla directory in browser

http://localhost/workshop/joomla

Select Preferred Language

License Agreement
Installation (cont’)

Make sure all the


pre installation check is okay

(configuration.php Writable
is optional)

Proceed after the checking


Installation (cont’)

Enter Database information

Table Prefix can clearly


separate and avoid conflict
between different apps
in the same database

jos_user
jos_plugin
...
Installation (cont’)

Skip FTP configuration

Enter site information


Finish Installation

Remove installation folder

$ sudo rm -r /var/www/workshop/joomla/installation
Structure of Joomla

Search Module

Article Module
Articles
(latest 5 articles)

Discussion
Joomla! Module
Media LIbrary Image Module
(photo.jpg)

Advertisement
Module
Structure of Joomla (cont’)

Search Module

Navigation Module Article Module


Entering Joomla Administration

Enter the admin URL

http://localhost/workshop/joomla/administrator

Username is “admin”
Change Administrator Username

Prevent bot hacking

Site > User Manager

Select “Administrator”

Change Username
Adding / Editing Article

Content > Article Manager

New

Starting typing your content


Adding / Editing Module

Extensions > Module Manager

Select “Main Menu”

Change Position to “top”

Use template manager


to understand the position

Extensions > Template Manager >


Select template > Preview
Installing Plugin

Download the plugin

http://extensions.joomla.org

/var/Downloads/linux_workshop_downloads/joomla/
codecitation.1.3.1.zip
Installing Plugin (cont’)

Set folder permissions

$ cd /var/www/workshop/joomla

$ sudo chown root:www-data tmp


$ sudo chown root:www-data plugins
$ sudo chown root:www-data plugins/content
$ sudo chown root:www-data components
$ sudo chown root:www-data administrator/components
$ sudo chown root:www-data administrator/language/en-GB

$ sudo chmod g+rwx tmp


$ sudo chmod g+rwx plugins
$ sudo chmod g+rwx plugins/content
$ sudo chmod g+rwx components
$ sudo chmod g+rwx administrator/components
$ sudo chmod g+rwx administrator/language/en-GB
Installing Plugin (cont’)

Extensions > Extension Manager

Choose File

Upload File & Install

Extensions > Plugin Manager

Enable “Content - CodeCitation”


Testing Plugin

Content > Article Manager

Edit any article with the following

{codecitation class=”brush:javascript”}

function test_code_highlight
{
alert (“content”);
}

{/codecitation}
Installing Template

Download the template

http://www.siteground.com/joomla-hosting/joomla-templates.htm

/var/Downloads/linux_workshop_downloads/joomla/
siteground-j15-88.zip

Set folder permissions

$ cd /var/www/workshop/joomla
$ sudo chown root:www-data templates
$ sudo chown root:www-data language/en-GB
$ sudo chmod g+rwx templates
$ sudo chmod g+rwx language/en-GB
Installing Plugin (cont’)

Extensions > Extension Manager

Choose File

Upload File & Install

Extensions > Template Manager

Check “siteground-j15-88” then Press “Default”


It’s WordPress~!
Preparation

Download the latest source - 2.9.2

http://www.wordpress.org

/var/Downloads/linux_workshop_downloads/wordpress/
wordpress-2.9.2.zip

Create WordPress folder in web server and set permission

$ cd /var/www/workshop
$ sudo mkdir wordpress
$ sudo chown root:www-data wordpress
$ sudo chmod g+rwx wordpress
Preparation (cont’)

Unzip WordPress package to wordpress folder

Create wordpress database

$ mysql -u root -p
mysql> create database wordpress;
mysql> exit;
Installation

Browse to the WordPress directory in browser

http://localhost/workshop/wordpress

Create a Configuration File

Let’s go!
Installation (cont’)

Enter Database information

Table Prefix can clearly


separate and avoid conflict
between different apps
in the same database

wp_user
wp_plugin
...

Run the install


Installation (cont’)

Enter site information

Drop down the


admin password
Finish Installation
Structure of WordPress

Search Widget

Posts
(Blog entries)

Archive Widget
WordPress
Pages
(About Me)
RSS Widget
Structure of WordPress (cont’)

Search Widget

Archive Widget
Posts
Entering WordPress Administration

Enter the admin URL

http://localhost/workshop/wordpress/wp-admin

Username is “admin”

Change admin password


by clicking the notice
Adding / Editing Posts

Posts > Add New

Start typing your content

Permalinks allow better


Search Engine Optimization
(SEO) and URL readability

(http://codex.wordpress.org/
Using_Permalinks)
Installing Plugin

Download the plugin

http://www.wordpress.org/extend/plugins

/var/Downloads/linux_workshop_downloads/
wordpress/statpress.zip

Unzip package to the following folder

/var/www/workshop/wordpress/wp-content/plugins
Enabling Plugin

Plugins > Installed > Activate


Managing Widgets

Appearance > Widgets

Drag and Drop between “Available Widgets” and “Sidebar”


Installing Theme

Download the theme

http://www.wordpress.org/extend/themes

/var/Downloads/linux_workshop_downloads/wordpress/
freshy.2.1.2.zip

Unzip package to the following folder

/var/www/workshop/wordpress/wp-content/themes
Enabling Theme

Appearance > Themes > Activate


Other OSS
You will Love Them

Menalto Gallery Trac DokuWiki


(Flickr alternative) (Google Code alternative) (Wikipedia alternative)
http://gallery.menalto.com http://trac.edgewall.org http://www.dokuwiki.org/dokuwiki

Feng Office cyn.in Vanilla


(Basecamp alternative) (Facebook alternative) (Uwants alternative)
http://www.fengoffice.com http://www.cynapse.com/cynin http://vanillaforums.org
OSS Guidelines
Remind Yourself

Understand the builds


(Night, Alpha, Beta, Release Candidate and Stable)

Backup Frequently
(SQL Dump, File Sync, etc...)

Update ASAP and Read the Release Note

Have Fun

Contribute back to the OSS community


(Join testing program, report bug, theme and plugin dev.)
References

Joomla
WordPress
http://www.joomla.org
http://www.wordpress.org

Joomla Extensions WordPress Plugins


http://extensions.joomla.org http://www.wordpress.org/extend/plugins

CodeCitation (Joomla) WordPress Themes


http://www.smartsoftwarebits.com/codecitation
WordPress Themes (Free)
Joomla Templates http://www.wordpress.org/extend/themes/

SiteGround (Free) ThemeForest (Commerical)


http://www.siteground.com/ http://www.themeforest.net/
joomla-hosting/joomla-templates.htm category/wordpress

Google and Open Source


SourceForge
http://code.google.com/opensource/
http://www.sourceforge.org

Вам также может понравиться