Joomla! 4 (Alpha 12) Trial On OpenBSD
Tags: joomla, cms, openbsd, installation
Published: 2021-05-19 02:11:43

---
title: Joomla! 4 (Alpha 12) Trial On OpenBSD
published: true
description: Joomla! is one of open source CMS softwares such as WordPress and Drupal. This post shows steps I followed to install its Alpha 12 on OpenBSD.
series: Joomla! on OpenBSD
tags: joomla, cms, openbsd, installation
---

## Introduction

[Joomla!](https://www.joomla.org/) is one of open source CMS softwares such as [WordPress](https://wordpress.org/) and [Drupal](https://www.drupal.org/).
This post shows the installation steps I followed to try its [Alpha 12](https://github.com/joomla/joomla-cms/releases/tag/4.0.0-alpha12) on [OpenBSD](https://www.openbsd.org/). It was released on Oct. 18, 2019. Wow, far off😅 It is perhaps around then that I did it. The latest of its v4 today is [Beta 7](https://github.com/joomla/joomla-cms/releases/tag/4.0.0-beta7).

### Environment

- OS: __OpenBSD__ 6.6
- Database: [__MariaDB__](http://mariadb.org/) 10.3
- CMS: __Joomla!__ Alpha 12
- Web: OpenBSD [__httpd__](https://man.openbsd.org/httpd.8)

## Installation steps

### Database: MariaDB

Connect to database server with [`mysql` command-line client](https://mariadb.com/kb/en/mysql-command-line-client/).

```sql
-- create
CREATE DATABASE <database> \
    CHARACTER SET utf8mb4 \
    COLLATE utf8mb4_unicode_ci;
-- grant privileges
GRANT ALL PRIVILEGES \
    ON <database>.* \
    TO <dbuser>@'localhost' \
    IDENTIFIED BY '<dbpassword>';
-- flush
FLUSH PRIVILEGES;
```

### CMS: Joomla!

Get it.

```console
$ ftp https://github.com/joomla/joomla-cms/releases/download/4.0.0-alpha12/Joomla_4.0.0-alpha12-Alpha-Full_Package.tar.bz2
```

Make a directory named `joomla4` and place Joomla! files in it.

```console
$ mkdir joomla4
$ tar xjf Joomla_4*.tar.bz2 -C ./joomla4
```

Besides, if the downloaded is a tar.gz file, of cource, [`tar`](https://man.openbsd.org/tar) flags are `xzf`. `j` is for .bz2 aka [bzip2](https://www.sourceware.org/bzip2/) and `z` is for .gz aka [gzip](https://man.openbsd.org/gzip.1).

Add permission to www aka OpenBSD httpd user.

```console
$ doas chown -R www:www joomla4
```

### Web: OpenBSD httpd

`<fqdn>` is up to environment.

```apache
server "<fqdn>" {
        listen on $ext_addr port 80
        block return 301 "https://$SERVER_NAME$REQUEST_URI"
}
server "<fqdn>" {
        listen on $ext_addr tls port 443
        tls {    
                certificate     "/etc/letsencrypt/live/<fqdn>/fullchain.pem"
                key             "/etc/letsencrypt/live/<fqdn>/privkey.pem"
        }
        log {
                access  "<fqdn>-access.log"
                error   "<fqdn>-error.log"
        }

        # up to directory structure under `/var/www` or another `chroot` path:
        root "<chroot-parent-dir>/joomla4"
        directory index index.php

        location "/*.php" { 
                fastcgi socket "/run/php-fpm.sock"
        } 
        location "/*.php[/?]*" { 
                fastcgi socket "/run/php-fpm.sock"
        } 
}
```

Here, I used [Let's Encrypt](https://letsencrypt.org/) certificate from [Certbot](https://certbot.eff.org/) client in order to access through https. There are several options.

### Web installer

Access with a web browser to https://<fqdn> or some url.

The Installation processes are like these.

Site configuration:

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/e82yvc381fcnkhzoxgyk.png)

Login information:

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/oara7wm5zf0h0szxa7cb.png)

Database configuration:

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/lqygql9nsaylg29ra24r.png)

When the installation is completed, confirmation on removing installation directory is shown for the sake of security. I did it.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/boeekpse71h7gyuafoza.png)

The landing page is like this by default whose template is [Cassiopeia](https://github.com/joomla/cassiopeia).

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/rpfzzqxf54txc4f61g5d.png)

The administrator panel is available.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/qz1gj0y7ktsze5e5979v.png)

Here are the administrator menus.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/8fs46vnoz94r21jb37j9.png)

Well, it's familiar with mobile view thanks to their working with [Bootstrap](https://getbootstrap.com/) 4.
For example, the menus are toggled in mobile view.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/fsa5lglzyygy7cqp93ft.png)