How to Install Craft CMS on Ubuntu 16.04 LTS

Craft CMS is an open source CMS written in PHP. Craft CMS source code is hosted on GitHub. This guide will show you how to install Craft CMS on a fresh Ubuntu 16.04 LTS Vultr instance.

Requirements

Server Requirements

  • PHP 5.3.0 - 7.1.x with safe mode disabled
  • MySQL 5.1.0 or later, with the InnoDB storage engine installed
  • A web server (Apache, Nginx, IIS)
  • A minimum of 32MB of memory allocated to PHP
  • A minimum of 20MB of free disk space
  • A minimum of 1MB of database space

Required PHP Extensions

  • Reflection Extension
  • PCRE Extension
  • SPL Extension
  • PDO Extension
  • PDO MySQL Extension
  • Mcrypt Extension
  • GD Extension with FreeType Support (unless ImageMagick Extension is installed)
  • OpenSSL Extension
  • Multibyte String Extension
  • JSON Extension
  • cURL
  • crypt() with BLOWFISH_CRYPT enabled

Optional PHP Extensions

  • DOM Extension
  • iconv Extension
  • ImageMagick Extension
  • SimpleXML

Before you begin

Check the Ubuntu version.

lsb_release -ds
# Ubuntu 16.04.4 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

Step 1 - Install PHP and required PHP extensions, MySQL and NGINX

Download and install PHP 7.0 and required PHP extensions. We will also install optional PHP extensions.

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-mysql php7.0-mcrypt php7.0-gd php7.0-mbstring php7.0-json php7.0-curl php7.0-xml php7.0-common php-imagick

Check PHP version.

php --version

# PHP 7.0.28-0ubuntu0.16.04.1 (cli) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
#     with Zend OPcache v7.0.28-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

Because there are many existing Vultr Docs detailing the installation of MySQL and NGINX, this article will only cover the configuration of NGINX. You will need to create a database for Craft.

Step 2 - Configure NGINX

Run sudo vim /etc/nginx/sites-available/craft.conf and copy/paste the following.

server {
  listen [::]:80;
  listen 80;

  server_name example.com;
  root /var/www/craft/public;

  index index.html index.htm index.php;
  charset utf-8;

  location / {
    try_files $uri/index.html $uri $uri/ /index.php?$query_string;
  }

  location ~ [^/]\.php(/|$) {
    try_files $uri $uri/ /index.php?$query_string;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param HTTP_PROXY "";       
  }
}

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

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

Test the NGINX configuration.

sudo nginx -t

Reload NGINX.

sudo systemctl reload nginx.service

Step 3 - Download and install Craft CMS

Create a document root directory.

sudo mkdir -p /var/www/craft

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

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

Navigate to document root.

cd /var/www/craft

Download the latest stable release of Craft CMS.

wget https://download.craftcdn.com/craft/2.6/2.6.3012/Craft-2.6.3012.zip

Install unzip package.

sudo apt install unzip

Unzip Craft CMS.

unzip Craft-2.6.3012.zip
rm Craft-2.6.3012.zip

Tell Craft how to connect to your database.

vim craft/config/db.php

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

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

Run sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf and append the following directive at the end of this file.

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Now that everything’s set up, point your browser to http://example.com/admin and follow the Craft installer.

To access Craft's administrative interface append /admin to your IP/domain.


Kako instalirati Thelia 2.3 na Debian 9

Kako instalirati Thelia 2.3 na Debian 9

Korištenje drugog sustava? Thelia je alat otvorenog koda za izradu web stranica e-poslovanja i upravljanje online sadržajem napisanim u PHP-u. Thelia izvorni kod i

Kako instalirati Microweber na CentOS 7

Kako instalirati Microweber na CentOS 7

Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati

Instalacija Microwebera na Ubuntu 16.04

Instalacija Microwebera na Ubuntu 16.04

Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati

Kako instalirati dotCMS na Ubuntu 16.04

Kako instalirati dotCMS na Ubuntu 16.04

Korištenje drugog sustava? DotCMS je open-source sustav za upravljanje sadržajem poslovnog razreda napisan na Javi. Sadrži gotovo sve potrebne značajke t

Kako instalirati Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Kako instalirati Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Korištenje drugog sustava? Pagekit 1.0 CMS je prekrasan, modularan, proširiv i lagan, besplatan i otvoreni sustav za upravljanje sadržajem (CMS) s

Kako instalirati BigTree CMS na Fedora 26 LAMP VPS

Kako instalirati BigTree CMS na Fedora 26 LAMP VPS

