您在這裡

安裝流程 (for linux)

jimmy's 的頭像
jimmy 在 2006-04-22 (週六) 23:53 發表

Linux上的安裝流程:

1. 下載、解壓縮:
Drupal.org找到合適的版本,此篇文章寫的時候,穩定版本為4.6.5。

wget http://drupal.org/files/projects/drupal-x.x.x.tar.gz
tar -zxf drupal-x.x.x.tar.gz

會有一個drupal-x.x.x的目錄出現,要將他搬到網站的根目錄,或是其他你想要的目錄

mv drupal-x.x.x /var/www/html

2. 建立資料庫(mysql command line):
Drupal需要一個空的資料庫,才能匯入資料表格式,一般來說你可以用phpmyadmin等web管理介面新建一個資料庫。這裡的指引為當你無法用web介面存取database server時,可以直接用以下的指令為mysql來建立空的資料庫。

mysqladmin -u mysqluser -p create databasename

建立一個資料庫,mysqluser為資料庫使用者名稱,databasename為你要新建的資料庫名稱,下達此指令後,mysqladmin會要求你輸入mysqluser的密碼,輸入密碼完按下enter即建立好新的資料庫。

接下來要打開資料庫的權限,首先得進入mysql的操作介面:

mysql -u mysqluser -p

他會要求你輸入密碼,輸完進入後下達此指令

GRANT ALL PRIVILEGES ON databasename.*
  TO mysqluser@localhost IDENTIFIED BY 'password';

「databasename」為剛剛新增的資料庫名稱
mysqluser@localhost」mysqluser為使用者名稱,localhost為連線的主機
「password」就是對應mysqluser的密碼
如果成功的話,mysql會回應:

Query OK, 0 rows affected

還沒完,最後你還得重新載入權限設定,然後登出mysql:

flush privileges;
\q

3. 載入Drupal的資料表格式
Drupal的資料表格式在drupal/database/database.mysql,先切換到該目錄,然後下達匯入的指令即可。

cd /var/www/html/drupal/database
mysql -u mysqluser -p databasename < database.mysql

「mysqluser」同樣是你存取該資料庫的使用者
「databasename」同樣為資料庫名稱
按下去後,他也會要求你輸入mysqluser的密碼

4. Drupal與資料庫的連結
在drupal的目錄中找到此檔案drupal/sites/default/settings.php
編輯他,並找到下面這一行,把username換成資料庫使用者,password為該使用者的密碼,database則是drupal所在的資料庫名稱

$db_url = "mysql://username:password@localhost/database";

找到這一行,並填入你網站完整的網址:

$base_url = "http://www.yoursite.com";

若你的網站在子目錄,可能長得這樣:

$base_url = "http://www.yoursite.com/drupal";

或是

$base_url = "http://www.yoursite.com/~username/drupal";

5. 建立檔案目錄
之後所有的檔案、圖片會放於此資料夾,請在durpal網站所在的目錄下建立files資料夾

cd drupalroot
mkdir files

確定該資料夾有讓web server讀、寫、執行的權限(rwx)

6. 打開瀏覽器,進入drupal
你現在應該可以看到drupal的初始頁面了,第一件事便是趕緊註冊一個帳號。drupal預設第一個註冊的帳號擁有最高的權限。你可以在網址htttp://yoursite.com/user/register找到註冊畫面,請記得註冊完設定一個自己習慣的密碼。

7. 設定例行程序
Drupal有許多事情都得仰賴例行程序執行,包含建立搜尋的index,清除過期log...等。大部分的linux上的例行程序會用cron執行,下面便是設定的步驟。
首先,打開crontab編輯器

crontab -e

再來,加入此行,存檔後離開即可

0  *  *  *  *   wget -O - -q http://www.yoursite.com/cron.php

這樣的設定表示每個小時,drupal就會自動檢查例行的程序,該處理的時候也會例行處理。

原文參考自: http://drupal.org/node/260
Durpal的目錄底下的INSTALL.txt即為同樣原文文件

Win32環境下還需要安裝ApachePHP,建議再裝個PhpMyAdmin來管理MySQL資料庫。

如果怕麻煩,可以直接安裝AppServ套裝架站程式。
目前AppServ官網最新的兩個版本如下:
AppServ 2.4.7
* 增加了MySQL校對支持
* Old Password for PHP MySQL Old API Function
* 支持InnoDB
* 安装新版程序之前,安裝程序将檢測、備份舊版信息
* Apache 2.0.59
* PHP 4.4.4
* MySQL 5.0.24a
* phpMyAdmin-2.9.0.2

