2

How to Install ExpressionEngine CMS on Ubuntu 18.04 LTS

 2 years ago
source link: https://www.vultr.com/docs/how-to-install-expressionengine-cms-on-ubuntu-18-04-lts
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
<?xml encoding="utf-8" ??>

ExpressionEngine is a mature, flexible, secure and free open-source content management system (CMS) written in PHP. Its source code is hosted on Github. With ExpressionEngine, you can build full-featured websites, create a web app or serve content to mobile applications. All without requiring complex programming skills. This guide will walk you through the ExpressionEngine installation process on a fresh Ubuntu 18.04 LTS Vultr instance using PHP, MySQL as a database, and Nginx as a web server.

Requirements

ExpressionEngine requires a web server running PHP and MySQL. The recommend software stack and versions are:

  • PHP version 7.0 or greater, running with PHP-FPM and with the following PHP extensions:

    • gd
    • fileinfo
    • intl
    • mbstring
  • MySQL version 5.6 or greater or Percona version 5.6 or greater. This tutorial will use MySQL.
  • A web server like Nginx or Apache. This guide will use Nginx.

Before you begin

Check the Ubuntu version.

lsb_release -ds
# Ubuntu 18.04.2 LTS

Create a new non-root user account with sudo access and switch to it.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

NOTE: Replace johndoe with your username.

Set up the timezone.

sudo dpkg-reconfigure tzdata

Ensure that your system is up to date.

sudo apt update && sudo apt upgrade -y

Install needed packages.

sudo apt install -y zip unzip curl wget git

Install PHP

Install PHP, as well as the necessary PHP extensions.

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-gd php7.2-intl php7.2-mysql

Check the version.

php --version

# PHP 7.2.19-0ubuntu0.18.04.1 (cli) (built: Jun  4 2019 14:48:12) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
#     with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Install MySQL

Install MySQL.

sudo apt install -y mysql-server

Check the version.

mysql --version
# mysql  Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using  EditLine wrapper

Run the mysql_secure_installation script to improve the security of your MySQL installation.

sudo mysql_secure_installation

Log into MySQL as the root user.

sudo mysql -u root -p
# Enter password:

Create a new MySQL database and database user, and remember the credentials.

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> quit

NOTE: Replace dbname and username with appropriate names for your setup. Replace password with a strong password.

Install Nginx

Install Nginx.

sudo apt install -y nginx

Check the version.

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Configure Nginx for ExpressionEngine. Run sudo vim /etc/nginx/sites-available/expressionengine.conf and populate the file with the following configuration.

server {

  listen [::]:80;
  listen 80;

  server_name example.com;
  root /var/www/expressionengine;

  index index.php;

  location / {
    index index.php;
    try_files $uri $uri/ @ee;
  }

  location @ee {
    rewrite ^(.*) /index.php?$1 last;
  }

  location ~* \.php$ {
    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    include fastcgi_params;
    fastcgi_index index.php5;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

}

Save the file and exit with :+W+Q.

Activate the new expressionengine.conf configuration by linking the file to the sites-enabled directory.

sudo ln -s /etc/nginx/sites-available/expressionengine.conf /etc/nginx/sites-enabled/

Test the configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Install ExpressionEngine

Create a document root directory.

sudo mkdir -p /var/www/expressionengine

Change ownership of the /var/www/expressionengine directory to johndoe.

sudo chown -R johndoe:johndoe /var/www/expressionengine

Navigate to the document root folder.

cd /var/www/expressionengine

Download the latest release of ExpressionEngine and unzip the files to a folder on your server.

wget -O ee.zip --referer https://expressionengine.com/ 'https://expressionengine.com/?ACT=243'
unzip ee.zip
rm ee.zip

Change ownership of the /var/www/expressionengine directory to www-data.

sudo chown -R www-data:www-data /var/www/expressionengine

Point your browser to the URL of the admin.php file you uploaded. For example: http://example.com/admin.php. Follow the on-screen instructions to install ExpressionEngine. Once the installation wizard is finished, you should rename or remove the system/ee/installer/ directory from your server.

Want to contribute?

You could earn up to $600 by adding new articles


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK