This document guides you through the manual installation of Joomla! on '''Debian GNU Linux''' or one of its derivatives such as '''Ubuntu''', '''Knoppix''' or '''GRML'''. Note that this guide applies to Joomla! {{JVer|1.5}} & {{JVer|1.6}}. It has been successfully tested on Debian 4.0 [Etch], Debian 5.0 [Lenny], Ubuntu 8.04 LTS [Hardy Heron] and Ubuntu 10.10 [maverick]. It will work for all '''Debian''' based Linux distribution as well.

+

This document guides you through the manual installation of Joomla! on '''Debian GNU Linux''' or one of its derivatives such as '''Ubuntu''', '''Knoppix''' or '''GRML'''. Note that this guide applies to Joomla! {{JVer|1.5}} {{JVer|1.6}} {{JVer|1.7}} {{JVer|2.5}}. It has been successfully tested on Debian 4.0 [Etch], Debian 5.0 [Lenny], Ubuntu 8.04 LTS [Hardy Heron], Ubuntu 10.10 [maverick] and Ubuntu 11.10 (Oneiric Ocelot). It will work for all '''Debian''' based Linux distribution as well.

−

Also note that this guide assumes, you're installing Joomla! in a '''single hosting''' environment, running PHP as module. If you want to run multiple web sites as a web hosting service provider, for security reasons you should consider setting up an suPHP (php5-cgi, libapache2-mod-suphp) environment, where every virtual apache host runs under its own UID.

+

Also note that this guide assumes, you're installing Joomla! in a '''single hosting''' environment, running PHP as module. If you want to run multiple web sites as a web hosting service provider, for security reasons you should consider setting up an suPHP (php5-cgi, libapache2-mod-suphp) environment, where every virtual Apache host runs under its own UID.

== Installing Joomla! ==

== Installing Joomla! ==

Line 9:

Line 9:

You will need to install apache2, mysql-server-5.0, mysql-client-5.0 and php5 in order to have a web-server for Joomla!.

You will need to install apache2, mysql-server-5.0, mysql-client-5.0 and php5 in order to have a web-server for Joomla!.

(replace ''xampp-linux-1.7.4.tar.gz'' with the version of xammp you downloaded).

+

Download [http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/ XAMPP] for Linux to your your Home folder.

−

It has been reported that the MYSQL database of xampp 1.7.4 does not work with Joomla 1.5.22

+

+

=== Install XAMPP ===

+

Open Terminal and enter:

+

+

<source lang="bash">

+

sudo tar xvfz xampp-linux-1.8.1.tar.gz -C /opt

+

</source>

+

+

(replace ''xampp-linux-1.8.1.tar.gz'' with the version of XAMPP you downloaded).

This installs ... Apache2, mysql and php5 as well as an ftp server.

This installs ... Apache2, mysql and php5 as well as an ftp server.

−

+

−

''sudo /opt/lampp/lampp start''

+

<source lang="bash">

+

sudo /opt/lampp/lampp start

+

</source>

and

and

−

''sudo /opt/lampp/lampp stop''

+

<source lang="bash">

+

sudo /opt/lampp/lampp stop

+

</source>

starts/stops all the services

starts/stops all the services

−

=== Test your xammp localhost server ===

+

=== Test your XAMPP localhost server ===

Open your Browser and point it to

Open your Browser and point it to

http://localhost

http://localhost

The index.php will redirect to

The index.php will redirect to

−

http://localhost/xammp

+

http://localhost/xampp

+

+

There you will find instructions on how to change default usernames/passwords. On a PC that does not serve files to the Internet or LAN then changing the defaults is personal choice.

−

There you will find instructions on how to change default usernames/passwords. On a PC that does not server files to the Internet or LAN then changing the defaults is personal choice.

+

=== Multiple Versions of XAMPP ===

+

It can be useful to have access to several versions of XAMPP on your PC (e.g to have available different versions of PHP for testing). XAMPP doesn't make this easy but it is possble - see [http://www.jamesbrice.com/multiple-xampp-versions "how to" article here] (for Linux only).

'''N.B.''' Ubuntu 11.10 needs ''python-glade2'' installed in order to run the GUI. ''python-glade2'' can be found in the Ubuntu Software Center.

== LaMp ==

== LaMp ==

−

You will find instructions on [http://wiki.debian.org/LaMp wiki.debian.org]. Make sure that you have installed bzip2 for extracting the downloaded Joomla! package.

+

You will find instructions on [http://wiki.debian.org/LaMp wiki.debian.org]. Make sure that you have installed bzip2 for extracting the downloaded Joomla! package.

You can check this by the following command:

You can check this by the following command:

−

$ dpkg -l | awk '/^ii bzip2/ {print $1" "$2}'

+

<source lang="bash">

−

ii bzip2

+

$ dpkg -l | awk '/^ii bzip2/ {print $1" "$2}'

+

ii bzip2

+

</source>

Note that the dollar sign '$' shell prompt is indicating you're a ''regular user''. We will later see a hash mark (#) shell prompt, which indicates that you're the super user ''root'' after issuing an '''su''' or '''sudo'''. The first policy for a secure linux system administration on the command line (but under X also) is to issue commands with the lowest permission as possible.

Note that the dollar sign '$' shell prompt is indicating you're a ''regular user''. We will later see a hash mark (#) shell prompt, which indicates that you're the super user ''root'' after issuing an '''su''' or '''sudo'''. The first policy for a secure linux system administration on the command line (but under X also) is to issue commands with the lowest permission as possible.

If bzip2 is not installed, you won't get an output. Then you can quickly install it via aptitude:

If bzip2 is not installed, you won't get an output. Then you can quickly install it via aptitude:

−

$ su -c "aptitude install bzip2"

+

<source lang="bash">

+

$ su -c "aptitude install bzip2"

+

</source>

Here we see the first command executed with toot permissions, because a regular user is not allowed to install new software. The '-c' option passes the following command to '''su''' and hereafter it terminates instead of switching to a root shell.

Here we see the first command executed with toot permissions, because a regular user is not allowed to install new software. The '-c' option passes the following command to '''su''' and hereafter it terminates instead of switching to a root shell.

+

+

=== Configure PHP5 ===

+

in the pre install check [ you get to that when the install is complete and are setting up Joomla at the web page ], Output Buffering was On and it's recommended that it should be Off .to do so

+

edit /etc/php5/apache2/php.ini , comment out this line: output_buffering = 4096 , by putting a ';' in front. it'll look like this when done:

+

;output_buffering = 4096

+

+

there were also warnings on the install screen regarding suhosin . to make the suggested changes, edit this file:

+

/etc/php5/conf.d/suhosin.ini

+

I set these :

+

<pre>

+

suhosin.post.max_array_index_length = 256

+

suhosin.post.max_totalname_length = 8192

+

suhosin.post.max_vars = 2048

+

suhosin.request.max_array_index_length = 256

+

suhosin.request.max_totalname_length = 8192

+

suhosin.request.max_vars = 2048

+

</pre>

=== Configure MySQL ===

=== Configure MySQL ===

It is time to create a database for Joomla! You can do this by the following commmands:

It is time to create a database for Joomla! You can do this by the following commmands:

−

$ mysqladmin -u root -p create joomla

+

mysqladmin -u root -p create joomla

+

You may replace ''joomla'' with the name of choice for Joomla!'s database.

You may replace ''joomla'' with the name of choice for Joomla!'s database.

−

Now create a MySQL user different from root for Joomla!'s database

+

Now create a MySQL user different from root for Joomla!'s database. first enter into mysql system with:

Then at the 'mysql>' prompt enter the following. Make sure you replace ''joomla'' with the name of Joomla!'s database from above. Replace ''yourusername'' with the user name you choose for the MySQL user accessing Joomla!'s database, and replace ''yourpassword'' with your password of choice for the MySQL user.

−

-> ON joomla.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword';

LOCK TABLES ON joomla.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword';

+

</source>

+

Activate the settings and quit : [ there will be a mysql> prompt:

+

FLUSH PRIVILEGES;

+

\q

−

Make sure you replace ''joomla'' with the name of Joomla!'s database from above. Replace ''yourusername'' with the user name you choose for the MySQL user accessing Joomla!'s database, and replace ''yourpassword'' with your password of choice for the MySQL user.

−

−

Activate the settings and quit :

−

mysql> FLUSH PRIVILEGES;

−

mysql> \q

After disconnecting from the database server, you should remove the login information of your just new created MySQL user by editing MySQL's history file.

After disconnecting from the database server, you should remove the login information of your just new created MySQL user by editing MySQL's history file.

−

$ vi ~/.mysql_history

+

vi ~/.mysql_history

+

You can use any editor of your choice such as '''nano''', '''vi''' or '''emacs''' that is installed on your system.

You can use any editor of your choice such as '''nano''', '''vi''' or '''emacs''' that is installed on your system.

=== Get Joomla! source ===

=== Get Joomla! source ===

−

Now it is time to download the Joomla! sources. Currently you will find download links on the [http://joomlacode.org/download.html joomlacode.org] download page. For version 1.5.11, you may do the following from command line, assuming your current working directory is your home folder '''/home/user''':

+

Now it is time to download the Joomla! sources. Currently you will find download links on the [http://joomlacode.org/download.html joomlacode.org] download page. For version 1.5.11, you may do the following from command line, assuming your current working directory is your home folder '''/home/user''':

You may want to check http://joomlacode.org/gf/project/joomla/frs/ for an updated package.

+

Here is the first time we see this hash mark (#) shell prompt. We call '''su''' without any options, because we want to issue root commands more than only one time. Calling '''su''' that way will prompt us for the super user's password and then change the actual shell environment, repectively $UID and $EUID.

Here is the first time we see this hash mark (#) shell prompt. We call '''su''' without any options, because we want to issue root commands more than only one time. Calling '''su''' that way will prompt us for the super user's password and then change the actual shell environment, repectively $UID and $EUID.

Line 174:

Line 229:

=== Set ownerships and permissions ===

=== Set ownerships and permissions ===

If you want to allow writing in the entire joomla folder, simply do

If you want to allow writing in the entire joomla folder, simply do

−

# chown -R www-data:www-data /var/www/joomla

+

+

<source lang="bash">

+

chown -R www-data:www-data /var/www/joomla

+

</source>

If you want a more restrictive approach, do this instead:

If you want a more restrictive approach, do this instead:

−

# chown -R root:root /var/www/joomla

+

<pre>

−

# cd /var/www/joomla

+

chown -R root:root /var/www/joomla

−

# PLACES='

+

cd /var/www/joomla

−

# administrator/backups

+

PLACES='

−

# administrator/components

+

administrator/backups

−

# administrator/modules

+

administrator/components

−

# administrator/templates

+

administrator/modules

−

# cache

+

administrator/templates

−

# components

+

cache

−

# images

+

components

−

# images/banners

+

images

−

# images/stories

+

images/banners

−

# language

+

images/stories

−

# mambots

+

language

−

# mambots/content

+

mambots

−

# mambots/editors

+

mambots/content

−

# mambots/editors-xtd

+

mambots/editors

−

# mambots/search

+

mambots/editors-xtd

−

# media

+

mambots/search

−

# modules

+

media

−

# templates

+

modules

−

# '

+

templates

−

# for i in $PLACES; do chown -R www-data:www-data $i; done

+

'

+

for i in $PLACES; do chown -R www-data:www-data $i; done

+

</pre>

Now set file and directory permissions:

Now set file and directory permissions:

−

# find /var/www/joomla -type f -exec chmod 0644 {} \;

+

<source lang="bash">

−

# find /var/www/joomla -type d -exec chmod 0755 {} \;

+

find /var/www/joomla -type f -exec chmod 0644 {} \;

+

find /var/www/joomla -type d -exec chmod 0755 {} \;

+

</source>

−

=== Configuration of Joomla! ===

+

=== Configure Joomla! ===

Open your favourite web-browser, and point it to the page http://localhost/joomla. Replace ''localhost'' with your servers IP or domain name if it you are installing on a remote system.

Open your favourite web-browser, and point it to the page http://localhost/joomla. Replace ''localhost'' with your servers IP or domain name if it you are installing on a remote system.

Line 211:

Line 273:

When you reach the final screen with congratulations on installing Joomla!, you should remove the installation directory. From root terminal:

When you reach the final screen with congratulations on installing Joomla!, you should remove the installation directory. From root terminal:

−

# rm -rf /var/www/joomla/installation/

+

<source lang="bash">

−

# exit

+

# rm -rf /var/www/joomla/installation/

−

$

+

# exit

+

$

+

</source>

And that's it! Now you can login into the admin interface of your fresh installed Joomla! 1.5.9.

And that's it! Now you can login into the admin interface of your fresh installed Joomla! 1.5.9.

−

<noinclude>[[Category:Installation]]<noinclude>

+

+

== BitNami Joomla! stack ==

+

+

=== What is BitNami Joomla! Stack? ===

+

BitNami Joomla! Stack is an all-in-one installer that makes it easy to install Joomla on your computer. It is free, easy to use and self-contained. That means it bundles and automatically configures every piece of software (dependency) necessary to run Joomla for development or production purposes, including Apache, MySQL and PHP.

+

You can download the latest version of BitNami Joomla! stack for Windows, Linux and OS X at http://bitnami.org/stack/joomla.

+

+

=== Installing Joomla! Stack ===

+

Regardless of which operating system you are running (Windows / Linux / Mac), the install process is the same.

+

+

Download the latest version of Joomla! Stack from the [http://bitnami.org/stack/joomla BitNami website].

+

+

Find the installer you just downloaded (the filename will be similar to bitnami-joomla-VERSION-linux-installer.run. Double click on the icon to launch the installer.

+

+

Note: If you are using Linux you will have to give executable permissions to the file first, using this command:

+

chmod +x /path/to/bitnami-joomla-VERSION-linux-installer.run

+

+

[[File:Joomla_welcome.png]]

+

+

Click "Forward".

+

+

+

[[File:Joomla_components.png]]

+

+

Select the components you want to install. If you are not sure, leave the default components checked. Click "Forward" when you are done.

+

+

+

[[File:Joomla_directory.png]]

+

+

Now it will ask where do you want to install the program. Provide the location where you want to install the BitNami Joomla! stack and click "Forward" when you are done.

+

+

+

[[File:Joomla_userdata.png]]

+

+

The user and password you provide here will be used to create the admin account in Joomla! Click "Forward" when you are done.

+

+

+

[[File:Joomla_sitename.png]]

+

+

Type in the name you want to use for your Joomla site, and click "Forward".

+

+

+

[[File:JoomlaReadytoinstall.png]]

+

+

The installer is now ready to begin the installation process. Click "Forward".

+

+

+

[[File:JoomlaCopyingfiles.png]]

+

+

Wait a minute while the installer copies the files and configures your Joomla! installation.

+

+

+

[[File:Joomlafinalscreen.png]]

+

+

Joomla! is now set up and ready to be used. Click "Finish" to launch the application.

+

+

+

[[File:Joomlaapplicationscreen.png]]

+

+

You can now log in using the username and password you provided during the installation.

Preface

This document guides you through the manual installation of Joomla! on Debian GNU Linux or one of its derivatives such as Ubuntu, Knoppix or GRML. Note that this guide applies to Joomla! . It has been successfully tested on Debian 4.0 [Etch], Debian 5.0 [Lenny], Ubuntu 8.04 LTS [Hardy Heron], Ubuntu 10.10 [maverick] and Ubuntu 11.10 (Oneiric Ocelot). It will work for all Debian based Linux distribution as well.

Also note that this guide assumes, you're installing Joomla! in a single hosting environment, running PHP as module. If you want to run multiple web sites as a web hosting service provider, for security reasons you should consider setting up an suPHP (php5-cgi, libapache2-mod-suphp) environment, where every virtual Apache host runs under its own UID.

Installing Joomla!

Prerequisites

You will need to install apache2, mysql-server-5.0, mysql-client-5.0 and php5 in order to have a web-server for Joomla!.

Test your XAMPP localhost server

There you will find instructions on how to change default usernames/passwords. On a PC that does not serve files to the Internet or LAN then changing the defaults is personal choice.

Multiple Versions of XAMPP

It can be useful to have access to several versions of XAMPP on your PC (e.g to have available different versions of PHP for testing). XAMPP doesn't make this easy but it is possble - see "how to" article here (for Linux only).

N.B. Ubuntu 11.10 needs python-glade2 installed in order to run the GUI. python-glade2 can be found in the Ubuntu Software Center.

LaMp

You will find instructions on wiki.debian.org. Make sure that you have installed bzip2 for extracting the downloaded Joomla! package.

You can check this by the following command:

$ dpkg-l|awk'/^ii bzip2/ {print $1" "$2}'
ii bzip2

Note that the dollar sign '$' shell prompt is indicating you're a regular user. We will later see a hash mark (#) shell prompt, which indicates that you're the super user root after issuing an su or sudo. The first policy for a secure linux system administration on the command line (but under X also) is to issue commands with the lowest permission as possible.

If bzip2 is not installed, you won't get an output. Then you can quickly install it via aptitude:

$ su-c"aptitude install bzip2"

Here we see the first command executed with toot permissions, because a regular user is not allowed to install new software. The '-c' option passes the following command to su and hereafter it terminates instead of switching to a root shell.

Configure PHP5

in the pre install check [ you get to that when the install is complete and are setting up Joomla at the web page ], Output Buffering was On and it's recommended that it should be Off .to do so edit /etc/php5/apache2/php.ini , comment out this line: output_buffering = 4096 , by putting a ';' in front. it'll look like this when done:

;output_buffering = 4096

there were also warnings on the install screen regarding suhosin . to make the suggested changes, edit this file:

Configure MySQL

It is time to create a database for Joomla! You can do this by the following commmands:

mysqladmin -u root -p create joomla

You may replace joomla with the name of choice for Joomla!'s database.

Now create a MySQL user different from root for Joomla!'s database. first enter into mysql system with:

mysql -u root -p

Then at the 'mysql>' prompt enter the following. Make sure you replace joomla with the name of Joomla!'s database from above. Replace yourusername with the user name you choose for the MySQL user accessing Joomla!'s database, and replace yourpassword with your password of choice for the MySQL user.

After disconnecting from the database server, you should remove the login information of your just new created MySQL user by editing MySQL's history file.

vi ~/.mysql_history

You can use any editor of your choice such as nano, vi or emacs that is installed on your system.

Get Joomla! source

Now it is time to download the Joomla! sources. Currently you will find download links on the joomlacode.org download page. For version 1.5.11, you may do the following from command line, assuming your current working directory is your home folder /home/user:

Here is the first time we see this hash mark (#) shell prompt. We call su without any options, because we want to issue root commands more than only one time. Calling su that way will prompt us for the super user's password and then change the actual shell environment, repectively $UID and $EUID.

Configure Joomla!

Open your favourite web-browser, and point it to the page http://localhost/joomla. Replace localhost with your servers IP or domain name if it you are installing on a remote system.

You will be guided through the final steps of setting up Joomla!, have your MySQL user, password and database name available.

When you reach the final screen with congratulations on installing Joomla!, you should remove the installation directory. From root terminal:

# rm -rf /var/www/joomla/installation/# exit
$

And that's it! Now you can login into the admin interface of your fresh installed Joomla! 1.5.9.

BitNami Joomla! stack

What is BitNami Joomla! Stack?

BitNami Joomla! Stack is an all-in-one installer that makes it easy to install Joomla on your computer. It is free, easy to use and self-contained. That means it bundles and automatically configures every piece of software (dependency) necessary to run Joomla for development or production purposes, including Apache, MySQL and PHP. You can download the latest version of BitNami Joomla! stack for Windows, Linux and OS X at http://bitnami.org/stack/joomla.

Installing Joomla! Stack

Regardless of which operating system you are running (Windows / Linux / Mac), the install process is the same.