Actions

Difference between revisions of "Installing Joomla on Debian Linux"

From Joomla! Documentation

(Get Joomla! source)
m (Installing Joomla!)
Line 7: Line 7:
 
== Installing Joomla! ==
 
== Installing Joomla! ==
 
=== Prerequisites ===
 
=== 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!. 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 need to install apache2, mysql-server-5.0, mysql-client-5.0 and php5 in order to have a web-server for Joomla!.
 +
 
 +
=== Xammp or LaMp ? ===
 +
Xammp automatically configures Ownership LaMp requires use of the CHOWN command.
 +
 
 +
 
 +
== Xammp ==
 +
Download [http://www.apachefriends.org/en/xampp-linux.html#374 Xammp] for Linux to your your Home folder.
 +
 
 +
=== Install xammp ===
 +
Open Terminal and enter:
 +
sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt'
 +
(replace ''xampp-linux-1.7.3a.tar.gz'' with the version of xammp you downloaded).
 +
 
 +
This installs ... Apache2, mysql and php5 as well as an ftp server.
 +
 +
''sudo /opt/lampp/lampp start''
 +
 
 +
and
 +
''sudo /opt/lampp/lampp stop''
 +
 
 +
starts/stops all the services
 +
 
 +
=== Test your xammp localhost server ===
 +
Open your Browser and point it to
 +
http://localhost
 +
The index.php will redirect to
 +
http://localhost/xammp
 +
 
 +
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.
 +
 
 +
=== Get Joomla ===
 +
Download the latest Joomla instalation zip [http://www.joomla.org/download.html]
 +
 
 +
Unzip to your hard drive
 +
 
 +
Connect to localhost with an FTP client
 +
Default
 +
nobody
 +
lampp
 +
 
 +
Create a folder for your Joomla on the localhost server
 +
 
 +
FTP the unpacked Joomla installation files to the newly created Joomla folder.
 +
 
 +
The xammp installation sets FTP as Owner of the files so there is no need for the CHOWN command.
 +
 
 +
=== Configure Joomla ===
 +
In your Browser type
 +
http://localhost/yournewjoomlafolder
 +
 
 +
In the first Joomla installation screen if error reporting is shown as on then:
 +
 
 +
In your Terminal type
 +
sudo gedit /opt/lampp/etc/php.ini
 +
In the php.ini file locate
 +
error_reporting =
 +
And change the value to
 +
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
 +
 
 +
FTP layer is NOT needed
 +
 
 +
 
 +
'''Database info'''
 +
 
 +
Host
 +
localhost
 +
 
 +
Default Database name
 +
test
 +
 
 +
Default Database user
 +
root
 +
 
 +
There is no default Password.
 +
 
 +
Administrator password is your choice.
 +
 
 +
Installing Sample Data is recommended for the novice user.
 +
 
 +
After installation delete the installation directory and point your Browser to:
 +
http://localhost/yournewjoomlafolder
 +
or
 +
http://localhost/yournewjoomlafolder/administrator
 +
 
 +
=== Creating a link in the Ubuntu menu ===
 +
'''To create a GUI for xammp connected to your Ubuntu menu'''
 +
 
 +
Open up the Terminal and type
 +
sudo gedit /usr/share/applications/xampp-control-panel.desktop
 +
 
 +
Then copy the following into the gedit and save.
 +
 
 +
[Desktop Entry]
 +
Encoding=UTF-8
 +
Name=XAMPP Control Panel
 +
Comment=Start and Stop XAMPP
 +
Exec=gksudo "python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py"
 +
Icon=/usr/share/icons/Tango/scalable/devices/network-wired.svg
 +
Terminal=false
 +
Type=Application
 +
Categories=GNOME;Application;Network;
 +
StartupNotify=true
 +
 
 +
 
 +
 
 +
== 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 can check this by the following command:
 
You can check this by the following command:

Revision as of 21:50, 10 December 2010

Contents

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! version 1.5.x, and should be considered experimental. It has been successfully tested on Debian 4.0 [Etch], Debian 5.0 [Lenny] and Ubuntu 8.04 LTS [Hardy Heron]. 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!.

Xammp or LaMp ?

Xammp automatically configures Ownership LaMp requires use of the CHOWN command.


Xammp

Download Xammp for Linux to your your Home folder.

Install xammp

Open Terminal and enter:

sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt'

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

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

sudo /opt/lampp/lampp start

and

sudo /opt/lampp/lampp stop

starts/stops all the services

Test your xammp localhost server

Open your Browser and point it to

http://localhost

The index.php will redirect to

http://localhost/xammp

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.

Get Joomla

Download the latest Joomla instalation zip [1]

Unzip to your hard drive

Connect to localhost with an FTP client Default

nobody
lampp

Create a folder for your Joomla on the localhost server

FTP the unpacked Joomla installation files to the newly created Joomla folder.

The xammp installation sets FTP as Owner of the files so there is no need for the CHOWN command.

Configure Joomla

In your Browser type

http://localhost/yournewjoomlafolder

In the first Joomla installation screen if error reporting is shown as on then:

In your Terminal type

sudo gedit /opt/lampp/etc/php.ini

In the php.ini file locate

error_reporting =

And change the value to

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

FTP layer is NOT needed


Database info

Host

localhost

Default Database name

test

Default Database user

root

There is no default Password.

Administrator password is your choice.

Installing Sample Data is recommended for the novice user.

After installation delete the installation directory and point your Browser to:

http://localhost/yournewjoomlafolder

or

http://localhost/yournewjoomlafolder/administrator

Creating a link in the Ubuntu menu

To create a GUI for xammp connected to your Ubuntu menu

Open up the Terminal and type

sudo gedit /usr/share/applications/xampp-control-panel.desktop

Then copy the following into the gedit and save.

[Desktop Entry]
Encoding=UTF-8
Name=XAMPP Control Panel
Comment=Start and Stop XAMPP
Exec=gksudo "python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py"
Icon=/usr/share/icons/Tango/scalable/devices/network-wired.svg
Terminal=false
Type=Application
Categories=GNOME;Application;Network;
StartupNotify=true


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 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

$ 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';

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.

$ 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:

$ wget http://joomlacode.org/gf/download/frsrelease/10209/40306/Joomla_1.5.11-Stable-Full_Package.tar.bz2
$ cd /var/www
$ su
# mkdir -m 0755 joomla
# cd joomla
# tar -xvjf /home/user/Joomla_1.5.11-Stable-Full_Package.tar.bz2

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.

Set ownerships and permissions

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

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

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

# 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 chown -R www-data:www-data $i; done

Now set file and directory permissions:

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

Configuration of 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.