Korištenje drugog sustava? BigTree CMS 4.2 brz je i lagan, besplatan i otvoreni izvor, sustav upravljanja sadržajem (CMS) poslovnog ranga s opsežnim

Instalacija Pagekit CMS-a na Ubuntu 16.04 LTS

Instalacija Pagekit CMS-a na Ubuntu 16.04 LTS

Korištenje drugog sustava? Pagekit je CMS otvorenog koda napisan u PHP-u. Izvorni kod Pagekita nalazi se na GitHubu. Ovaj vodič će vam pokazati kako instalirati

Kako instalirati PyroCMS na Ubuntu 16.04

Kako instalirati PyroCMS na Ubuntu 16.04

Korištenje drugog sustava? PyroCMS je CMS otvorenog koda napisan u PHP-u. PyroCMS izvorni kod se nalazi na GitHubu. U ovom vodiču dobro prošetajte cijelim

Kako instalirati Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Kako instalirati Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Korištenje drugog sustava? Subrion 4.1 CMS je moćan i fleksibilan sustav upravljanja sadržajem otvorenog koda (CMS) koji donosi intuitivan i jasan sadržaj

Kako instalirati Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Kako instalirati Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Korištenje drugog sustava? Backdrop CMS 1.8.0 je jednostavan i fleksibilan, prilagođen mobilnim uređajima, besplatan i otvoreni sustav za upravljanje sadržajem (CMS) koji nam omogućuje

Kako instalirati Roadiz CMS na Debian 9

Kako instalirati Roadiz CMS na Debian 9

Korištenje drugog sustava? Uvod Roadiz je moderan CMS dizajniran za rukovanje mnogim vrstama usluga. Na temelju Symfony komponenti i Doctrine ORM, tj

Instalacija Microwebera na Debian 9

Instalacija Microwebera na Debian 9

Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati

Kako instalirati Grav CMS na Fedora 28

Kako instalirati Grav CMS na Fedora 28

Korištenje drugog sustava? Grav je CMS otvorenog koda s ravnim datotekama napisan u PHP-u. Izvorni kod Grav-a javno se nalazi na GitHubu. Ovaj vodič će vam pokazati kako t

Kako instalirati Grav CMS na Debian 9

Kako instalirati Grav CMS na Debian 9

Korištenje drugog sustava? Grav je CMS otvorenog koda s ravnim datotekama napisan u PHP-u. Izvorni kod Grav-a javno se nalazi na GitHubu. Ovaj vodič će vam pokazati kako t

Kako instalirati Automad CMS na CentOS 7

Kako instalirati Automad CMS na CentOS 7

Korištenje drugog sustava? Automad je open source sustav za upravljanje sadržajem (CMS) i predložak napisan u PHP-u. Izvorni kod Automada i

Kako instalirati Raneto na Ubuntu 17.10

Kako instalirati Raneto na Ubuntu 17.10

Raneto je besplatna baza znanja otvorenog koda, izgrađena na Node.js koja je jednostavna za postavljanje i korištenje, kao i za administraciju. Kategorije i stranice ar

How to Install Thelia 2.3 on Ubuntu 16.04

How to Install Thelia 2.3 on Ubuntu 16.04

Using a Different System? Thelia is an open source tool for creating e-business websites and managing online content written in PHP. Thelia source code i

Kako instalirati listopad 1.0 CMS na Debian 9 LAMP VPS

Kako instalirati listopad 1.0 CMS na Debian 9 LAMP VPS

Korištenje drugog sustava? Listopad 1.0 CMS je jednostavan i pouzdan, besplatan i otvoreni sustav za upravljanje sadržajem (CMS) izgrađen na Laravel okviru

Kako instalirati ImpressPages CMS 5.0 na Ubuntu 16.04 LAMP VPS

Kako instalirati ImpressPages CMS 5.0 na Ubuntu 16.04 LAMP VPS

Korištenje drugog sustava? ImpressPages CMS 5.0 je jednostavan i učinkovit, besplatan i otvorenog koda, prilagođen korisniku, baziran na MVC-u, sustav za upravljanje sadržajem (CMS)

Kako instalirati CMS Made Simple 2.2 na Debian 9 LAMP VPS

Kako instalirati CMS Made Simple 2.2 na Debian 9 LAMP VPS

Korištenje drugog sustava? CMS Made Simple 2.2 je fleksibilan i proširiv, besplatan i otvoreni sustav za upravljanje sadržajem (CMS) inteligentno dizajniran za b

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više