Installing Joomla on 5.0-Nano

From The Uniform Server Wiki
Revision as of 10:03, 8 July 2011 by BobS (talk | contribs) (Reverted edits by Joyservice (Talk); changed back to last version by BobS)
Jump to navigation Jump to search

Installing Joomla on 5-Nano Series

Introduction

This step-by-step guide shows how to install Joomla on Uniform Server V5-Nano. Uniform Server is inherently portable, however Joomla uses absolute paths preventing true portability. This is easily resolved after installation. See portability section.

Copy the above to a USB memory stick and run on another PC. Remember that if the host PC is currently running another server, it will prevent UniServer from running. To resolve this situation, either stop the host servers or preferably install your UniServer on different ports by moving the server. Before installing Joomla it's worth reading how to move servers.

Pre-Installation

Note: There is no real need to create folders at A) and B). They are there to provide a reference point and make screen capture a little bit easier.

Install Uniform server

  1. A) Create a new folder named joomla_b (Can be any name)
  2. Extract a new copy of Uniform Server V5.5-Nano to this folder
  3. Start Uniform Server.

Download Joomla

  1. B) Create a new folder joomla_a (Can be any name; it's only a temporary folder)
  2. Download the latest version (Joomla_1.5.15-Stable-Full_Package.zip) of Joomla from download page
  3. Copy the file dowloaded (Joomla_1.5.15-Stable-Full_Package.zip) to joomla_a
  4. C) Unzip Joomla_1.5.15-Stable-Full_Package.zip into this folder.

Copy files to Uniform Server

  1. D) Copy folder Joomla_1.5.15-Stable-Full_Package to Uniform Servers's root folder www
  2. E) Rename the copied folder Joomla_1.5.15-Stable-Full_Package to joomla (can be any name)

Top

Create a Joomla Database

Creating the Joomla database is straight forward. Note that tables are automatically inserted during installation.

  1. Start UniTray. In folder UniServer, double click on Start.exe - tray icon created.
  2. Start Uniform Server. Left click tray icon > click Start UniServer
  1. Left click tray icon > click phpMyAdmin - This opens phpMyAdmin in your browser
  2. A) We want to create a new database. Name it joomla (or something easy to remember if you change name make sure you use this name during installation.)
  3. B) Click on Create to create the database

Note:

  • You can start phpMyAdmin from Apanel; start Apanel by typing http://localhost/apanel/ into your browser address bar.
  • From Apanel click on the phpMyAdmin link. (left menu under tools)

Top

Installation

To start installation process type the following http://localhost/joomla/ into your browser and follow the instructions.

Note: If you moved the server remember to type the port number. E.g., to start the installation process, type the following http://localhost:82/joomla/ into your browser and follow the instructions.

There are seven pages to the process as follows:

  1. Language
  2. Pre-installation Check
  3. License
  4. Database
  5. FTP Configuration
  6. Configuration
  7. Finish

For completeness, I have reproduced the steps and added a few extra notes.

Top

Language

You are presented with a list of languages, the default selection is English.

Select your required language and Click Next (top right)

Top

Pre-installation Check

Uniform Server passes the pre-installation check, Click Next

The following are checked:
If any of these items are not supported (marked as No), your system does not meet the minimum requirements for installation. Please take appropriate actions to correct the errors. Failure to do so could lead to your Joomla! installation not functioning properly.

PHP Version >= 4.3.10 Yes
- Zlib Compression Support Yes
- XML Support Yes
- MySQL Support Yes
MB Language is Default Yes
MB String Overload Off Yes
configuration.php Writable Yes

Recommended Settings:
These are the recommended settings for PHP in order to ensure full compatibility with Joomla!. Joomla! will still operate even if your settings do not match.

Directive Recommended Actual
Safe Mode: Off Off
Display Errors: Off On
File Uploads: On On
Magic Quotes Runtime: Off Off
Register Globals: Off Off
Output Buffering: Off Off
Session Auto Start: Off Off

