跳轉到內容

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:///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 對該主機的許可權。
華夏公益教科書