Toggle navigation

Joomla! Image Guide

Version 3.8.1
Websoft9 Joomla is a pre-configured, ready to run image for running Joomla on Alibaba Cloud.
Joomla! is an award-winning content management system (CMS), which enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla! the most popular Web site software available. Best of all, Joomla! is an open source solution that is freely available to everyone.

Application Software(Joomla3.8.1)
Software directory: /data/wwwroot/joomla

Infrastructure(PHP7.0,APACHE2.4)
PHP Configuration File: /etc/php.ini
Default Apache Vhost Configuration File: /etc/httpd/conf.d/vhost.conf
Apache Vhost Configuration directory: /etc/httpd/conf.d
Apache Log Files: /var/log/httpd

Database(MYSQL5.7)
Database install directory: /usr/share/mysql
Database data directory:  /data/mysql
Database Configuration File: /etc/my.cnf
PhpMyAdmin install directory: /usr/share/phpmyadmin

After the installation of Image,please verify it

  • Login on Alibaba Cloud console,get you Internet IP Address
  • Open you Chrome or Firefox on your local PC,visit the http://Internet IP Address and you can enter the installation page directly,if there no response from browser,please check the Security Group settings to ensure that port 80 is been allowed

Using Chrome or Firefox to visit: http://Internet IP Address to start the application installation process.It is recommended to complete two steps before the installation:

  • Domain resolution if you want to use domain for this application (Add an A record to the Internet IP Address of Server from Domain Control Panel)
  • Modify the MySQL password of root through http://Internet IP Address/phpmyadmin

Then access the installation page and complete the installation wizard for the following steps:

  1. Local Chrome or Firefox to visit http://yourdomain or http://Internet IP Address,you will enter the configuration inerface of installation
  2. Set the site information and Super User Account Details,then Cick “next” button
  3. Flowing step you should complete the Database Configuration below(Database type is “MySQLi”,hostname is “localhost” and usename/password please refer to the relevant section of documentation:Frequently used Usernames and Passwords)
  4. Click the “next” button when complete the Database Configuration,the wizard will start to install.
  5. Please delete the “installation folder” by Putty below.
  6. Click the “Administrator” button to enter the login page of Joomla now,Log in as administator account which you have set in the first step of installation
  7. You can use the Joomla Backend to setup your site now

Three usernames and passwords are required for application installation, application using, andapplication maintenance:

1、Joomla:Username and Password is set by youself when installation,
Backend URL:http://youdomain.com/administrator
2、MySQL Database:Default username and password is root/123456
Control Panel URL:http://Internet IP Address/phpmyadmin
3、Linux Server:Username is root,Password is set by youself when buying.
Please Using the Putty for ssh remote and WinSCP for SFTP

Note:You can reset the password of OS through Cloud Console if you have forgotten it

Connect to a Linux instance using Windows OS

This section uses PuTTY as an example. PuTTY can be downloaded here.

You can connect to a Linux instance via PuTTY as follows:

  1. Start Putty.exe.
  2. Enter the public IP address of the instance in Host Name (or IP address).
  3. Use the default port 22.
  4. Select SSH as Connection Type.
  5. Type a session name in Saved Sessions, and then click Save. In later logins, you may directly load the session without re-entering the IP address.
  6. Click Open to connect.
  7. Upon first connection, the following dialog box will be displayed. Click Yes.
  8. As prompted, enter the username and password for the Linux ECS instance. The password will not be displayed on-screen. Press the Enter key to complete connection to the instance.

When you connect your computer to the Linux instance successfully, you can operate the instance from your computer.

Use SFTP you can mange file,upload and download file,configure Server.

  1. Start WinSCP. Login Dialog will appear.
  2. Then select your File protocol(SFTP) on the dialog
  3. Enter your host name to Host name field, username to User name and password to Password like below
  4. You may want to save your session details to a site so you do not need to type them in every time you want to connect. Press Save button and type site name.
  5. When appear the dialog below,please select the “yes”
  6. You can manane Linux file below
  7. WinSCP can integrate the Putty and transfer the log in information to Putty
  8. Now you can use Putty(Not need to log in) from the menu bar of WinSCP

