Installing Joomla 1.5.X On Ubuntu


Creating professional looking web sites has greatly improved with the emerging number of CMS tools. CMS have come along way! CMS (Content Mangement System) allows a community or group of people to manage the content of a web site. This becomes a very powerful tool, as it empowers all members of the community to keep their data updated. The need to constantly place request to the web admin are over. Users can now manage their own piece of the pie!

I’ll go over the basic steps of installing and configuring Joomla.

Steps

  • Install dependencies
  • Download Joomla software
  • Modify Permissions
  • Install Joomla
  • Install Dependencies

Like always we’ll need to install some pre-requisite software before we can even start. In order for Joomla to effectively work, we need to install the following software.

  • Apache2
  • PHP5
  • MySQL
  • VSFTP (Very Secure FTP)

Using terminal type the following:

sudo apt-get install apache2 php5 mysql-server php5-mysql unzip


During the installation you will be prompted to enter a password for the ‘root’ user in MySQL. Pick any password and enter it. Remember the password since you are going to need to reference it later. In my example I’m going to use mysqlPass.

MySQL Password

Now we need to install VSFTPS. In order to have Joomla import and export files into the web server it’s going to need an FTP connection in order to accomplish that. We’re going to install VSFTP it’s a straight forward FTP daemon and easy to configure.

sudo apt-get install vsftpd

Now we need to configure VSFTP:

  • sudo nano /etc/vsftpd.conf
  • Change ‘anonymous_enable = YES’ to ‘anonymous_enable = NO
  • Change ‘#local_enable = YES’ to ‘local_enable=YES‘(remove the # sign).
  • Change ‘#write_enable = YES’ to ‘write_enable=YES‘(remove the # sign).
  • Ensure that local_umask is uncommented and looks like ‘local_umask=077

Save your changes: [ctrl + X], Save Modified Buffer [Y], Press [Enter] to the default file name.

NOTE: To uncomment ensure that there is NO ‘#’ sign at the beginning of the line.

In order to be able access the FTP site we’re going to need to create a dedicated user that will be able to access the joomla site.

sudo useradd joomlaUser

sudo passwd joomlaUser

for our example we’re going to assign this password to be ftpPass

sudo mkdir /var/www/joomla

sudo ln -s /var/www/joomla /home/joomlaUser

Last dependency file that we’re going to configure will be php.ini

  • sudo nano /etc/php5/apache2/php.ini
  • We need to find ‘display_errors = On’ and change it to ‘display_errors = Off
  • Next we need to change ‘;session.save_path = /var/lib/php5‘ to ‘session.save_path = /var/lib/php5‘ (simply remove the ‘;’)

save your changes and exit.

Download Joomla Software

Now we’re ready to download Joomla. At the time of this writing, version 1.5.15 was the latest version. Please check www.joomla.com for the latest version.

cd /var/www

sudo wget http://joomlacode.org/gf/download/frsrelease/11396/45610/Joomla_1.5.15-Stable-Full_Package.zip

sudo unzip Joomla_1.5.15-Stable-Full_Package.zip -d /var/www/joomla

Modify Permissions

Now that we have Joomla downloaded and unzipped in the directory that we wish to use, we’ll need to modify permissions so that Joomla can write to it.

sudo chmod 777 -R /var/www/joomla

Install Joomla

Now we’re ready to actually start installing and configuring Joomla!

Before we start we’re going to restart all our services.

sudo /etc/init.d/apache2 restart

sudo /etc/init.d/vsftpd restart

If you’re using ubuntu server with command line like I am, you are going to need the ip address of your server so you can access the joomla web interface.

ifconfig

eth0 Link encap:Ethernet HWaddr 00:0c:29:c9:86:84
inet addr:192.168.0.237 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec9:8684/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46210 errors:0 dropped:0 overruns:0 frame:0
TX packets:28816 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:59888493 (57.1 MB) TX bytes:2798305 (2.6 MB)
Interrupt:17 Base address:0×1400

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:85 errors:0 dropped:0 overruns:0 frame:0
TX packets:85 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6880 (6.7 KB) TX bytes:6880 (6.7 KB)

