Zoph/安装
首先,确保您满足上一章中的所有要求。
您可以在临时目录中解压缩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_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';
在 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
有关详细信息,请参阅有关配置的章节。
您需要创建一个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 对该主机的权限。