Following is the step for access phpMyadmin

  1. Open Chrome or Firefox on your local PC
  2. visit the http://Internet IP Address/phpMyAdmin,you can enter the login page
  3. select you language,Username:root,Password:123456
  4. Click the button “Go”

Joomla! already is a rich featured content management system, but if you’re building a website with Joomla! and you need extra features which aren’t available in Joomla! by default, you can easily extend it with extensions. There are five types of extensions for Joomla!: Components, Modules, Plugins, Templates, and Languages. Each of these extensions handle specific functionality (some built-in features of Joomla! are implemented using extensions).

An extension is a software package that extends your Joomla! installation in some way. A small selection of extensions is included with the default Joomla! installation but many more are available from the Joomla! Extensions Directory.

The term extension is generic and the following specific extension types are available:

  • Component (since Joomla 1.0) – adds custom functions to your site that can be selected from menus
  • Language (since Joomla 1.0) – defines an additional language for your site
  • Library (since Joomla 2.5) – provides functions to be used by other extensions
  • Module (since Joomla 1.0) – shows nonessential data in a side box, possibly on multiple pages
  • Package (since Joomla 2.5) – bundles related extensions
  • Plugin (since Joomla 1.5) – modifies content in articles or provides functions to extend other extensions
  • Template (since Joomla 1.0) – define the look, feel, and navigation capabilities of your site

For an overview of the most important extension types and the functionality they provide, see Extension types (general definitions).

There are 4 methods of installing an extension. You can upload an extension, install from a directory, install from a URL or install from web.

Components

Components are the largest and most complex extensions of them all; they can be seen as mini-applications. Most components have two parts: a site part and an administrator part. Every time a Joomla! page is requested, one component is called to render the body of the page. For example, Content (com_content) is the component which handles the display of content; users can view at the frontend of your site and, as an administrator, you can edit the content. Components are the major portion of your page because a component is driven by a menu item and every menu item runs a component.

Examples: Content (com_content), Banners (com_banners), Contacts (com_contact), News Feeds (com_newsfeeds) and Web Links (com_weblinks)

Management feature: Admin head menu > “Components” > (“Contacts” for com_contact)

Modules

Modules are more lightweight and flexible extensions used for page rendering. These modules are mostly known as the “boxes” that are arranged around a component, for example: the login module. The Footer is a module. Modules are assigned per menu item. So, you can decide to show or hide the login module depending on which menu item the user is viewing. Sometimes modules are linked to components such as the “Latest News” module which links to the com_content and displays links to the newest content items. However, modules do not need to be linked to components, as a matter of fact they don’t even need to be linked to anything and can be just static HTML or text.

Examples: Banners (mod_banners), Menus (mod_menu), Who’s Online (mod_whosonline)

Management feature: Admin head menu > “Extensions” > “Module Manager”

Plugins

Plugins are more advanced extensions and are in essence event handlers. In the execution of any part of Joomla, be it the core, a module or a component, an event can be triggered. When an event is triggered, plugins that are registered with the application to handle that event execute. For example, a plugin could be used to intercept user-submitted articles and filter out bad words.

Examples: Content – Load Modules, Editor – TinyMCE

Management feature: Admin head menu > “Extensions” > “Plugin Manager”

Templates

A template is basically the design of your Joomla! powered website. With a template you can change the look and feel of your website. Templates have certain fields in which the component (just one) and modules (as many as you like) will be shown. Templates are easy to build or customize and they provide maximum flexibility in how you style your site.

Management feature: Admin head menu > “Extensions” > “Template Manager”

Languages

Probably the most basic extensions are languages. Languages can be packaged in two ways: either as a core package or as an extension package. In essence, both the core and the extension language package files consist of key/value pairs, which provide the translation of static text strings, assigned within the Joomla! source code. These language packs will affect both the front and administrator side of your Joomla site. Note: these language packs also include an XML meta file which describes the language.

Management feature: Admin head menu > “Extensions” > “Language Manager”

