概括
Joomla!是流行的PHP内容管理系统(又称CMS)之一。它非常适合类似门户网站和博客平台。
第一个版本于2005年发行,经过长期进展,最新的主要专业是在两年前完成的(2021-08-17)。
这篇文章显示了如何安装Joomla!使用php/PHP-FPM在OpenBSD上,固体操作系统。
都是最新的。环境
- 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配置文件
它可以通过koude9向Let'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
。
选择默认语言并输入站点名称:
创建系统管理员:
输入数据库信息,单击按钮将启动实际安装:
将显示成功消息:
验证安装
当https://<fqdn>/
访问:
将在https://<fqdn>/administrator/
访问的情况下显示管理入口:
当身份验证成功时,将显示管理面板:
结论
现在,您准备使用最新的Joomla建立网站!这里显示了一个非常小的步骤的示例。在媒体视图中上传媒体文件:
单击“上传”,然后选择一个文件。我尝试了一个OpenBSD徽标。这是成功的:)
如本文所示,在配置HTTPD和PHP-FPM时,在OpenBSD上构建和服务PHP应用程序并不艰难。这是因为他们的项目和社区支持PHP以及Web服务周围的组件。
ð快乐服务ð«