Installing Xoops on 5.0-Nano

Installing Xoops on 5.0-Nano

Introduction

This step-by-step guide shows how to install Xoops on Uniform Server V5.0-Nano and resolve a portability issue.

After installation you can optionally move the servers to non-standard ports allowing them to coexist with a server running on standard ports.

Pre-Installation

Install Uniform server

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

Download Xoops

  1. B) Create a new folder xoops_a (Can be any name its only a temporary folder)
  2. Download the latest version (xoops-2.3.3.zip) of Xoops from www.xoops.org
  3. Copy the file dowloaded (xoops-2.3.3.zip) to xoops_a
  4. Unzip xoops-2.3.3.zip into this folder.

Copy files to Uniform Server

  1. C) Expand the folder xoops-2.3.3
  2. D) Copy folder htdocs to Uniform Servers's root folder www
  3. E) Rename the copied folder htdocs to xoops (can be any name)
  4. E1) Expand this folder (xoops)
  5. F) Move (do not copy) the two folders:
    xoops_data and xoops_lib to UniServer's home folder
  6. While in folder xoops remove the read only attribute for the following folders:
    (right click properties uncheck read only box click apply)
  • G1) uploads/
  • G2) cache/
  • G3) templates_c/

Still in folder xoops locate file mainfile.php and mainfile.dist.php check they are writeable if not remove read only atribute.

  1. H) Expand folder "home" remove the read-only attribute
    for the following folder and all its sub-folders:
  • xoops_data/
  • xoops_data/configs/
  • xoops_data/caches/
  • xoops_data/caches/xoops_cache/
  • xoops_data/caches/smarty_cache/
  • xoops_data/caches/smarty_compile/

 

Top

Switch to production, start servers

UniServer’s default is to use the production PHP configuration file however you may have switched configuration files during development.

Before installing any applications ensure the production configuration is selected.

Check configuration file:

  1. Start UniTray, in folder UniServer double click on Start.exe tray icon created.
  2. Check configuration: Left click tray icon > Server Status – Top of page php.ini displays either Production or development.
  3. If Production displayed no action required you can start servers.
  4. If development displayed proceed as follows:
  5. Switch to production, Left click tray icon > Advanced > click php.ini switch to Production.

Start Servers:

  • Start Uniform Server. Left click tray icon > click Start UniServer

Top

Install Xoops

  1. Start Uniform Server. Xoops installation is mostly a click through exercise.
  2. Type the following into a browser: http://localhost/xoops/
  3. Choose your language: Click Next
  4. Welcome to the XOOPS installation assistant: Click Next
  5. Checking your server configuration: Click Next
  6. Paths settings: This will fail on xoops_data and xoops_lib these were moved for security.
  • Change the path from: C:/xoops_b/UniServer/www/xoops/xoops_data to C:/xoops_b/UniServer/home/xoops_data
    (Note when you click in the next text box the above path will be found)
  • Change path from: C:/xoops_b/UniServer/www/xoops/xoops_lib to C:/xoops_b/UniServer/home/xoops_lib
    (Click in one of the other text boxes the path will be found)
  • Click Next
  1. Database connection: Enter root for user name and root for password click Next
  2. Database configuration: For database name enter xoops click Next
  3. Saving your system configuration: Click Next
  4. Database tables creation: Click Next
  5. Please enter your initial settings:
    Admin login: admin
    Admin e-mail: fred@someone.com -- use a real e-mail address
    Admin password: root66 -- use a real password
    Click Next
  6. Saving your settings to the database: Click Next
  7. Site configuration: Accept defaults, Click Next
  8. Choose the default theme, default OK Click Next
  9. Modules installation, all defaults no OK, Click Next
  10. Welcome to your XOOPS site:
    "You can now access the home page of your site." -- don't click the link.
    Click Next
  11. Login as admin and click Administration Menu link

Note 1:

Make changes as recomended. Refresh page

Note 2:

You can access your site by typing the following into a browser: http://localhost/xoops/