Top

License

After reading the GNU General Public License: - Click Next

Top

Database

I have shown Uniform Server's default password (MySQL password = root) and database name created above (joomla).

If you are going to put the server on-line change the MySQL password.

Database Type: mysql - Do not change
Host Name: localhost - If you moved servers add port number, e.g., localhost:3308 
Username: root - Do not change
Password: root - Use the MySQL password you set using Apanel
Database Name: joomla - Use the name you set during pre-configuration
  Click Next - That's all the database info required, hence continue

Note: You do not need to change any of the advanced features.

Top

FTP Configuration

Click Next

Note: For a Windows Operating System, the FTP layer is not required.

Top

Configuration

Site configuration is straightforward, I have shown example entries in bold just substitute for your real data.

Site Name: UniServer TEST - Use your real site name
Your E-mail: fred@fred.com - Use your real email address
Admin Password: root66 - Use your real password
Confirm Admin Password: root66 - Enter it again
Install Default Sample Data Click Install button - Optional
Load Migration Script: Not required - No action
  Click Next - That completes the site information

Top

Finish

That essentially completes the installation. You will receive the following warning:

PLEASE REMEMBER TO COMPLETELY
REMOVE THE INSTALLATION DIRECTORY.
You will not be able to proceed beyond this point
until the installation directory has been removed.
This is a security feature of Joomla!.

Delete the folder: UniServer\udrive\www\joomla\installation

Click Either Site or Admin top right

Top

General Information

  • Admin login name: admin
  • Admin password: root66 - One you set above
  • Site address: http://localhost/joomla/
  • Admin address: http://localhost/joomla/administrator/


Note: If you moved the servers remember to add the new port number e.g.

  • Site address: http://localhost:82/joomla/
  • Admin address: http://localhost:82/joomla/administrator/

Top

Portability

Joomla’s configuration file UniServer\www\joomla\configuration.php contains various variables defined during installation. Amongst these are two variables $log_path and $tmp_path containing fixed paths. Fixed paths are not consistent with portability these variables require converting to dynamic fixed paths.

Joomla’s configuration file is a list of variables contained in a class named Jconfig to set these variables dynamically we use the class constructor as follows:

//=== Constructor JConfig for Joomla class ===================================
 function JConfig() {

// === Set base path ======================================================
$path_array = explode("www", dirname( __FILE__ ));  // Split pat at www
$base           = "$path_array[0]";        // absolute path to ..UniServer/
// ================================================== End Set base path ===

   // Set class variables.
   $this->log_path = $base."www\\joomla\\logs";   // Create new paths to
   $this->tmp_path = $base."www\\joomla\\tmp";    // folders logs and temp 
 }                                                
 //=============================== END Constructor JConfig for Joomla class ===

Add this to the end of the class (just above the last curly brace) hence when the class is instantiated new paths are calculated and appropriate variables updated.

Advantages of this method, servers can be run from any location.

Top

Move Servers

One of Uniform Server’s unique features is the capability to run more than one complete server on the same PC. When running a server from a USB memory stick you can use this to great advantage and prevent server clashes. You will have noticed UniTray’s icon displays one (meaning standard ports). Moving UniServer increments this digit and so on for each server move. In reality it’s not just a port change but a complete server update. Running server status displays the server characteristics.

Move Servers:

  1. Assumes a new extracted server (see note 1)
  2. Stop all running Uniform Servers
  3. Start UniTray; in folder UniServer double click on Start.exe - tray icon created.
  4. Move servers, Left click tray icon > Advanced > click Move Servers multi-server operation.
  5. In the pop-up window at all prompts press enter to accept defaults.
  6. The tray icon will display 2, if you already use a server with this number repeat steps 4 and 5. Each server must have a unique number.


  • After moving the servers you can now install Joomla as explained above.
  • However before proceeding you need to use the new server ports for installation.
  • To find these: Left click tray icon > Server Status