In my case I get something like the above. My ip address for my server is at 192.168.0.237

Open up a web browser and type in the following (of course substitute your IP address for mine!):

  • http://192.168.0.237/joomla

You should now see joomla’s installation site and it should be prompting you for the default language. Select your language and click on ‘next’.

Language Selection

Language Selection

The second screen should now run a diagnostics pre-installation test. The top window should have all YES and the bottom window should have all OFF if we did everything correctly. If everything looks like the below image select ‘next’.

Preinstallation Configuration

Preinstallation Configuration

The next screen simply shows you the GPL (General Public License). Once you’ve finished reading it select ‘next’.

General Public License

General Public License

We are now ready to enter our configuration information for our MySQL database into Joomla.

  • Database type should be MySQL by default.
  • Host name should be localhost unless you have a different machine hosting the database. Username should be root.
  • Password should be the password you assigned root when you installed MySQL. I’m going to user mysqlPass.

Database name should be joomla. (You can assign any name you like, I just chose Joomla)

MySQL Configuration

MySQL Configuration

If everything is going well, we should be seeing the FTP configuration screen.

  • Enable FTP file system layer should be YES
  • FTP User should be joomlaUser
  • FTP Password should be the password you assigned to the joomlaUser. I’m going to use ftpPass.
  • Click on ‘Autofind FTP Path’ the ftp root path field should now be populated with ‘/var/www/joomla’
  • At the bottom select YES for save FTP password.
FTP Configuration

FTP Configuration

We are now on the main configuration page. This is the last page before we finish!

  • Site name is the name you want to call your web site. I choose ‘My Site‘
  • Enter your email here to receive notifications for the super admin group
  • The password you enter here is the password that you will later on have to use to enter the administration back end tool. I’m going to use joomlaPass
  • Select Install sample data if you would like to include the sample data into your joomla installation. I would recommend this if this is your first time dealing with Joomla. Good way to see were everything goes.
Main Configuration

Main Configuration

If everything went alright we should now be at the finish. The warning you see on the right side means that we must remove the installation directory on joomla so we don’t accidently run the installation process once again.

Complete

Complete

To wrap things up we’ll remove the installation directory

Once again using terminal:

  • sudo rm -r /var/www/joomla/installation
  • We can now click on the top right button of the finish page where it says ‘Admin‘
  • The new page should now be prompting us for a username and password. The default username is admin and the password is the password you set earlier. I’m going to use joomlaPass.
Backend Login

Backend Login

You are now ready to create and modify your very own Joomla site! To access the frontend of the site you can type in http://yourserverip/joomla

Enjoy!

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts

Write a Comment

Take a moment to comment and tell us what you think. Some basic HTML is allowed for formatting.

Reader Comments

Awesome Tutorial…..Completely hassle free and well documented ! Keep up the good work..

Dear Ubun2Junky,
Thanks you for posting this excellent tutorial. It was the only tutorial that worked complete for me. (I’m using Ubuntu 9.04). A lot of the other tutorials didn’t install correctly. I highly recommend this tutorial.

Thanks for the feedback David! Let me know if there is anything else I can do to help!

I like the tutorial, but I am having a crazy time trying to unzip Joomla in Ubuntu Server. I keep getting this error, “End-of-central-directory signature not found”, there is more to it if that might help I can email. I am hoping you can help me figure this out. I am not an Ubuntu master, obviously, but I know my way around pretty well. Is it an issue with Ubuntu Jaunty Jackalope, or 64 bit maybe?

CoreyT;
I’m sorry you’re having a hard time unzipping the zip file. I’ll see if I can help. What program are you using to uncompress the file? unzip, gzip? Can you show me the command that you’re typing.

