From Joomla! Documentation
Nov 02, 2019 It's not possible to connect to a MySQL 8 Database using Joomla. The reason is that MySQL 8 has a lot of changes under the hood. One change that affects Joomla is the default authentication plugin which is sha256password instead of mysqlnativepassword. Is the only major CMS that is built entirely by volunteers from all over the world. We have a strong community bond and all take pleasure in building something that has a large global impact. If you are interested in volunteering please head over to the volunteer portal.
Docker run -name some-mysql -e MYSQLROOTPASSWORD=passW0rd -e MYSQLDATABASE=joomla -e MYSQLUSER=joomla -e MYSQLPASSWORD=joomP455 -d mysql:latest That didn’t work, though. When I started the Joomla container using the following command.
Deutsch • English • français • Nederlands
MySQL default authentication plugin issue
It's not possible to connect to a MySQL 8 Database using Joomla . The reason is that MySQL 8 has a lot of changes under the hood. One change that affects Joomla is the default authentication plugin which is sha256_password instead of mysql_native_password. The native PHP MySQL-Driver don't support MySQL 8 with this plugin yet other programming languages like GO or PERL are struggling too. PHP 7.3 (alpha) is supporting MySQL 8 though.
Workaround to get Joomla working with MySQL 8
Fortunately there is a workaround! We can use the mysql_native_password default authentication plugin for MySQL. We need to open our configuration file sudo nano /etc/my.cnf (Please note that your file may be under a different directory) and add the following configuration:
If you don't have access to your config file then you can update your user as follows:
Replace username with the name of the user account and password with the password belonging to the account. Restart MySQL and you are done ..well, only if you have Joomla 3.8 or 3.9 installed.
How MySQL default authentication plugin works
The advantage of mysql_native_password is that it supports the challenge-response mechanism which is very quick and does not require encrypted connection. However, mysql_native_password relies on SHA1 algorithm and NIST has recommended to stop using it.
Further, if two user accounts use the same password, mysql_native_password transformation is the same in the mysql.user table. Although the hash does not expose information about the actual password, it still tells which two users use the same password. To avoid that, a salt should be used. A salt is basically a random number that is used as one of the parameters to cryptographic hash functions used to transform user passwords. Since a salt is random and different for each execution, even if two users use the same passwords, the end result of transformation would look very different. Since MySQL 5.6, sha256_password authentication plugin is supported. It uses multiple rounds of SHA256 hash on a salted password to make sure that the hash transformation is more secure. However, it requires either encrypted connections or support for an RSA key pair. So, while password security is stronger, secure connections and multiple rounds of hash transformations require more time in the authentication process.
caching_sha2_password tries to combine the best of both worlds. [1]
- ↑https://mysqlserverteam.com/mysql-8-0-4-new-default-authentication-plugin-caching_sha2_password/
Retrieved from 'https://docs.joomla.org/index.php?title=Joomla_and_MySQL_8&oldid=642119'
-->by Ruslan Yakushev
Introduction
Joomla is an open-source content management system (CMS) that lets you build Web sites and powerful online applications, such as:
- Corporate Web sites or portals
- Corporate intranets and extranets
- Online magazines, newspapers, and publications
- E-commerce and online reservations
- Government applications
- Small business Web sites
- Non-profit and organizational Web sites
- Community-based portals
- School and church Web sites
- Personal or family home pages
For more information about Joomla, visit the Joomla Web site.
This article describes how to install and configure Joomla for use with the FastCGI extension on Internet Information Services 7 (IIS 7) and above on Windows® Web Server 2008. The instructions assume that you have set up and configured the FastCGI extension and the PHP libraries. The instructions have been tested and found to work with the following software versions:
- PHP 5.2.9
- MySQL 5.1.34
- Joomla 1.5.14
Prerequisites
From the base default configuration file provided by PHP, modify the following lines in your Php.ini configuration:
- Define
extension_dir
asc:phpext
(for example, the location of your php extensions directory). - Uncomment
extension=php_mysql.dll
in the extensions list to enable MySQL support.
In order for Joomla to work correctly with IIS 7 and above, it is necessary to install an Update for IIS FastCGI module for IIS 7.
Download and Unpack the Application
First, download the latest stable release of Joomla. For this article, Joomla version 1.5.14 was used (future versions are likely to be similar to install). Uncompress the Joomla files and copy them to C:Inetpubwwwrootjoomla (or another directory of your choosing).
Before running the Joomla installer, create the configuration file Configuration.php, which Joomla uses to store key configuration settings. Assign write permissions to it with the command (from the installation directory):
The installer will modify the Configuration.php file with information provided during the installation process.
Joomla uses the AdministratorCache folder Tmp and therefore needs to be able to write and modify files in this folder. Grant 'modify' permissions to the folder:
Joomla uses the temporary folder Tmp to store temporary files and therefore needs to be able to write and modify files in this folder. Grant 'modify' permissions to the folder:
Set Up the Database
Before starting the installation procedure for Joomla, you must create a database on your server. Also create a user and grant this user 'db ownership' permission to the database. This article uses the following database information:
- Database name: joomla
- Database user: joomla
- Account password: joomla
Run the Installation Script
- Start the configuration procedure in a Web browser. Go to
http://localhost/joomla/
. (If the Index.php file is not in the browser default document, then add it.) - Select the language, and then click Next.Figure 1: Choose Language page
- Verify that all pre-installation checks are successful, and then click Next.Figure 2: Pre-installation Check page
- Review the GNU General Public License, and then click Next.Figure 3: License page
- On this page enter the following information, and then click Next.
- Host Name: localhost
- Username: joomla
- Password: joomla
- Database: joomlaFigure 4: Database Configuration page
- On the FTP Configuration page, select the No option button (not to enable FTP file system layer), and then click Next.Figure 5: FTP Configuration page
- Specify the site name and the administrator password. Click Next to complete the installation.Note: You may scroll down and install sample data if you prefer.Figure 6: Main Configuration page
- The Finish page appears, and you are instructed to delete the
C:inetpubwwwrootjoomlainstallation
directory.Figure 7: Finish page - You can now go to the Joomla site.Figure 8: Joomla site
Enable Search Engine Friendly URLs
By default, Joomla uses query string parameters for all the URLs it generates for your Web site. You change this by enabling search engine friendly URLs, a feature which relies on the URL rewriting functionality.
IIS 6.0 does not include URL rewriting capabilities; you can use a third-party URL rewriting product such as ISAPI_Rewrite or Ionics ISAPI Rewrite Filter.
IIS 7 and above includes URL rewriting support, which can be enabled by installing Microsoft URL Rewrite Module for IIS 7.
- Download and install the Microsoft URL Rewrite Module.
- If it does not already exist; create and open a Web.config file located in the
C:inetpubwwwrootjoomla
directory. - Paste the following XML code into this file. Free title motion graphics images.
- Save the web.config file.
- Open a Web browser, and log on to the Joomla administrator console at
http://localhost/joomla/administrator/
. - Click on Site --> Global Configuration menu to configure SEO Settings:
- Search Engine Friendly URLs - Yes
- Add suffix to URLs - No
Figure 9: Global Configuration page
- Click Apply to save the configuration.
- Restart Windows® Internet Explorer®.
- Go to
http://localhost/joomla/
. All links in Joomla pages now have URLs without query string parameters. If you click on any of these links, the server returns a correct response:Figure 10: Links in Joomla page
Note
Joomla 4 Mssql
This article updates ' Joomla! on IIS' by Ruslan Yakushev, published on December 12, 2008.
See Full List On Hub.docker.com
Links for Further Information
Drupal Mysql
- Setting up FastCGI for PHP.
- Using FastCGI to Host PHP Applications on IIS 7.0 and Above.
- Installing PHP on Windows Vista with FastCGI.
- Installing FastCGI Support On Server Core.
- FastCGI forum.
- PHP community forum.