I moved the servers to icon 3 hence Apache port = 82 and MySQL port = 3308

To start installation: type http://localhost:82/joomla/ into your browser

Database Configuration host name becomes: localhost:3308

After installation page access requires the addition of a port number as shown

  • Site address: http://localhost:82/joomla/
  • Admin address: http://localhost:82/joomla/administrator/

Note 1:

If you have already installed Joomla on UniServer V5-Nano and want to move the servers, it is possible.

  1. Follow steps 2-6 as above
  2. Edit file UniServer\www\joomla\configuration.php
  3. Locate line (15)
    Change line: var $host = 'localhost';
    To: var $host = 'localhost:3308';
  4. Save file.

Using the port number that matches your server, start the servers. Pages are accessible as mentioned above. Just remember to use the port number that matches your server.

Note 2:

The plugin V55_Joomla_1_5_15a.exe automatically tracks the MySQL port hence no need to manually configure this when moving the servers. Plugin uses the following constructor:

//=== Constructor JConfig for Joomla class ===================================
 function JConfig() {

// === Set base path ==========================================================
$path_array = explode("www", dirname( __FILE__ ));  // Split pat at www
$base           = "$path_array[0]";            // absolute path to ..UniServer/
// ====================================================== End Set base path ===

// === Get MYSQL port =========================================================
// Use port from configuration file - because user can change this file 
$file_conf  = $base.'usr\\local\\mysql\\my.ini'; // Config file 

if ($filearray=file($file_conf)) {              // read file into array
 foreach ($filearray as $txt) {                 // scan array for port
  if(preg_match("/^\s*port\s*=\s*(\d+)/", $txt,$match)){ // check save matches 
   $mysql_port =  $match[1];                    // match found save port number 
   break;                                       // give up nothing else to do
  }
 }
}
else {                                      // failed to read file
 echo "Cannot read the file";
}
// ===================================================== END Get MySQL Port ===
   // // Set class variables.
   $this->host = "localhost:$mysql_port";         // Add port to localhost
   $this->log_path = $base."www\\joomla\\logs";   // Create new paths to
   $this->tmp_path = $base."www\\joomla\\tmp";    // folders logs and temp 
 }                                                
 //=============================== END Constructor JConfig for Joomla class ===

Top

Plugin

The above instructions are generic allowing you to install the latest version of Joomla.

If you prefer a click and go solution, go to SourceForge

Save this to folder UniServer. To install it, double click on the file. Joomla is pre-configured and ready to go. Check out the read me file for latest information.

Note: This plugin is intended to quickly get Joomla up and running allowing you to explore the software. If you intend running a production server, delete the folders installed and perform a manual install. This allows you to tailor Joomla and include any missing modules.

Top

MySQL Security

The above installation guide and associated downloadable plugin are intended to get the application up and running purely for testing.

If you are intending to put the application on line, make sure to read any security advice provided with the application and check the provider's web site.

More impotently the above installation is an extreme security risk if put online as is. It's imperative you secure the MySQL server before putting your servers online.

Please read the following page MySQL Security and restrict privileges to any user that has connection access to your server.

Top

Conclusion

From the above you have seen how easy it is to install Joomla and make it fully portable.

What may not be apparent from the above is the reason for using icon 3 for Joomla. I have a main server that runs on standard ports, hence icon 1 is in use. I installed MediaWiki on a USB memory stick which accounts for icon 2. The next free icon was 3 so I used that.

While writing this I currently have three independent Uniform Servers running on the same PC. The main server is running as a service and the other two as a standard program. I only mention this to give you some idea of Uniform Server’s capabilities and flexibility.

Related links:

How to install Joomla on Uniform Server 3.5-Apollo

Joomla (Version 1.0.13 ) portability on Uniform Server 3.5-Apollo.

Mini Servers


Top