Diff for "Joomla"


Differences between revisions 21 and 22
Revision 21 as of 2009-03-27 01:17:40
Size: 8763
Editor: adsl-75-13-203-85
Comment: Changed headings (and some titles) to make major sections stand-out more; added some updated comments; added new section re Administration
Revision 22 as of 2009-03-27 01:25:01
Size: 8835
Editor: adsl-75-13-203-85
Comment: Added some more comments; fixed some headers that weren't auto-formatting
Deletions are marked like this. Additions are marked like this.
Line 81: Line 81:
-- Configure Access Rights -- == Configure Access Rights ==
Line 125: Line 125:
== Configure MySQL database with a user and password ==

You need to create a database. You can do this with PhpMyAdmin or via the command line:
== Configure MySQL ==

You need to create a new database dedicated to Joomla. You can do this with PhpMyAdmin or via the command line:

''I believe the Joomla 1.5 install does it automatically, and prompts you for a name''
Line 220: Line 222:
- The Administator menus are non-intuitive at first, mostly because they refer to an advanced system of Content Types
- The most high-level form of editing is done in Extensions > Module Manager.
 *The Administator menus are non-intuitive at first, mostly because they refer to an advanced system of Content Types
 *The most high-level form of editing is done in Extensions > Module Manager.
Line 227: Line 229:
  General grouping (with Categories and Articles beneath it)
  FYI - The 'order' the Sections are listed in the Section Manager is just cosmetic.
 *General grouping (with Categories and Articles beneath it)
 *FYI - The 'order' the Sections are listed in the Section Manager is just cosmetic.
Line 231: Line 233:
  Each Category grouping is assigned to a Section  *Each Category grouping is assigned to a Section
Line 234: Line 236:
  Main form of individual content!
  Must be assigned a Section and Category; you cannot mismatch these, i.e., choose a Category from an unselected Section.
  Can also be assigned to the Front Page (separate from the required Section/Category assignment)
 *Main form of individual content!
 *Must be assigned a Section and Category; you cannot mismatch these, i.e., choose a Category from an unselected Section.
 *Can also be assigned to the Front Page (separate from the required Section/Category assignment)
Line 239: Line 241:
  Each link is assigned a 'type' e.g. blog listing (with assigned Section/Category)  *Each link is assigned a 'type' e.g. blog listing (with assigned Section/Category)
Line 243: Line 245:
  Menu items link to pre-defined module-types, or to stand-alone Modules.
  Not every Template displays every Menu, e.g. RokWebify only displays "top"
  Menu items can be moved between menus by editing them (in their original location)
 *Menu items link to pre-defined module-types, or to stand-alone Modules.
 *Not every Template displays every Menu, e.g. RokWebify only displays "top"
 *Menu items can be moved between menus by editing them (in their original location)
Line 248: Line 250:
  Groups of content which can assigned on-screen areas.
  Some modules let you add other Content, others are pre-defined, e.g. Breadcrumbs.
  Module positioning is specified as left, right, or footer.
 *Groups of content which can assigned on-screen areas.
 *Some modules let you add other Content, others are pre-defined, e.g. Breadcrumbs.
 *Module positioning is specified as left, right, or footer.
Line 253: Line 255:
  A 'special' screen with it's own layout settings
  Individual articles can be 'forced' to the Front Page;
 
not recommended except for permanent info.
 *A 'special' screen with it's own layout settings
 *Individual articles can be 'forced' to the Front Page; not recommended except for permanent info.
Line 258: Line 259:
  Pre-defined set of menus, module positions and artwork.
  Different templates support different positioning options.
  If you switch templates you may end-up with unexpected positioning changes
  e.g. if a module is 'assigned' to an unsupported position-option.
  If you switch templates you may lose menus, ie., they'll still be defined in Admin
  but ignored by template.
  
You can customize the XML/CSS of templates but you risk breaking things.
 *Pre-defined set of menus, module positions and artwork.
 *Different templates support different positioning options.
 *If you switch templates you may end-up with unexpected positioning changes, e.g. if a module is 'assigned' to an unsupported position-option.
 *If you switch templates you may lose menus, ie., they'll still be defined in Admin but ignored by template.
 *You can customize the XML/CSS of templates but you risk breaking things.

Tag/tag.png

Needs Expansion
This article is incomplete, and needs to be expanded. More info...

About Joomla!

Joomla! is an award-winning Content Management System (CMS) that will help you build websites and other powerful online applications. Modern CMSes like Joomla allow you to organize and update web-sites without using any local editor; all editing is done online.

This guide applies to Ubuntu 6.06 LTS (Dapper Drake) as well as to 7.04 (Feisty Fawn)

need to update for Ubuntu 8.x

Quick pre-configured alternatives

An Ubuntu-based Joomla appliance is one of the easiest ways to get up and running with Joomla 1.5.x on Ubuntu. It's part of a family of pre-integrated TurnKey Linux Software Appliances based on Ubuntu 8.04.2 (Hardy LTS).

Pre-Install Requirements

Note that this guide applies to Joomla! 1.0. Installing Joomla! 1.5 requires some additional steps.

we should probably replace all the 1.0 references with 1.5 since any new install should be done with 1.5 ?

1. Install the LAMP stack

Use any method to install the Apache2, Mysql and Php stack. You will need the following packages:

apache2 php5-mysql libapache2-mod-php5 mysql-server

Set a mysql-root password (not the same as a root password, but a password for mysql)

mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
mysql> SET PASSWORD FOR 'root'@'yourhostname' = PASSWORD('yourpassword');

