Skip to content

Getting started

Nuno Luciano edited this page Nov 4, 2022 · 3 revisions

Running a local instance (Linux, macOS, Windows) and deploying to your dedicated server or shared hosting is fairly easy.

The XCL bundle package is designed to run smoothly on any local server environment bundle LAMP, MAMP, XAMPP,
and dedicated server or shared hosting.

NOTE
This guide focuses on the use of the installation wizard.

Prerequisite

First, make sure you have installed Apache or Nginx, MySQL or MariaDB and PHP7 in order to run XCL properly.
You need a database name, the username and password:

Database InnoDB utf8 / utf8mb4
Database Username and password

  1. Download the current release of XCL Bundle Package
  2. Unpack the files to your server e.g. public_html/ or www/
  3. Open your web browser and type 'localhost' or your domain-name

Just follow the steps in the installation wizard.
This is everything you need to get started.

Requirements

Since XCL 2.3.0 version PHP 7.2.x is required !

Recommended System Specs

Server Database Language
Apache version 2.4.x MySQL version 5.6.x PHP version 7.2.x
Apache Mysql php
https://apache.org https://www.mysql.com https://php.net

Common Extensions

  • Apache must have mod_rewrite enabled
  • Apache must support .htaccess files
  • PHP's bundled GD 2 library or ImageMagick library
  • cURL extension that allows you to receive and submit data.

Some individual modules may have specific requirements and configurations, please refer to the module documentation as well.

Memory

PHP memory requirements can vary significantly depending on the modules in use on your web platform.

The minimum recommended value of PHP memory_limit is 64MB.
If you can, change it to 128MB, since PHP memory_limit is a per-script setting.

Disk Space

100Md — 200MB Recommended

A standard installation, including elFinder file manager and wysiwyg CKEditor, requires a minimum of 100 MB.
Considering user’s storage, cache, modules and themes installed, media uploaded, backups and other files, the
more disk space you have contributes to running smoothly updates and fewer problems in the future.
Most shared hosts have a storage capacity with enough memory and disk space to deploy XCL Bundle Package.

Installation Wizard

Clone this repo or download the archive and unzip in your web server's public directory (e.g. /var/www/html/, /public_html/). Launch your browser and follow the XCL Installer Wizard step-by-step process to complete the installation ( 2min ).

XOOPSCube Installation Wizard

Composer

For users who want more control over installation and extend the file manager with google drive storage
the XCL Package is fully compatible with Composer, the de-facto standard for PHP package management.

With Composer, you have to install the necessary libraries under the safe folder /TRUST_PATH/vendor/
Once you have all the files, you can configure your cloud storage from X-elFinder admin dashboard.

Software

Useful Wikipedia articles with tables comparing general and technical information of Proprietary software, Free and open-source software.

Local Test Server : List of Apache–MySQL–PHP packages
Source Code Editor : Some well-known source code editors
Graphics Editor : Comparison of raster graphics editors
FTP Clients : Comparison of FTP client software

Configuring Git to handle line endings

To avoid problems in your diffs, you can configure Git to properly handle line endings.

Automatically normalize line endings for all text-based files

Example of file .gitattributes

# * text=auto    
* text=auto eol=lf    
# For the following file types, normalize line endings to LF on  
# checkin and prevent conversion to CRLF when they are checked out  
# (this is required in order to prevent newline related issues)  
.*      text eol=lf  
*.css   text eol=lf  
*.html  text eol=lf  
*.js    text eol=lf  
*.json  text eol=lf  
*.md    text eol=lf  
*.php   text eol=lf  
*.sh    text eol=lf  
*.txt   text eol=lf  
*.xml   text eol=lf  

About line endings - Linux, Mac, Windows

Git clone - line ending conversion

GIT-SCM end of line conversion