End-of-central-directory signature not found. Either this file is not a zip file, or it constitutes one disk of a multi-part archive”
This is what I found on the error you reported. Were you trying to download the version that Mike F posted?

Worse case scenario is you can try to unzip the file in any OS you feel most comfortable in and move the uncompressed files to a flash drive and move over to your Jaunty box.

I’m using the same command in the tutorial: sudo unzip Joomla_1.5.12-Stable-Full_Package.zip -d /var/www/joomla, with the change for the newest version.

No need to apologize, you didn’t write the software, just the tutorial, hehe. Any help is great though, thanks.

I got it extracted, not sure what the deal was, but another new install of Ubuntu, using the OpenSSH package, works now. Thanks for trying. Love the tutorial :)

Sweet!! I’m glad you got it going. We aim to please!! ;P

Great Tutorial. The only thing is that my FTP didn’t configure correctly. When I go to save a template I am getting: JFTP::connect: Could not connect to host “127.0.0.1″ on port 21. How can I change this?

Marcia;
You might want to try going over the ftp configuration. You might want to try to see if you can connect to the server via FTP by using the following command.

telnet localhost 21

Another thing to consider is permissions.

Here are some links I found that you might want to consider. Let me know how it goes.
http://forum.joomla.org/viewtopic.php?f=428&t=208979&p=992508

http://forum.powweb.com/archive/index.php/t-81493.html

Thanks..
This is the only tutorial that worked for me from a to z. (Ubuntu 9.04)
rc

Very nice tutorial, everything runs smoothyly

thanks

Thanks for the tutorial!

Everything works fine, except for the fact that I can’t preview my site! I’m able to log in to Joomla as administrator and work on anything I want to, but when I go to http://localhost/joomla for a preview, I just get the following message: “Direct Access to this location is not allowed.”

I’m using Ubuntu Jaunty. Can anyone help me with this?

Another question is whether it would be possible to add more sites for testing to my Ubuntu laptop? I’ve previously run Windows and I’ve worked on 5 sites at the same time. Would it therefore be possible to do the same with Linux?

Thanks in advance!

Wessel;
I did a search on the error message you were getting. You might want to take a sec and read this:

http://www.mydigitallife.info/2007/11/29/how-to-enable-legacy-mode-in-joomla-15/

As far as other sites… I’ve never tried that… but don’t see why not. You could create a different database for each site and have joomla files distributed in different directories (/var/www/joomla_site1, /var/www/joomla_site2, etc) You will then need to do some minor modifications to your apache config file and create virtual hosts for each site.
Hope this helps!

Great job – well done – bookmarked :)

hey. Thanks for the tutorial. it works fine up until the ftp part, where i cant seem to get it working. i keep getting the following error

“The FTP settings are not valid or your FTP server is not compatible with Joomla!:
Could not access the specified FTP directory.”

HELP!!

Kevin;
In the instructions did you remove the ‘#’ where it mentioned to uncomment?

Managed to fix that by disabling ftp. another question though, how would I add a second site? and how do I view the database?

Kevin;
You can check out this post. It covers how to add multiple sites.
http://forum.joomla.org/viewtopic.php?f=429&t=287999

When you say how do you view the database, are you referring to an easier way to manage and view your database. I use a web gui called phpmyadmin.

http://www.phpmyadmin.net/home_page/index.php

Amazing tutorial!
Pity I didn’t find it at the beginning!
but it helped me with this:
“… Next we need to change ‘;session.save_path = /var/lib/php5′ to ’session.save_path = /var/lib/php5′ (simply remove the ‘;’) …”

It was commented on my php.ini and still phpinfo.php was reporting it… I guess it needs to be explicit!

Thank you again!
RWD

Best tutorial, thanks
had a small problem with the ftpUserName, no caps allowed, but it worked

You saved my day when I wanted to setup a test server at home, great work.

