Table of Contents
Was this article helpful?
Try Vultr Today with

$50 Free on Us!

Want to contribute?

You could earn up to $600 by adding new articles.

Install Textpattern on Ubuntu 20.04

Author: Francis Ndungu

Last Updated: Tue, Sep 28, 2021
CMS Ubuntu


Textpattern is an open-source Content Management System for LAMP and LEMP systems, written in PHP with a MySQL or MariaDB backend. This guide explains how to install Textpattern with a LAMP stack on Ubuntu 20.04 server.


To complete this Textpattern installation guide, you need:

Optionally, you could deploy a Vultr One-Click LAMP server.

1. Install Dependencies

  1. Connect to your server via SSH.

  2. Update the package information list.

    $ sudo apt update
  3. Install the PHP module for Apache.

    $ sudo apt install -y libapache2-mod-php
  4. Enable mod_rewrite module, which Textpattern needs to make simplified URLs.

    $ sudo a2enmod rewrite
  5. Restart Apache to load the new modules.

    $ sudo systemctl restart apache2
  6. Install the unzip package, which you need to extract the installation file.

    $ sudo apt-get -y install unzip

2. Set Up a Database and a User Account

Textpattern uses either MySQL or MariaDB as the database server.

  1. Log in to your database server as root.

    $ sudo mysql -u root -p
  2. Create a new database and user account. Replace EXAMPLE_PASSWORD with a strong password.

    If you use MySQL:

    mysql> CREATE DATABASE text_pattern;
           CREATE USER 'text_pattern_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'EXAMPLE_PASSWORD';
           GRANT ALL PRIVILEGES ON text_pattern.* TO 'text_pattern_user'@'localhost';           

    If you use MariaDB:

    MariaDB> CREATE DATABASE text_pattern;
             GRANT ALL PRIVILEGES on text_pattern.* TO 'text_pattern_user'@'localhost' identified by 'EXAMPLE_PASSWORD';
             FLUSH PRIVILEGES;
  3. Log out of the database server.

    mysql> EXIT;

3. Download Textpattern

  1. Create a new directory under the web root.

    $ sudo mkdir -p /var/www/text_pattern
  2. Take ownership of the new directory.

    $ sudo chown -R $USER:$USER /var/www/text_pattern
  3. Switch to the new directory.

    $ cd /var/www/text_pattern
  4. Visit the official Textpattern repository and copy the download link of the latest stable version.

  5. Download the installation file.

    $ sudo wget
  6. Extract the file you've downloaded.

    $ sudo unzip
  7. Move the files you've extracted to the /var/www/text_pattern directory.

    $ sudo mv textpattern-4.8.7/* /var/www/text_pattern
  8. Give the Apache user ownership of the /var/www/text_pattern directory.

    $ sudo chown -R www-data:www-data /var/www/text_pattern

4. Create a Virtual Host File

Apache maintains virtual hosts configurations under the /etc/apache2/sites-available directory.

  1. Disable the default virtual host configuration file.

    $ sudo a2dissite 000-default.conf
  2. Open a new text_pattern.conf file.

    $ sudo nano /etc/apache2/sites-available/text_pattern.conf
  3. Copy and paste the following information into the text_pattern.conf file. Replace with your server's domain name or public IP address.

    <VirtualHost *:80>
        DocumentRoot "/var/www/text_pattern"
        <Directory "/var/www/text_pattern">
            Require all granted
            Options -Indexes +FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
  4. Save and close the file.

  5. Enable the new configuration file.

    $ sudo a2ensite text_pattern.conf
  6. Restart Apache to load the new virtual host.

    $ sudo systemctl restart apache2

5. Finish the Installation

  1. In your web browser, visit your server's public IP address or domain name and append /textpattern/setup/ to the URL. For example, if your domain name is, visit the URL:
  2. Follow the browser-based wizard and enter your database credentials.

  3. Create a base configuration file for the Textpattern package.

    $ sudo nano /var/www/text_pattern/textpattern/config.php
  4. Paste the following information into the file. Replace EXAMPLE_PASSWORD with the strong password you created for text_pattern_user.

        $txpcfg['db'] = 'text_pattern';
        $txpcfg['user'] = 'text_pattern_user';
        $txpcfg['pass'] = 'EXAMPLE_PASSWORD';
        $txpcfg['host'] = 'localhost';
        $txpcfg['table_prefix'] = '';
        $txpcfg['txpath'] = '/var/www/text_pattern/textpattern';
        $txpcfg['dbcharset'] = 'utf8mb4';
  5. Save and close the file.

  6. Delete the setup directory for security purposes.

    $ sudo rm -rf /var/www/text_pattern/textpattern/setup
  7. Visit to access your Textpattern dashboard. Replace with your domain name or server's public IP address.

More Information

See "Get started with Textpattern" for more information.

Want to contribute?

You could earn up to $600 by adding new articles.