AppServ 2.5.7
* 增加了MySQL校對支持
* Old Password for PHP MySQL Old API Function
* 支持InnoDB
* 安装新版程序之前,安裝程序將檢測、備份旧版信息
* Apache 2.2.3
* PHP 5.1.6
* MySQL 5.0.24a
* phpMyAdmin-2.9.0.2

相關教學都可以Google到!

請問
如果是要安裝在虛擬主機上面的話
那安裝流程又是如何呢
因為這種形式的我看不懂
可否請大大詳細說明如何安裝在虛擬主機上面

找到這一行,並填入你網站完整的網址:

$base_url = "http://www.yoursite.com";若你的網站在子目錄,可能長得這樣:

$base_url = "http://www.yoursite.com/drupal";

如果安裝在子目錄 卻又不想讓drupal首頁的網址 變成 這樣 http://www.yoursite.com/drupal

有辦法嗎?

我的情況是

1. 網址買好了(假設是 www.bbb.com ) 轉址到指定的特定資料夾 也都設定好

2. 目前打算安裝 5.1中文版

3. 但是網站根目錄是給另一個網站 (他有自己獨立的網址 假設是 www.aaa.com)使用 (我們共用一個虛擬主機的帳號和空間)

4. 剛剛試著安裝 似乎drupal的根網址 會變成如上述的子目錄 http://www.yoursite.com/drupal
(雖然直接打我自己的網址 假設是 www.aaa.com 還是能導到drupal的首頁 )

請問可以透過設定 更改這個東西嗎?

相關資料 虛擬主機商是powweb MySQL版本 - 4.1.18 PHP版本應該是 4.3.10 (根據他們的FAQ)

PS. 之前試過直接作DNS foward 但是 安裝後 出現的網址是 www.aaa.com/drupal

後來以改網站根目錄 .htaccess 直接映射domain name 的方式 才能夠變成 www.bbb.com 但是因為drupal 的intall放在子目錄裡面 所以drupal首頁網址變成 www.bbb.com/drupal

而這 不是我想要呈現的方式

請問一下files目錄建立後
他的權限是要哪個群組可以寫入
我本來設定755
我自己可以寫入,但是DRUPAL卻說不行
然後設定775,同群組可以寫入,還是不行
現在設定777才可以

請問一下要設到這麼大的權限嗎

謝謝

重點是要讓 apache 可以寫入,並非你自己的帳號或你帳號的群組
可以設 755 但要把 files 的 owner 設為 apache (你的 apache server 帳號)

--迎著風,線放鬆,風箏自然上天空--

--迎著風,線放鬆,風箏自然上天空--

drupal 5.6
我在7. 設定例行程序失敗
問題出在無法打開cron編輯器。

我使用可執行cron的付費空間
使用PieTTY連線到cron.php所在目錄下
執行crontab -e卻
/httpdocs/blog
bash-3.00$ crontab -e
bash: crontab: command not found

以下當然也失敗
bash-3.00$ 0 * * * * wget -O - -q http://acepaley.com/blog/cron.php
bash: 0: command not found

請問是為什麼呢?

問題出在最後一行錯誤訊息。
第一段,它說沒有"crontab"這個指令,表示使用者並沒有裝這個套件,或是你的路徑設定沒有指到這個指令的位置。
既然你說這是一個可以使用cron的空間,應該有說明告訴你怎麼設定吧!!所以還是先找找看... 也許它的設定與眾不同。

第二段,你貼的指令不對。
那整段是 cron table 的語法... 大意是...
分 時 日 月 週 [指令]
上述 0 * * * * wget -O - -q http://acepaley.com/blog/cron.php
表示 每小時的 0 分,執行 [wget -O - -q http://acepaley.com/blog/cron.php] 的指令一次...

第二段的錯誤訊息... 是告訴你沒有一個叫作"0"的指令...
詳細的設定... 可以參考鳥哥的網站...
例行性命令

我只是一個撰碼員,靠寫程式過活。
自從 Drupal 在 4.7 版的時候知道他的存在,但是後來跳去其它程式語言很久沒回來。
變成 D5 比較熟,D6 知道一點,D7 還在學的狀況…