Routine backup (archives) of the database and application setup is essential to ensure failover is smooth.

Backup is based on the server snapshot automatic backup and manual local backup in two ways, both of which have their own advantages and disadvantages, it is recommended to use together

Automatic Backup by Snapshot of Server

IaaS provider have the “snapshot” function for Server, the snapshot is for the server disk. Snapshot tool can record the specified point in time the hard disk data, all backed up, and can achieve a key recovery.

If you have an automatic snapshot of the disk settings, the following scenes you can be more calm face:

  • Work a few days of the results, was mistakenly deleted
  • Hackers damage your site
  • The content has been messed up

Done a snapshot backup, a key to restore to the backup point of time state. That is, on-site reduction, very good function.

Different cloud vendor snapshot settings slightly different, specific reference:

Using Akeeba Backup(Joomla component) for Backup

Akeeba Backup Core is the most widely used open-source backup component for the Joomla! CMS. Its mission is simple: create a site backup that can be restored on any Joomla!-capable server, making it ideal not only for backups but also for site transfers or even deploying sites to your clients’ servers. Akeeba Backup creates a full backup of your site in a single archive. The archive contains all the files, a database snapshot and an installer similar in function to the standard Joomla! installer. The backup and restore process is AJAX powered to avoid server timeouts, even with huge sites. Alternatively, you can make a backup of only your database, or only your files. Akeeba Backup is the reliable, easy to use, open source backup solution for your Joomla! site.

Features:

  • The Configuration Wizard configures itself for optimal operation with your site, automatically.
  • The fastest and most reliable native PHP backup engine.
  • One click backup.
  • Integrated restoration for same server restoration.
  • Site transfer wizard. Transfer your site between servers fast and easily.
  • Restore with Akeeba Kickstart (free of charge script): restore extracting the backup directly on the server; no need to upload thousands of files by FTP!
  • Choose between standard ZIP or highly efficient JPA archive format.
  • Exclude specific files, folders.
  • Exclude specific database tables or their contents.
  • Unattended backup mode (CRON job scheduling), fully compatible with Webcron.org
  • Archives can be restored on any host. Useful for transferring your site between subdomains/hosts or even to/from your local testing server (e.g. XAMPP, WAMPServer, MAMP, etc).

How to use it?

  1. Download from Akeedba website

  2. Dashboard->Extensions->Manage->Install,Upload Package File
  3. Complete the installation of Akeeda
  4. Dashboard->System->Control Panel,you can find the link ” Backup is up-to-date”
  5. Enter the Akeeba Backup panel,and please do the “Configuration Wizard”
  6. Click the button “Backup Now”

Manual Backup

  1. Download the entire Joomla file in you root dictionary by FTP or other tools
  2. Visit http://< Internet IP Address >/phpMyAdmin,login in to the phpMyAdmin Panel
  3. Select you database,then Export
  4. Click “go” button,then download the SQL backup file

How to restore backups?

Restore backups is very easy if you have used the Akeeba

Select the check box next to a backup entry. Now click on the Restore button in the toolbar.

 

Keeping Joomla up to date is important to make sure that your Joomla is as safe and as awesome as possible.

Do you need to update your Joomla installation? If an update is available there will be a message indicating an update with a button to press.

You will also see a notice in the ‘left sidebar’ at the bottom.

Joomla will notify you on your Administrator home page (control panel) when an update is available. It will not automatically do the update for you. It is the responsibility of the administrator to start and verify the update was successful.

The following are the recommended steps needed to complete an update to your Joomla CMS installation.

 

Live Update

Not only is this the recommended method, it is the easiest method of updating the Joomla CMS. Sometimes this method is referred to as a One click update. If you are unable to use this method because of specific use cases (distributions, languages, host speed), you can update the Joomla CMS using the install method update

This method is suitable for
  • All Joomla CMS 3.x.x to 3.x.x – updates (maintenance update)
This method is not suitable for

Step 1: Backup

Make sure you have a CURRENT BACKUP of your site! In many cases, your host will make periodic site backups. DO NOT rely on these backups! It is STRONGLY RECOMMENDED you preform your own backup.