Where you should change 'yourhostname' in last line. Each successful mysql command will show:

Query OK, 0 rows affected (0.00 sec)

Quit the mysql prompt:

mysql> \q

You should now have a functional LAMP stack and a password for the mysql root user.

Visit Apache PHP MySQL for more information on LAMP.

2. Download Joomla!

You should download the latest stable version from the official Joomla Download page. Unpack it and then copy it to your webserver directory.

NOTE - the default root directory for Apache2 is /var/www. If you intend to use Joomla exclusively you don't need to create a 'joomla' sub-folder as instructed in their official documentation.

# Change for new version
SOURCEPKG=Joomla_1.0.15-Stable-Full_Package.tar.bz2
SOURCEWWW=http://joomlacode.org/gf/download/frsrelease/6828/22536/Joomla_1.0.15-Stable-Full_Package.tar.bz2

# Get it
mkdir joomla
cd joomla
wget $SOURCEWWW

# Unpack it
tar xvjf $SOURCEPKG

# Cleanup
rm -f $SOURCEPKG

# Move
cd ..
sudo mv joomla /var/www/

3. Configure Access Rights

The default folder rights will block various Joomla functions so you need to change the rights. There is the quick/easy way, and the more sophisticated way; choose one:

# 1. Allow writing in whole joomla subtree
sudo chown -R www-data:www-data /var/www/joomla

# 2. Allow writting only in places Joomla! needs to write to (more secure)
sudo chown -R root:root /var/www/joomla
cd /var/www/joomla
PLACES='
administrator/backups
administrator/components
administrator/modules
administrator/templates
cache
components
images
images/banners
images/stories
language
mambots
mambots/content
mambots/editors
mambots/editors-xtd
mambots/search
media
modules
templates
'
for i in $PLACES; do
    sudo chown -R www-data:www-data $i
done

Handle file and directory permissions:

cd /var/www/joomla
sudo find . -type f -exec chmod 644 {} \;
sudo find . -type d -exec chmod 755 {} \;

4. Configure MySQL

You need to create a new database dedicated to Joomla. You can do this with PhpMyAdmin or via the command line:

I believe the Joomla 1.5 install does it automatically, and prompts you for a name

mysqladmin -u root -p create joomla

Where joomla is the name you picked for the mysql database that joomla will use. You can call it anything you want.

mysql -u root -p

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON joomla.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword';

You do not want to have Joomla use the mysql root user to access the database. The above command creates a mysql user (other than the mysql root user) with some priviledges to use the joomla database. You will need to chose the yourusername and yourpassword. If the command was successful, activate the new permissions:

mysql> FLUSH PRIVILEGES;

Quit the mysql prompt:

mysql> \q

Open history file for MySQL commands and delete the above SQL, since the password is in readable format!

gedit ~/.mysql_history

5. Reload Apache2

You may need to force-reload apache2 so that it knows to use the php module if you haven't done so since you installed the LAMP stack.

sudo /etc/init.d/apache2 restart

Perform Joomla Installation

Point your browser to localhost/joomla, and follow the onscreen instructions.

1. Pre-installation check

If everything is listed in green, you may proceed.

2. Licence

Joomla! is GPLed.

3. Database configuration

Configure the database name, username and password.

4. Name your site

Give your site a name

5. More site information

Enter site URL and administrator user and password

6. Finish install and remove installation directory

You will be asked to remove the installation directory once configuration is complete.

sudo rm -R /var/www/joomla/installation/

Please refer to the Joomla! installation manual for more details, specially to Joomla! Administrator's Security Checklist.

Basics of Administering Joomla

There is a "Quick Start Guide" on the official Joomla.org web-site which does a walk-through of the install, as well as using several of the administration features. One thing it does not do is provide a 'philosophical' overview of how Joomla organizes things.

Quick Points:

  • The Administator menus are non-intuitive at first, mostly because they refer to an advanced system of Content Types
  • The most high-level form of editing is done in Extensions > Module Manager.

This section needs a lot of work!!

1. Types of Content

Sections

  • General grouping (with Categories and Articles beneath it)
  • FYI - The 'order' the Sections are listed in the Section Manager is just cosmetic.

Categories

  • Each Category grouping is assigned to a Section

Articles

  • Main form of individual content!
  • Must be assigned a Section and Category; you cannot mismatch these, i.e., choose a Category from an unselected Section.
  • Can also be assigned to the Front Page (separate from the required Section/Category assignment)

Menu Links

  • Each link is assigned a 'type' e.g. blog listing (with assigned Section/Category)

2. Types of Layout

Menus

  • Menu items link to pre-defined module-types, or to stand-alone Modules.
  • Not every Template displays every Menu, e.g. RokWebify only displays "top"

  • Menu items can be moved between menus by editing them (in their original location)

Modules

  • Groups of content which can assigned on-screen areas.
  • Some modules let you add other Content, others are pre-defined, e.g. Breadcrumbs.
  • Module positioning is specified as left, right, or footer.

Front Page

  • A 'special' screen with it's own layout settings
  • Individual articles can be 'forced' to the Front Page; not recommended except for permanent info.

Templates

  • Pre-defined set of menus, module positions and artwork.
  • Different templates support different positioning options.
  • If you switch templates you may end-up with unexpected positioning changes, e.g. if a module is 'assigned' to an unsupported position-option.
  • If you switch templates you may lose menus, ie., they'll still be defined in Admin but ignored by template.
  • You can customize the XML/CSS of templates but you risk breaking things.

Joomla (last edited 2021-10-12 01:49:26 by arthurjohnston)