DEV Community

nabbisen
nabbisen

Posted on • Edited on

Joomla! 4 (Alpha 12) Trial On OpenBSD

Introduction

Joomla! is one of open source CMS softwares such as WordPress and Drupal.
This post shows the installation steps I followed to try its Alpha 12 on OpenBSD. 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.

Environment

  • OS: OpenBSD 6.6
  • Database: MariaDB 10.3
  • CMS: Joomla! Alpha 12
  • Web: OpenBSD httpd

Installation steps

Database: MariaDB

Connect to database server with mysql command-line client.

-- 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;
Enter fullscreen mode Exit fullscreen mode

CMS: Joomla!

Get it.

$ ftp https://github.com/joomla/joomla-cms/releases/download/4.0.0-alpha12/Joomla_4.0.0-alpha12-Alpha-Full_Package.tar.bz2
Enter fullscreen mode Exit fullscreen mode

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

$ mkdir joomla4
$ tar xjf Joomla_4*.tar.bz2 -C ./joomla4
Enter fullscreen mode Exit fullscreen mode

Besides, if the downloaded is a tar.gz file, of cource, tar flags are xzf. j is for .bz2 aka bzip2 and z is for .gz aka gzip.

Add permission to www aka OpenBSD httpd user.

$ doas chown -R www:www joomla4
Enter fullscreen mode Exit fullscreen mode

Web: OpenBSD httpd

<fqdn> is up to environment.

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"
        } 
}
Enter fullscreen mode Exit fullscreen mode

Here, I used Let's Encrypt certificate from Certbot client in order to access through https. There are several options.

Web installer

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

The Installation processes are like these.

Site configuration:

Alt Text

Login information:

Alt Text

Database configuration:

Alt Text

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

Alt Text

The landing page is like this by default whose template is Cassiopeia.

Alt Text

The administrator panel is available.

Alt Text

Here are the administrator menus.

Alt Text

Well, it's familiar with mobile view thanks to their working with Bootstrap 4.
For example, the menus are toggled in mobile view.

Alt Text

Top comments (2)

Collapse
 
hongking profile image
HongKing

I have a problem with Joomla 4, my media folder is missing and I can't upload images. But the previously uploaded pictures are still there.

Collapse
 
nabbisen profile image
nabbisen

Hi, which environment is yours ?

I confirmed after reading your comments that the steps in this post also work with Joomla! 4.3 on OpenBSD 7.3 (the latest on the latest).