Step 2: The Update Component

You will need to navigate to the update component. Click the update ‘button’ or the ‘sidebar link’ previously shown above or use the main menu, select and click Components  Joomla! Update. You will now see the below image.

Select, ‘Write files directly’ (default) or ‘Write files using FTP’ as the method of uploading the new core files to your installation. Did you backup? See Step 1 above.

Step 3: Start the Update

Click the “Install the Update” button and the updating will begin.

When the update has completed, you will see a success notice with the new version.

Note:When the update has completed you may need to empty your browser cache to adjust for any template CSS changes.

Update Configurations

In most cases you will not have to change these settings. The default choices make sure your Joomla CMS installation is always being checked against the correct update server and the appropriate person with administrator access can update the installation.

The options screen is reached by clicking the ‘options’ button on the main Joomla! Update screen. Once you click the ‘options’ button, you will see the following image.

Setting Update Server

The update notice you will see on the home administrator depends on the setting of the Update Server and caching.

The first option shows the latest update of the major release in use (default). The second option shows the latest update of the latest major. Caching may cause not detecting an available update and you must purge the cache.

Permissions

The PHP configuration file allows you to configure the modules enabled, the email settings or the size of the upload files. It is located at /etc/php.ini.

There are some PHP settings that need to be sufficient when running your application,The values for PHP.ini below are suggested values only.

  • memory_limit – Minimum: 128M Recommended: 512M or better
  • upload_max_filesize – Minimum: 20M
  • post_max_size – Minimum: 20M
  • max_execution_time: At Least 120 Recommended: 300

After modifying the PHP configuration file, restart both Apache and PHP-FPM for the changes to take effect:

# systemctl restart httpd

How to modify the allowed limit for upload?

Modify the  /etc/php.ini file to increase the allowed size for uploads:

; Maximum size of POST data that PHP will accept.
post_max_size = 16M
; Maximum allowed size for uploaded files.
upload_max_filesize = 16M

then,restart the apache

# systemctl restart httpd

How to change the max_execution_time?

If you receive the message “Maximum execution time of 30 seconds exceeded”.You may also like to extend the max_execution_time for PHP and you can modify it by two methods below

Method one: edit your  /etc/php.ini


; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 90
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.

Method two: edit your .htaccess:


<IfModule mod_php5.c>
php_value max_execution_time 90
</IfModule>

Apache http service

~# systemctl start httpd
~# systemctl stop httpd
~# systemctl restart httpd

MySQL  service

~# systemctl start mysqld
~# systemctl stop mysqld
~# systemctl restart mysqld

Use domain you should complete the following steps:

Step One:Domain resolution

e.g,If you using the AliCloud Domain product,you should log in to your Domain Console Panel

And find the domain name resolution interface,then add an A record to the Internet IP Address of Server from Domain Control Panel.

Step One:Modify the Vhost file

  1. Using SFTP to edit the /ect/httpd/conf.d/vhost.conf
  2. Modify the domain related information like below,then save it
    <VirtualHost *:80>
    ServerName www.mydomain.com
    ServerAlias mydomain.com
  3. Using putty to run the command “systemctl restart httpd”

When install new extension from back-end it will not successful,may be the permissions of file and folder is not appropriate,you should change it

Web site root permissions to follow:
file 0644/ folder 0755 Permissions Users and groups apache/apache
If there is a file permissions problem, execute the following three commands:

~# chown -R apache.apache /data/wwwroot/joomla
~# find /data/wwwroot/joomla -type d -exec chmod 755 {} \;
~# find /data/wwwroot/joomla -type f -exec chmod 644 {} \;

Normally, you can add, edit and delete users and passwords from the back-end User Manager. To do this, you must be logged in as a member of the Super Administrator group.

In some situations, this may not be possible. For example, your site may have been “hacked” and had the passwords or users changed. Or perhaps the person who knew the passwords is no longer available. Or maybe you have forgotten the password that was used.

In these cases, it is still possible to alter the Joomla! database so you can log back in as a Super Administrator. These are the possible methods available to Joomla! administrators.