I think this is the problem I have with Linux tuts and helps as oppose to the MS tuts and helps I remember: Those tuts teach you about what you are doing and teaches you a few things above and beyond just the task at hand.

For instance, the changing of the php.ini lines. I see at the bottom of terminal there pops up menu with what seems to have a search function for the ini file. How do I use that? It would’ve been nice if you explained instead of “we need to find” to “use the search function like so and find the line much quicker.

Or explain where the places is that the files are now stored and what it means.

Maybe its just me, but really, one learns the most of a program when you have to do something, like now, I have to figure out how to install Joomla being kinda new still with Linux. But other teachings and guides explains to you what you are actually doing as oppose to just slap some functions and lines onto you to get the job done. You got the thing working, but you are none the wiser as to what exactly happened.

But I suppose I will be met with numerous comments of “Read the Linux Bible”

Thanks still for the tutorial. It did worked, up to a point where the terminal commands didn’t do what is explained. Don’t know why since I have no idea what I am doing.

So for future tuts, please think about possibly explaining WHAT is being done as oppose to solely explaining HOW it is done.

Inprogress;
I completely understand where you’re coming from. Anyone that is new to Linux has to go through that steep learning curve. You are certainly not alone there. We all started somewhere and from my personal experience it was a steep curve for me, but I stuck with it. I certainly don’t consider myself an expert on the subject, but I try to share what little I know with others as best as I can.
I’m always open for recommendations and I appreciate your suggestions about perhaps explaining a bit more about the mechanics behind the scene. I can certainly do better than what I did. Perhaps I will add it as a side note for those that are interested.
However, I think you would agree with me that a tutorial can only cover the material to a certain degree. You mentioned that it would have been nice to have explained the menu system in nano.
I can compare that to someone writing a tutorial for html programming in windows and having to explain how to use notepad. To some extent you have to assume that your target audience has the necessary skills sets to accomplish the task. I do however see how nano compared to notepad might not seem as ‘intuitive’ and might require some explaining to someone new. Perhaps I can write a tutorial on using linux text editors like nano and vi! I’ve used nano for so long that I think I’ve taken for granted that it might be harder on others.
My recommendation to you would be to get more familiar with some of the tools like nano and vi. Those two tools are your best friends whenever you deal with anything linux. Good luck with your linux endeavors.

Thanks for the tutorial. it works fine up until the ftp part, where i cant seem to get it working. i keep getting the following error

Ganesh;
What is the error message you’re getting? Seems it didn’t get displayed in your last post. I’ll see if I can help.

Seems like a great tutorial – thank you; just not working for me…
I also get stuck at the FTP stage getting a “Could not connect to the FTP server” message (using Ubuntu 9.10)

I was also confused at a couple of other points:
1. Ensure that local_mask is uncommented and looks like ‘local_mask=077′ (I only have ‘local_umask=022′ Is this the line that I should change? Should I remove the U?

2. * sudo useradd joomlaUse
* sudo passwd joomlaUser
Should both lines end with an “r”?

3. * sudo sudo wget http://joomlacode.org/gf/download/frsrelease/8232/30034/Joomla_1.5.15-Stable-Full_Package.zip
* sudo unzip Joomla_1.5.6-Stable-Full_Package.zip -d /var/www/joomla

Version numbers don’t match

I hope you don’t think I’m being critical – I want to know which bits are errors and which are correct! I know nothing!

Thanks for your generous work.

Kevin

Kevin;
I appreciate you pointing those discrepancies out. I initially made the changes on the spanish version of the blog, but they didn’t copy over to the english. I apologize! I’ve made the corrections that you’ve pointed out. I’m currently not running 9.04 yet, from the looks of it there have been some changes. I’ll be happy to install it and take a look. The only major thing that seems different it the ‘local_umask=022′, I’m going to assume that you just need to change it to ‘local_umask=077′. I’ll test it out and will post my findings. Please feel free to leave any further questions you may have, I’ll do what I can to assist!