Joomla
Joomla! 是一个自由开源的内容管理系统 (CMS),用于发布网络内容。它使用 PHP 编写,并将数据存储在 MySQL、PostgreSQL 或 MS SQL 数据库中。
支持的功能包括页面缓存、RSS 订阅、页面打印版本、新闻快讯、博客、搜索以及对语言国际化的支持。
安装
为了使 Joomla 能够运行,需要安装和配置以下组件
- 支持 PHP 的 HTTP 服务器(以下示例将使用 Apache HTTP 服务器)
- PHP 库
- SQL 引擎 (PostgreSQL, MySQL)
代替 PHP 服务器
从零开始
首先安装所有必要的软件包: apache php php-apache mariadb
对于 MySQL (MariaDB) 或 PostgreSQL,请参阅 #MySQL 和 PostgreSQL 的选择
配置
Apache
按照说明操作后,您应该有一个正在运行的 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 许可下(而 PostgreSQL 是 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://127.0.0.1/some_page.php
Joomla
至此,您应该有一个正在运行的 Apache 实例,其中 PHP 和 MySQL 已经启动并运行。
现在开始使用 joomla,将 /usr/share/webapps/joomla
的内容复制到您的文档根目录。
导航到您的 localhost
您应该看到 Joomla! 安装界面。
故障排除
此平台不支持文件缓存存储
很可能是 Apache 对 $DocumentRoot/cache
没有写入权限
由于默认情况下 Apache 以 'http' 用户身份运行,因此必须相应地调整 $DocumentRoot/cache
和 $DocumentRoot/administrator/cache
的权限