Top

Portability

Xoops’s configuration file UniServer\www\xoops\mainfile.php contains various functions that define paths. These are set during installation. Amongst these are three deine's variables 'XOOPS_PATH', 'XOOPS_VAR_PATH' and "XOOPS_TRUST_PATH" containing fixed paths. Fixed paths are not consistent with portability these require converting to dynamic fixed paths.

Edit file C:\xoops_b\UniServer\www\xoops\mainfile.php (you will need to remove read only attribute)

Locate this section of code:

 // Physical path to the XOOPS documents (served) directory WITHOUT trailing slash
 define( 'XOOPS_ROOT_PATH', 'C:/xoops_b/UniServer/www/xoops' );

 // For forward compatibility
 // Physical path to the XOOPS library directory WITHOUT trailing slash
 define( 'XOOPS_PATH', 'C:/xoops_b/UniServer/home/xoops_lib' );
 // Physical path to the XOOPS datafiles (writable) directory WITHOUT trailing slash
 define( 'XOOPS_VAR_PATH', 'C:/xoops_b/UniServer/home/xoops_data' );
 // Alias of XOOPS_PATH, for compatibility, temporary solution
 define("XOOPS_TRUST_PATH", XOOPS_PATH);

Replace with:

    // XOOPS Physical Paths
    
    $splitArray     = explode("\\www",__DIR__);  // Split at folder www to give
    $base           = "$splitArray[0]";          // absolute path to www

    // Physical path to the XOOPS documents (served) directory WITHOUT trailing slash
    define( 'XOOPS_ROOT_PATH', $base.'/www/xoops' );

    // For forward compatibility
    // Physical path to the XOOPS library directory WITHOUT trailing slash
    define( 'XOOPS_PATH', $base.'/home/xoops_lib' );
    // Physical path to the XOOPS datafiles (writable) directory WITHOUT trailing slash
    define( 'XOOPS_VAR_PATH', $base.'/home/xoops_data' );
    // Alias of XOOPS_PATH, for compatibility, temporary solution
    define("XOOPS_TRUST_PATH", XOOPS_PATH);


Note 1: After saving the file set it’s file attribute back to read only.

Note 2: Copy folder UniServer and all its content to a USB stick and you have fully portable Xoops server.

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 you have installed Xoops as above and made the modifications for portability.
  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.
  • Before proceeding you need to use the new server ports.
  • To find these: Left click tray icon > Server Status

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

These new values need to be changed in Xoops configuration file.

Edit file C:\xoops_b\UniServer\www\xoops\mainfile.php (you will need to remove read only attribute)

Change this line:

From:

 // XOOPS Virtual Path (URL)
 // Virtual path to your main XOOPS directory WITHOUT trailing slash
 // Example: define( 'XOOPS_URL', 'http://localhost/xoops' );
 define( 'XOOPS_URL', 'http://localhost/xoops' );

To:

 // XOOPS Virtual Path (URL)
 // Virtual path to your main XOOPS directory WITHOUT trailing slash
 // Example: define( 'XOOPS_URL', 'http://localhost/xoops' );
 define( 'XOOPS_URL', 'http://localhost:82/xoops' );


Change this line:

From:

 // Database Hostname
 // Hostname of the database server. If you are unsure, "localhost" works in most cases.
 define( 'XOOPS_DB_HOST', 'localhost' );

To:

 // Database Hostname
 // Hostname of the database server. If you are unsure, "localhost" works in most cases.
 define( 'XOOPS_DB_HOST', 'localhost:3308' );

Note 1: After saving the file set it’s file attribute back to read only.

Note 2: Copy folder UniServer and all its content to a USB stick.

Note 3: To access Xoops remember to add the port number in the url

Foe example: Type this into a browser: http://localhost:82/xoops/

You now have a fully portable Xoops server that will run alongside an existing hosts server.

Top

Conclusion

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

Related links:

Mini Server 21 - Xoops 2.3.1

Installing Xoops US 3.5


Top