How to Install BlogoText CMS on FreeBSD 13.0

Updated on January 13, 2022
How to Install BlogoText CMS on FreeBSD 13.0 header image

Introduction

BlogoText CMS is an open-source, lightweight content management system used to create small blogs and websites. Some of its significant features are:

  • Blog with comments and RSS feeds
  • Link sharing
  • RSS Reader
  • Image & file uploading and sharing
  • JSON/ZIP/HTML import &export
  • Support for add-ons

This article explains how to install BlogoText CMS on a FreeBSD 13.0 cloud server.

Prerequisites

  • Deploy a Vultr FreeBSD 13.0 aerver.
  • Create a non-root user with sudo access.
  • Install PHP version 5.5 or greater.
  • Install SQLite or MySQL with PDO support.

1. Install the Required Packages

Update the system package list.

$ freebsd-update fetch install

$ pkg update

Install the required packages.

$ pkg install -y sudo nano unzip wget bash

Install PHP 7.4 and the required modules.

$ sudo pkg install -y apache24 mysql80-server php74 mod_php74 php74-curl php74-session php74-gd php74-json php74-mbstring php74-xmlrpc php74-gmp php74-curl php74-mysqli php74-intl php74-sqlite3 php74-xml php74-zip php74-zlib php74-pdo php74-pear php74-pdo_mysql php74-filter php74-mysqli php74-zip php74-imap

Enable the PHP-FPM service.

$ sudo sysrc php_fpm_enable=yes

Start the PHP-FPM service.

$ sudo service php-fpm start

Copy the sample PHP configuration file to the live location.

$ sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

2. Create a BlogoText Database

Enable the MySQL service to start on system boot.

$ sudo sysrc mysql_enable="yes"

Start the MySQL service.

$ sudo service mysql-server start

Log in to the MySQL shell. Then, at the password prompt, press Enter to continue.

$ sudo mysql -u root -p

Create a database named blogotext.

CREATE DATABASE blogotext;

Create a blogotextuser database user with a strong password`.

CREATE USER 'blogotextuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ReplaceThisWithAStrongPassword';

Grant the user full access to the database.

GRANT ALL ON blogotext.* TO 'blogotextuser'@'localhost' WITH GRANT OPTION;

Save the changes made to the database.

FLUSH PRIVILEGES;

Exit the MySQL shell.

exit;

3. Install BlogoText

Download the latest version of BlogoText. Get the latest version from the official releases page.

$ wget https://github.com/BlogoText/blogotext/archive/3.7.6.zip

Unzip the downloaded files.

$ sudo unzip 3.7.6.zip

Crate the installation directory.

$ sudo mkdir -p /usr/local/www/apache24/data/blogotext

Move the extracted files into the installation directory.

$ sudo mv blogotext-3.7.6/* /usr/local/www/apache24/data/blogotext

Change the ownership of the installation directory to the www user.

$ sudo chown -R www:www /usr/local/www/apache24/data/blogotext

Set the access permissions for the directory for security.

$ sudo chmod -R 755 /usr/local/www/apache24/data/blogotext

4. Configure Apache

Enable the Apache service to start when the system boots.

$ sudo sysrc apache24_enable=yes

Start the Apache service.

$ sudo service apache24 start

Create a configuration file to allow Apache to work with PHP.

$ sudo nano /usr/local/etc/apache24/modules.d/001_mod-php.conf

Add the following lines of code to the file, then save and close the file.

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

Create an Apache configuration file for BlogoText named blogotext.conf.

$ sudo nano /usr/local/etc/apache24/Includes/blogotext.conf

Add this code to the file, then save and close the file.

<VirtualHost *:80>

    ServerAdmin admin@example.com
    DocumentRoot /usr/local/www/apache24/data/blogotext
    ServerName example.com

    <Directory /usr/local/www/apache24/data/blogotext/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>

</VirtualHost>

Test the configuration.

$ sudo apachectl configtest

Restart the Apache service.

$ sudo service apache24 restart

5. Access the BlogoText Web Interface

To access the BlogoText Web Interface, go to your browser and visit http://Server_IP/. For example:

http://192.0.2.11/

To access the administrator portal, visit http://Server_IP/admin/. For example:

http://192.0.2.11/admin

Conclusion

You have installed BlogoText on your server. Now you can access the installation page to complete the process by creating an administrator account and connecting your database.