Introduction
MODX is an open source secure and effective content management system that is based on PHP language. Since it features an easy to use interface, it allows webmasters and other users to create responsive and powerful content websites.
For those searching for a simple but reliable content management platform to manage the activities of your blogs or websites, MODX is a great option. This tutorial will take you through the process of installing MODX CMS on Ubuntu 18.04 LTS.
Prerequisites
Before you begin, you will need the following:
- A virtual machine running on Ubuntu 18.04
- A non-root user with sudo privileges.
With these items in check, we are good to go.
MODX requires a web server based on PHP languages and also utilizes MariaDB database for its functioning. For this reason, you need to install MariaDB,PHP, and Apache on your system.
To install LAMP stack follow the steps below:
Step 1- Installing Apache Server
Run the command below to update your system:
$ sudo apt update
To install Apache2 on Ubuntu, run the following command:
$ sudo apt install apache2
Once Apache is installed, disable the directory listing by running the command below:
$ sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Next, you should start and enable Apache2 service to ensure it always starts when the server boots.
$ sudo systemctl start apache2.service $ sudo systemctl enable apache2.service
Step 2 – Installing MariaDB Database
Akeneo requires a database server to work properly and MariaDB is a good database server to start with. Run the command below to install it.
$ sudo apt-get install mariadb-server mariadb-client
Once you have installed MariaDB, use the command below to start and enable the newly installed MariaDB service and ensure it start every time the server boots.
$ sudo systemctl start mariadb.service $ sudo systemctl enable mariadb.service
Once you’re done, run the command below to secure the MariaDB service.
$ sudo mysql_secure_installation
You will be prompted to answer a few questions as shown below:
Enter current password for root (enter for none): Since you just installed MariaDB and no password is set, Press Enter.
Set root password? [Y/n]: Press Y
New password: Enter password
Re-enter new password: Repeat the password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Now restart the MariaDB server
$ sudo systemctl restart mysql.service
Step 3 – Installing PHP Modules
You may not find PHP 7.1 on default repositories on Ubuntu 18.04. So, to install this service, you have to download it from third-party repositories.
To add a third party repository (Ondrej PHP repository), run the following commands:
$ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:ondrej/php
Now, update the settings and upgrade the service to PHP 7.1.
$ sudo apt update
To install PHP 7.1 and it’s related modules, run the following commands:
$ sudo apt install php7.1 libapache2-mod-php7.1 php7.1-apcu php7.1-bcmath php7.1-common php7.1-mbstring php7.1-xmlrpc php7.1-soap php7.1-gd php7.1-xml php7.1-intl php7.1-mysql php7.1-cli php7.1-mcrypt php7.1-ldap php7.1-zip php7.1-curl
Once PHP is installed, open the default file for Apache2 PHP using the following commands:
$ sudo nano /etc/php/7.1/apache2/php.ini
Now, make the following changes by editing the lines in the file then save.
file_uploads = On allow_url_fopen = On memory_limit = 256M upload_max_filesize = 100M max_execution_time = 30 max_input_vars = 1500 date.timezone = America/Chicago
Step 2: Creating A Database for MODX CMS
After securing MariaDB, now log into MariaDB shell:
$ sudo mysql -u root -p
Create a database and a root password for MODX:
MariaDB [(none)]> CREATE DATABASE modxdb;
You also need to create a user for MODX database and grant it privileges:
MariaDB [(none)]> CREATE USER 'modx'@'localhost' IDENTIFIED BY 'password'; MariaDB [(none)]> GRANT ALL ON modxdb.* TO 'modx'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
The next step is to flush out the privileges using the command below:
MariaDB [(none)]> FLUSH PRIVILEGES;
Now, save and exit the MariaDB shell:
MariaDB [(none)]> exit;
Step 3: Installing MODX
The first step here is to download the current stable version of MODX from their website. Use the command below to download it:
$ wget https://modx.s3.amazonaws.com/releases/2.6.3/modx-2.6.3-pl.zip
After completing the download, extract the file using the command below:
$ unzip modx-2.6.3-pl.zip
The next step is to copy this file to the web root directory on Apache:
$ sudo cp -r modx-2.6.3-pl /var/www/html/modx
Now, grant permissions to MODX directory:
$ sudo chown -R www-data:www-data /var/www/html/modx $ sudo chmod -R 775/var/www/html/modx
MODX needs an apache virtual host directive, we’ll execute the commands below to to create one.
$ sudo nano /etc/apache2/sites-available/modx.conf
Now, include these lines to your configuration:
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot /var/www/html/modx ServerName example.com ServerAlias www.example.com <Directory /var/www/html/modx/> Options +FollowSymlinks AllowOverrideAll Requireall granted </Directory> ErrorLog${APACHE_LOG_DIR}/modx_error.log CustomLog${APACHE_LOG_DIR}/modx_access.log combined </VirtualHost>
Save and exit the file once you’re done.
Next execute the commands below to start MODX virtual host file and enable Apache rewrite module using:
$ sudo a2ensite modx.conf $ sudo a2enmod rewrite
Once, that is done, run the command below to restart apache.
$ sudo systemctl restart apache2
Step 4: Accessing MODX
Go to your web browser then enter the URLhttp://example.com/setup. Then follow the on-screen instructions until MODX is successfully installed.
First, select the language you want then press the Select .
Press the Next to initiate the installation.
Select New installation then press Next to proceed.
Now, enter the admin and database information, then click the Next.
Next, press the Install button start installing MODX on your system. The page below will appear:
The page below will appear. Click the Next button:
Then, click Login:
Enter the admin login details and press the Login as shown below:
You should see the page below to show MODX is installed successfully:
Conclusion
At this point, you should see a congratulations message to show you that you have successfully installed MODX on Ubuntu 18.04 LTS. Over to you now, try these steps and enjoy creating more powerful and dynamic websites.
Check out these top 3 Linux hosting services
- Looking for Top web hosting? Clicking on this link can be the solution.