Joomla
Joomla! 是一个免费且开源的内容管理系统 (CMS),用于发布 Web 内容。它使用 PHP 编写,并将数据存储在 MySQL、PostgreSQL 或 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 实例。
现在,为了启用 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! 安装屏幕。
故障排除
平台不支持文件缓存存储
很可能是 Apache 在 $DocumentRoot/cache 上没有写入权限。
由于默认情况下 Apache 以 'http' 用户运行,因此必须相应地调整 $DocumentRoot/cache 和 $DocumentRoot/administrator/cache 的权限。