跳转至内容

Joomla

来自 ArchWiki

本文或本节需要在语言、wiki 语法或风格方面进行改进。请参阅 Help:Style 获取参考。

原因: 本文需要进行一些语言改进 (请在 Talk:Joomla 讨论)

Joomla! 是一个免费且开源的内容管理系统 (CMS),用于发布 Web 内容。它使用 PHP 编写,并将数据存储在 MySQLPostgreSQL 或 MS SQL 数据库中。

支持的功能包括页面缓存、RSS feeds、页面的可打印版本、新闻快报、博客、搜索以及对语言国际化的支持。

安装

为了使 Joomla 正常运行,需要安装和配置以下组件:

  • 支持 PHP 的 HTTP 服务器 (以下示例将使用 Apache HTTP Server)
  • PHP 库
  • SQL 引擎 (PostgreSQL, MySQL)

不使用 PHP 服务器

安装 joomlaAUR 包。

从零开始

首先,安装所有必需的软件包: apache php php-apache mariadb

有关 MySQL (MariaDB) 或 PostgreSQL,请参阅 #MySQL 和 PostgreSQL 的选择

配置

Apache

请参阅 Apache HTTP Server#配置

按照说明操作后,您应该拥有一个正在运行的 Apache 实例。

现在,为了启用 PHP 支持,我们需要重新编辑 /etc/httpd/conf/httpd.conf: PHP 已知与 mod_mpm_event.so 模块不兼容。因此,我们需要禁用它,转而使用 mod_mpm_prefork.so,如下所示:

#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

现在,我们需要在 mod_dir.so 模块之后添加 (取消注释) 以下行:

LoadModule php_module modules/libphp.so

添加处理程序

AddHandler php-script php

添加到 Include 列表的末尾

Include conf/extra/php_module.conf

这样就完成了!

MySQL

MySQL 和 PostgreSQL 的选择

在选择 MySQL (MariaDB) 和 PostgreSQL 时,应该考虑到 MySQL 的设计旨在快速轻量,而 PostgreSQL 则是一种更全面的方法。本文档选择 MySQL 是因为:

  • 它更轻量
  • 它根据 GPL (而非 MIT) 获得许可

请参阅 MariaDB 进行安装。

在完成基本安装和配置后,就可以进行更详细的设置了。

首先,为您的未来网站创建数据库。

$ mysqladmin -u root -p create joomla

命名约定是可选的,但为了清晰起见,数据库将称为 'joomla'。

建议避免使用 root MySQL 帐户进行日常任务。为了创建另一个用户,必须首先使用以下命令调用 mysql 接口:

$ mysql -u root -p

它会提示您输入 MySQL 的 root 密码。如果一切正常且 MySQL 服务器正在运行,您应该会看到类似以下的 MariaDB 提示符:

MariaDB [(none)]>

要创建一个特权用户,请发出以下命令:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, \
LOCK TABLES ON joomla.* TO '$USER'@'localhost' IDENTIFIED BY '$PASSWD';

如果您正在设置个人服务器,请随意尝试 $USER 和 $PASSWD 的值。

警告
  • 您在此处输入的密码将保存在 ~/.mysql_history 中;
  • 您应该从该文件中删除包含密码的行;

现在,应用这些设置。

FLUSH PRIVILEGES;
quit

PHP

现在来设置我们的 PHP 服务器。我们将使用 Apache 来运行它。编辑 /etc/php/php.ini

最小配置如下:

  • 注释掉
;output_buffering = 4096
  • 编辑以下值以获得更详细的错误报告:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = On
  • 可选: 启用日志记录
log_errors = On
  • 启用 MySQL 支持 (取消注释以下选项)
extension=pdo_mysql
extension=mysqli

要测试 PHP 是否配置正确,请在简单的 html 页面文件的正文中某处添加此行:

<?php echo '<p>Hello World</p>'; ?>

将其保存为 some_page.php。

现在重新启动 httpd 并导航到 https:///some_page.php

Joomla

至此,您应该拥有一个正在运行的 Apache 实例,并已成功配置 PHP 和 MySQL。

现在开始使用 joomla,将 /usr/share/webapps/joomla 的内容复制到您的文档根目录。

导航到您的 localhost

您应该会看到 Joomla! 安装屏幕。

故障排除

注意 本节旨在解决 joomla 相关问题。有关通用问题,请参阅: Apache HTTP Server#故障排除MariaDB#故障排除

平台不支持文件缓存存储

很可能是 Apache 在 $DocumentRoot/cache 上没有写入权限。

由于默认情况下 Apache 以 'http' 用户运行,因此必须相应地调整 $DocumentRoot/cache$DocumentRoot/administrator/cache 的权限。

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.