How to Install Typesetter CMS on CentOS 7

Published on: Thu, Mar 9, 2017 at 6:02 pm EST

Typesetter is an open source CMS written in PHP focused on ease of use with True WYSIWYG editing and flat-file storage.

In this article, we will be installing Typesette on CentOS 7.

Prerequisites

  • A fresh Vultr CentOS 7 x64 server instance.
  • A sudo user.
  • The EPEL yum repository.

Step 1: Install the EPEL YUM repo and update the system

Log in to your server via SSH using the sudo user to install epel, update the system, and restart to apply the updates.

sudo yum install epel-release -y
sudo yum update -y && sudo shutdown -r now

Step 2: Install Apache

sudo yum install httpd -y

It is recommended to remove/disable the Apache default welcome page in production environments.

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Prevent Apache from listing web directory files to visitors:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Start the Apache service and enable it to auto-start on boot

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Step 3: Install PHP 7.1 and necessary extensions

Typesetter requires PHP 5.3 or later. In order to get better performance, we will install PHP 7.1 and its necessary extensions for Typesetter as follows:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-common php71w-mbstring php71w-xmlrpc php71w-gd php71w-xml php71w-intl php71w-cli php71w-mcrypt -y

Step 4: Install Typesetter

Download and uncompress the latest stable release of Typesetter (which is 5.0.3 at the time this article was written) from official Typesetter download page:

cd
wget https://www.typesettercms.com/Special_gpEasy?cmd=download -O Typesetter-5.0.3.zip 
sudo yum install unzip -y
sudo unzip Typesetter-5.0.3.zip -d /var/www/html

Set the ownership for the /var/www/html/Typesetter/data directory as follows:

sudo chown -R apache:apache /var/www/html/Typesetter/data

Create an Apache virtual host for Typesetter:

cat <<EOF | sudo tee -a /etc/httpd/conf.d/typesetter.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/Typesetter/
ServerName typesetter.example.com
ServerAlias www.typesetter.example.com
<Directory /var/www/html/Typesetter/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/typesetter.example.com-error_log
CustomLog /var/log/httpd/typesetter.example.com-access_log common
</VirtualHost>
EOF

Restart the Apache service to apply your modifications:

sudo systemctl restart httpd.service

Modify firewall rules in order to allow web access:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Once you your browser to http://203.0.113.1 for the first time, you will be presented with Typesetter installation wizard. In the Checking server... section, make sure that all test items are passed. In the Configuration section, input your own admin credentials:

  • Website Title: <Your Site Title>
  • Email Address: <admin@example.com>
  • Admin Username: <your-admin-name>
  • Admin Password: <your-admin-password>
  • Repeat Password: <your-admin-password>

Finally, click the Install button to finish the installation. In the Installation - v5.0.3 page, click the View your web site link to start navigating your Typesetter site.

For security purposes, you should delete the /var/www/html/Typesetter/include/install/install.php file after the installation:

sudo rm /var/www/html/Typesetter/include/install/install.php

That's it. Thanks for reading.