Method 1: configuration.php file

If you have access to your configuration.php file for the Joomla installation on your server, then you can recover the password using the following method.

1. Using an FTP program connect to your site. Find the configuration.php file and look at the file permissions. If the permissions are 444 or some other value, then change the permissions of the configuration.php file to 644. This will help prevent issues when uploading the changed configuration.php file later in this process.

2. Download the configuration file.

3. Open the configuration.php file that was downloaded in a text editor such as notepad++ and add this line

public $root_user='myname';

to the bottom of the list where myname is a username with administrator access that you know the password for. An username that is Author level or higher can also be used in place of a username with administrator access.

4. Save the configuration.php file and upload it back to the site. You may leave the permissions on the configuration.php file at 644.

This user will now be a temporary super administrator.

5. Login to the back end and change the password of the administrator user you don’t have the password for or create a new super admin user. If you create the new user you may want to block or delete the old user depending on your circumstances.

6. When finished, make sure to use the “Click here to try to do it automatically” link that appears in the alert box to remove the line that was added to the configuration.php file. If using the link was not successful, then go back and delete the added line from your configuration.php file using a text editor. Upload the configuration.php file back to the site.

7. Using your FTP program verify the file permissions of the configuration.php file, they should be 444. If you manually removed the added line, then change the file permissions on the configuration.php file to 444.

If you have no users who know their passwords and you can’t utilize front end registration you may need to make a change in your database as outlined below in this document.

Method 2: Direct Editing of Database

If the methods above did not work, you have two other options, both of which require working with the MySQL database directly.

Read more from Joomla’s doc website:Password Recovery

Enabling the cache will boost the overall performance of your installation. You can enable easily the caching system through the administrator panel of Joomla!

Open the Cache

  1. Dashboard->System->Global Configuration,and go the System Tab,find the Cache Setting item
  2. Change cache setting to “ON – Conservative Caching”

Activate the Cache Plugin

Go to “Extensions -> Plugin Manager” tab, search for “cache” and enable the “System – Cache” extension.

Page Caching

  • Configuration: Built-in Plugin (Extensions -> Plugin Manager -> System – Page Cache)
  • Caches: each whole page of your site
  • Based on: URL
  • More info:
    • Optional browser caching: Also caches on your visitors’ browser/computer
    • Only caches pages for guest visitors (not for logged in visitors). Be careful using this plugin if you have an interactive site where you want to server content based on session/cookie information rather than on the plain URL only. Features like a shopping cart will not work.

Module Caching

  • Configuration: Global Config->Cache
  • Caches: each module (individually customized via each module’s Advanced Parameters)
  • More info: You must disable it on some modules to avoid problems

This Image supports the deployment of multiple applications (Web sites), following is the steps for adding new application:

  1. Using the SFTP to add new folder named “NewSite ” and upload the entire codes of application to /data/wwwroot/newsite
  2. Change the permissions of filesytem for NewSite folder
  3. Using SFTP to enter the /ect/httpd/conf.d directory,add new conf file,e.g. File name is www.newsite.com.conf
  4. Copy the following content to www.newsite.com.conf and modify the the domain part if needed,then save it
<VirtualHost *:80>
ServerName www.newsite.com
ServerAlias newsite.com
DocumentRoot "/data/wwwroot/default/newsite"
ErrorLog "/var/log/httpd/www.newsite.com_error_apache.log"
CustomLog "/var/log/httpd/www.newste.com_apache.log" common
<Directory "/data/wwwroot/default/newsite">
Options Indexes FollowSymlinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

If you have no domain or you don’t want to use domain,you should copy the following contents to conf file on step”4″:

Alias /mysite "/data/wwwroot/default/newsite"   
 <Directory "/data/wwwroot/default/newsite">
	        Options Indexes FollowSymlinks
	        AllowOverride All
	        Require all granted
	    </Directory>

Run the “systemctl restart httpd ” command,visit the URL http://www.newsite.com or http://ip/newsite to run Installation Wizard of new site

Note:Apache configuration rules and syntax is very flexible, the above is for reference only