JOOMLA! 4.3在OpenBSD 7.3上:安装
#php #cms #openbsd #joomla

概括

Joomla!是流行的PHP内容管理系统(又称CMS)之一。它非常适合类似门户网站和博客平台。
第一个版本于2005年发行,经过长期进展,最新的主要专业是在两年前完成的(2021-08-17)。

这篇文章显示了如何安装Joomla!使用php/PHP-FPMOpenBSD上,固体操作系统。

都是最新的。

环境

  • OS:OpenBSD 7.3
  • Database: MariaDB 10.9
  • 网络:OpenBSD的httpd
    • 用Abiaoqian进行管理
  • App: PHP 8.2
    • PHP-FPM
  • CMS:Joomla! 4.3.4

参考文章

如果其中任何一个都没有完成:

关于Joomla!的系统要求的注释

PHP 8.2不是今天正式推荐的(请参阅:他们的Technical Requirements)。由于有一些issues报道,并且(有些已经解决了),但其他人还活着,PHP 8.1现在可能是更好的选择。此外,至于其他选项,8.0,它的支持很快就会结束(请参阅:PHP的Supported Versions)。

教程

准备数据库

使用客户端工具连接到服务器(例如,运行mysql -u root -p),然后运行:

-- create database
CREATE DATABASE <dbname> \
    CHARACTER SET utf8mb4 \
    COLLATE utf8mb4_unicode_ci;

-- create user
GRANT ALL PRIVILEGES \
    ON <dbname>.* \
    TO <dbuser>@'localhost' \
    IDENTIFIED BY '<dbpass>';

-- flush
FLUSH PRIVILEGES;

安装和激活PHP扩展

获取用于MariadB连接的koude2

$ doas pkg_add php-mysqli

输出,我的选择和结果是:

quirks-6.122 signed on 2023-09-01T21:25:11Z
Ambiguous: choose package for php-mysqli
a   0: <None>
    1: php-mysqli-7.4.33
    2: php-mysqli-8.0.30
    3: php-mysqli-8.1.22
    4: php-mysqli-8.2.9
Your choice: 4
php-mysqli-8.2.9: ok

有必要激活它(以及koude3)。运行:

$ doas ln -s /etc/php-8.2.sample/* /etc/php-8.2/

现在它们被激活:

$ ls -l /etc/php-8.2
total 0
lrwxr-xr-x  1 root  wheel  30 Sep  2 10:09 mysqli.ini -> /etc/php-8.2.sample/mysqli.ini
lrwxr-xr-x  1 root  wheel  31 Sep  2 10:09 opcache.ini -> /etc/php-8.2.sample/opcache.ini

获取Joomla!包裹

假设我们的工作目录是/var/www/joomla

从他们的github中的releases下载:

$ curl -LO https://github.com/joomla/joomla-cms/releases/download/4.3.4/Joomla_4.3.4-Stable-Full_Package.tar.gz

解压缩并提取:

$ tar xzf Joomla_4.3.4-Stable-Full_Package.tar.gz

为Web用户设置权限:

$ doas chown -R www:www ./*

添加httpd(Web)服务器(S)

如果您没有HTTPD或PHP-FPM 8.2的激活守护程序,则必须使它们准备好。 (请参阅Reference posts。)

如果是这样,请继续并在Joomla上添加叛逆!服务器:

$ doas nvim /etc/httpd.conf

在下面的下面写下。在这里,<fqdn>取决于您。 <chroot-parent-dir>必须是空的。 (这取决于您的工作目录。)此外,TLS配置文件是启用TLS的必要条件。

server "<fqdn>" {
        listen on egress tls port https
        tls {    
                certificate     "/etc/ssl/<fqdn>.crt"
                key             "/etc/ssl/private/<fqdn>.key"
        }
        log {
                access  "<fqdn>-access.log"
                error   "<fqdn>-error.log"
        }

        # it depends on your working directory under `/var/www` and `chroot` settings:
        root "<chroot-parent-dir>/joomla"
        directory index index.php

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

重新启动守护程序:

$ doas rcctl restart httpd
httpd(ok)
httpd(ok)

现在,我们可以使用Web浏览器访问Joomla!的Web安装。连接到https://<fqdn>/ !!

TLS配置文件

它可以通过koude9Let's Encrypt的请求获取它们。 (请参阅:如何conifugre openBSD acme-client)。

另外,您可以将它们作为自签名证书,命令行,例如:

$ cd /etc/ssl

$ # [ consts ]
$ # case ksh:
$ export MY_DOMAIN="..."
$ export MY_COUNTRY_CODE="XX"
$ export MY_STATE="..."
$ export MY_ORGANIZATION="..."
$ # case fish:
$ # set -x MY_DOMAIN "..."; (...)

$ # [ generate ]
$ doas openssl req -newkey rsa:2048 -new -nodes -x509 -days 36500 -keyout private/$MY_DOMAIN.key -out $MY_DOMAIN.crt \
    -subj "/C=$MY_COUNTRY_CODE/ST=$MY_STATE/L=/O=$MY_ORGANIZATION/OU=/CN=$MY_DOMAIN"
$ doas chmod 400 private/$MY_DOMAIN.key

$ # return to your working directory

无TLS连接的服务器(可选)

您可以构建另一台使用HTTP代替HTTP(较不安全)的服务器:

# httpd.conf
<         listen on egress tls port https
<         tls {    
<                 certificate     "/etc/ssl/<fqdn>.crt"
<                 key             "/etc/ssl/private/<fqdn>.key"
<         }
>         listen on egress port http

具有和没有TLS连接的服务器(可选)

此外,您还可以根据需要将所有HTTP请求重定向到HTTP:

# httpd.conf
server "<fqdn>" {
        listen on egress http
        # (...)
        block return 301 "https://$SERVER_NAME$REQUEST_URI"
}
server "<fqdn>" {
        listen on egress tls port https
        # (...)
}

使用Web安装程序进行设置

您要做的就是跟随它们。好吧,就我而言,上面的<fqdn>192.168.122.175

选择默认语言并输入站点名称:

joomla-4-install-01

创建系统管理员:

joomla-4-install-02

输入数据库信息,单击按钮将启动实际安装:

joomla-4-install-03

将显示成功消息:

joomla-4-install-04

验证安装

https://<fqdn>/访问:

时,您将看到首页

joomla-4-home-01

将在https://<fqdn>/administrator/访问的情况下显示管理入口:

joomla-4-admin-01

当身份验证成功时,将显示管理面板:

joomla-4-admin-02

结论

现在,您准备使用最新的Joomla建立网站!这里显示了一个非常小的步骤的示例。在媒体视图中上传媒体文件:

joomla-4-media-01

单击“上传”,然后选择一个文件。我尝试了一个OpenBSD徽标。这是成功的:)

joomla-4-media-02

如本文所示,在配置HTTPD和PHP-FPM时,在OpenBSD上构建和服务PHP应用程序并不艰难。这是因为他们的项目和社区支持PHP以及Web服务周围的组件。

ð快乐服务ð«