跳转到内容

Zoph/安装

来自维基教科书,开放世界中的开放书籍

首先,确保您满足上一章中的所有要求。

解压缩 .tar.gz 文件

[编辑 | 编辑源代码]

您可以在临时目录中解压缩tarball。在本例中,我们将使用/tmp并假设您已将下载的 Zoph 版本 0.9 放入/home/user/Downloads

$ cd /tmp
$ cp /home/user/Downloads/zoph-0.9.tar.gz .
$ tar -xvzf zoph-0.9.tar.gz
$ cd zoph-0.9

创建数据库

[编辑 | 编辑源代码]

创建数据库并导入表格

[编辑 | 编辑源代码]
$ mysql -u root -p -e "CREATE DATABASE zoph CHARACTER SET utf8 COLLATE utf8_general_ci"
$ mysql -u root -p zoph < sql/zoph.sql

为 zoph 创建用户

[编辑 | 编辑源代码]

我创建了两个用户:zoph_rw 由应用程序使用,zoph_admin 在我直接使用 mysql 时使用,因此我不必使用 root。

$ mysql -u root -p
mysql> grant select, insert, update, delete on zoph.* to zoph_rw@localhost identified by 'PASSWORD';
mysql> grant all on zoph.* to zoph_admin identified by 'PASSWORD';

安装模板

[编辑 | 编辑源代码]

选择放置 Zoph 的位置

[编辑 | 编辑源代码]

在 Web 服务器的文档根目录下创建 zoph/ 目录,或使用新的文档根目录创建虚拟主机。

$ mkdir /var/www/html/zoph

复制模板

[编辑 | 编辑源代码]
$ cp -r php/* /var/www/html/zoph/

设置访问权限

[编辑 | 编辑源代码]

为了更好的安全性,您可能需要设置 Zoph 文件的访问权限。(您可能想在测试 Zoph 是否有效后执行此操作,在这种情况下,您就会知道是什么原因导致它在更改后停止工作)

首先,您需要弄清楚 Apache 在哪个用户下运行。通常是apache用于用户和组。要确定这一点,请查看httpd.conf或使用

ps -ef | grep httpd

您可能需要将所有文件归用户apache和组apache所有。您可以使用

chown -R apache:apache /var/www/html/zoph 

您可以选择仅允许该用户/组读取(更安全):440,所有用户都可以读取:444,或所有用户都可以读取和写入:666。最后一种情况意味着您不需要 root 权限来编辑 config.inc.php 或对其他 php 文件进行更改(例如升级到新版本)。请记住,授予 .php 文件的写入权限实际上相当于授予对 Zoph 的控制权。如果您在系统上还有其他用户,则应选择第一个选项。此外,您的 mysql 密码在/etc/zoph.ini中,因此,如果您在系统上还有其他用户不允许知道密码,则也应将其保护起来,使其无法读取。目录应具有执行权限:550(最大安全性)或 777(所有用户都可以访问)。

为此,首先转到 Zoph 目录的上级目录,在本例中为 /var/www/html

cd /var/www/html
chmod [dir] zoph
cd zoph
find -type f | xargs chmod [file]
find -type d | xargs chmod [dir]

用您为目录选择的访问模式替换 [dir],并用文件选择的访问模式替换 [file]。

重要!

仔细检查您是否使用的是正确的目录,以及您是否输入正确。如果您不小心输入了 "/[空格]var/www/html/zoph" 或类似的命令,您将更改系统上所有文件的apache/apache所有者 - 这可不是好事)。

照片的访问权限

[编辑 | 编辑源代码]

在许多情况下,您可以简单地将照片目录的访问权限保留为默认值。但是,如果您使用 CLI 和 Web 界面来访问照片,您可能需要更改为更高级的访问权限管理方式,使用 Linux 和大多数其他 POSIX 操作系统中的setgid 功能。

  • 创建新的 Unix 组(在本例中为“photo”)
groupadd photo
  • 将所有使用 CLI 和/或被允许修改磁盘上照片的用户添加到该组(在本例中,用户名为“jeroen”)
useradd -g photo jeroen
  • 此外,apache 用户也被添加到该组中。在我的系统上,该用户名为“apache”,但“www-data”也是经常使用的。
useradd -g photo apache
  • 将照片目录的所有权更改为您的用户和组 photo
chown jeroen:photo /data/images
  • 根据您的需要设置该目录的权限,例如 775(用户和组拥有完全权限,其他用户拥有读取权限)或 770(用户和组拥有完全权限,其他用户无访问权限)。
chmod 775 /data/images

现在在 dir 上设置“setgid”。这会导致新创建的文件和目录使用“photo”组。

chmod g+s /data/images

配置 PHP 模板

[编辑 | 编辑源代码]

有关详细信息,请参阅有关配置的章节

您需要创建一个zoph.ini文件,通常位于/etc/zoph.ini中,用于定义数据库设置。一个简单的例子

[zoph]
db_host = "localhost"
db_name = "zoph"
db_user = "zoph_rw"
db_pass = "pass"
db_prefix = "zoph_"

php_location = /var/www/html/zoph

有关详细信息,请参阅zoph.ini

测试它

[编辑 | 编辑源代码]

尝试访问https://127.0.0.1/zoph/logon.php。您应该看到登录屏幕。使用“admin”作为用户名和“admin”作为密码登录。

如果您看到 404 错误...

  • 确保 Web 服务器可以看到 zoph/ 文件夹和模板。

如果您看到一堆代码...

  • 确保 Apache 已配置为处理 PHP
    • Apache 配置需要包含以下内容
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
AddType application/x-httpd-php .php

如果您看到 MySQL 访问被拒绝错误...

  • 确保您在 zoph.ini 中指定的数据库用户确实有权访问数据库。如果您的数据库不在 localhost 上,则需要授予 zoph_rw@hostname 对该主机的权限。
华夏公益教科书