Open Source CMS (Content management system) creation with Joomla!
The system includes features such as page caching
to improve performance, RSS
feeds, printable versions of pages, news flashes, blogs, polls, website searching, and language internationalization.
It is written in the PHP
programming language and uses the MySQL
database system to store information.
plugins for Joomla!:
Joomla! Quick start: http://help.joomla.org/ghop/feb2008/task167/index.html
Example website: http://www.unric.org/
Setup a local server to work with Joomla!
- XAMPP webserver http://www.apachefriends.org/en/xampp.html
install a virtual host: http://linuxindo.web.id/2008/11/29/howto-install-and-setting-up-lamppxampp/
Turning Register Globals Off (using .htaccess)
A particular PHP setting which helps increase or decrease dramatically the security of your site. By default some web servers come with register globals ON which is not the optimum setting. To turn Register Globals off you only need to add the following line to your .htaccess and save:
php_flag register_globals off
Hack for PNG transparency in IE version <7.0
this is needed to get a customized upper left side logo or banner image properly display transparency in crappy M$ Internet Explorer browsers
<!--[if lt IE 7]>
function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion)
if ((version >= 5.5) && (document.body.filters))
for(var i=0; i<document.images.length; i++)
var img = document.images[i]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "(src=\\'" + img.src + "\\', sizingMethod='scale');\\"></span>"
img.outerHTML = strNewHTML
i = i-1
All Videos Reloaded plugin bug
The error message looks something like:
Warning: Invalid argument supplied for foreach() in /home/hanksmed/public_html/administrator/components/com_avreloaded/views/insert/view.html.php on line 190
While the error message is quite strange, the solution is quite simple: you forgot the "audio" repository. I notice that even if you have no audio file you MUST have the directory created.
- on Joomla_1.5.8 the error message is almost easy to understand
- on Joomla_1.5.9 you're completly blind.
Conclusion: MUST CREATE ==> images/stories/videos and images/stories/audio and everything will work perfectly.
Migration Joomla to remote server
Export the database
Export your local Joomla! database into an SQL file. The SQL file will contain all of the necessary SQL commands for creating your database tables and filling them with your data. Be sure you export the entire database. You can easily use phpMyAdmin both locally (it is installed by default along with XAMPP, you can find it in XAMPP control panel) and on your remote server. This would enable you to export your entire database to an SQL file.
Every Joomla! installation has a configuration file in its root directory called configuration.php. This file stores basic configuration information that Joomla! uses throughout the system. Most of the parameters in the file will stay the same, but some will change due to the different settings on the two servers:
$host - This value is the database host. In most cases, this is "localhost" however you would definitely have to change this for your remote setup. Ask your webhosting provider for the database name as well as for the following parameters.
$user - This is the database user.
$password - This is the database user's password. $db - This is the database name. $ftp_host - In most cases, the FTP host will be "127.0.0.1".
$ftp_port - In most cases, the FTP port will be "21," but if your server uses a different port you will change it here. $ftp_user - This is your FTP username. $ftp_pass - This is your FTP password. $ftp_root - This is the root path to which your FTP user has access. $tmp_path - This is the absolute path to the tmp directory on your server. It will probably look something like "/path/to/joomla/installation/tmp." $log_path - This is the absolute path to the logs directory on your server. It will probably look something like "/path/to/joomla/installation/logs." $offset - This is the time zone offset for your server. For example, if your company is in one time zone, but your server is in a time zone two hours ahead, you will need to see this to "-2." $live_site - This parameter is optional. You can probably leave it blank, but if you use it, this is the URL of your site. It will probably look something like "http://www.example.com" or "http://www.example.com/joomla." $sendmail - This is the path to the sendmail program on your server. If you are not using sendmail, you can ignore this. $smtpuser - This is the username for your SMTP server. If you are not using your SMTP server for sending e-mails from your site, you can ignore this. $smtppass - This is the password for your SMTP server. If you are not using your SMTP server for sending e-mails from your site, you can ignore this. $smtphost - This is the host name or IP address for your SMTP server. If you are not using your SMTP server for sending e-mails from your site, you can ignore this. Upload all of your files to the other server
Using an FTP client application (like FileZilla
), upload all of your files to the location on your new server where you want to install Joomla!.
Import your database to the new MySQL database
Using phpMyAdmin import your local database into your new database using the .sql files you previously generated
If you get error
error #1046 - No database selected
you have not opened any remote databse to insert local tables in! Do open one remote database with phpmyadmin and then
import the previously exported tables.
Test your new installation
For example, if you did not use relative URLs for your links on your old server, they may not work properly on your new server.