How to Install Typemill on FreeBSD Latest

This tutorial will guide you through the steps to install Typemill on FreeBSD.

Prerequisites

  • FreeBSD latest version with root access
  • Apache or NGINX web server
  • PHP version >=7.3
  • MySQL or MariaDB database server

Step 1 - Install Packages

You need to make sure that your FreeBSD system is up to date by running the following command:

pkg update && pkg upgrade

Next, install the following packages:

pkg install php73 php73-mbstring php73-gd php73-json php73-zip php73-mysqli

Step 2 - Download and Install Typemill

Download and unzip the Typemill zip file from their website:

fetch https://typemill.net/download/typemill-latest.zip
unzip typemill-latest.zip

Move the typemill directory to your web server root directory:

mv typemill /usr/local/www/

Change the ownership of typemill directory to the web server user:

chown -R www:www /usr/local/www/typemill

Step 3 - Configure the Web Server

Apache

For Apache web server, you will need to create a new virtual host configuration file:

nano /usr/local/etc/apache24/Includes/typemill.conf

Add the following content to the configuration file:

<VirtualHost *:80>
    ServerName your-domain.com
    DocumentRoot /usr/local/www/typemill

    <Directory /usr/local/www/typemill>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Enable the Apache rewrite module:

echo 'LoadModule rewrite_module libexec/apache24/mod_rewrite.so' > /usr/local/etc/apache24/modules.d/020_mod_rewrite.conf && apachectl graceful

NGINX

For NGINX web server, you will need to create a new server block configuration file:

nano /usr/local/etc/nginx/conf.d/typemill.conf

Add the following content to the configuration file:

server {
    server_name your-domain.com;
    root /usr/local/www/typemill;

    index index.php;

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

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

Step 4 - Configure the Database

Create a new database and user for Typemill:

mysql -u root -p
CREATE DATABASE typemill;
CREATE USER 'typemilluser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON typemill.* TO 'typemilluser'@'localhost';
FLUSH PRIVILEGES;
exit;

Step 5 - Configure Typemill

Copy the configuration file template and make changes according to your environment:

cp /usr/local/www/typemill/templates/settings.default.ini /usr/local/www/typemill/settings.ini
nano /usr/local/www/typemill/settings.ini

Edit the following parameters:

[database]
host=127.0.0.1
database=typemill
username=typemilluser
password=yourpassword

[system]
baseurl=http://your-domain.com

Step 6 - Access Typemill Web Installer

Open a web browser and navigate to http://your-domain.com/typemill/setup. Follow the instructions to complete the installation process.

Conclusion

You have successfully installed Typemill on your FreeBSD server. You can now create and publish your own static website with Typemill.