[edit] 移植到另一部伺服器
無論你多麼有自信,移轉前作好備份檔案及資料庫是絕對必要的!!
- 備份資料庫,你可以利用phpMyAdmin備份,或利用以下MySQL指令:
#mysqladmin -u帳號 -p flush-logs
#mysqldump 資料庫名 -u帳號 -p --opt > 備份名稱.sql
- 利用FTP軟體將所有的檔案上傳到你新的Server內。
- 建立新的資料庫,你可能是利用 Cpanel, Webmin, 或phpMyAdmin直接操作新增資料庫,或者也可以利用 MySQL 指令:
CREATE DATABASE 資料庫名稱 CHARACTER SET utf8 COLLATE utf8_general_ci;
- 將備份的sql匯入新的資料庫內,你可以利用phpMyAdmin操作,或是利用MySQL命令:
#mysql -u帳號 -p 資料庫名稱 < 備份名稱.sql
- 修改下列前、後台的環境設定檔以符合你新的主機路徑及網域名稱:
- includes/configure.php
define('HTTP_SERVER', 'http://your-domain.com'); // eg, http://localhost - should not be empty for productive servers
define('HTTPS_SERVER', 'http://your-domain.com'); // eg, https://localhost - should not be empty for productive servers
define('ENABLE_SSL', false); // secure webserver for checkout procedure?
define('DIR_WS_CATALOG', '/xtcommerce/'); // absolute path required
define('DIR_FS_DOCUMENT_ROOT', '/home/ldslee/public_html/xtcommerce/');
define('DIR_FS_CATALOG', '/home/ldslee/public_html/xtcommerce/');
- admin/includes/configure.php
define('HTTP_SERVER', 'http://your-domain.com'); // eg, http://localhost or - https://localhost should not be empty for productive servers
define('HTTP_CATALOG_SERVER', 'http://your-domain.com');
define('HTTPS_CATALOG_SERVER', 'http://your-domain.com');
define('ENABLE_SSL_CATALOG', 'false'); // secure webserver for catalog module
define('DIR_FS_DOCUMENT_ROOT', '/home/ldslee/public_html/xtcommerce/'); // where the pages are located on the server
define('DIR_WS_ADMIN', '/xtcommerce/admin/'); // absolute path required
define('DIR_FS_ADMIN', '/home/ldslee/public_html/xtcommerce/admin/'); // absolute pate required
define('DIR_WS_CATALOG', '/xtcommerce/'); // absolute path required
define('DIR_FS_CATALOG', '/home/ldslee/public_html/xtcommerce/'); // absolute path required
- DIR_WS_CATALOG ----> 商店的www目錄
- DIR_WS_ADMIN ----> 商店後台的www目錄
- 以上前後台的環境設定檔的尾端,都有資料庫的帳密設定:
define('DB_SERVER_USERNAME', '資料庫帳號');
define('DB_SERVER_PASSWORD', '資料庫密碼');
define('DB_DATABASE', '資料庫名稱');
- 假設是連結到遠端的資料庫(apache 與 mysql 分處不同主機),可參考以下設定:
- 修改 includes/configure.php 及 admin/includes/configure.php
define('DB_SERVER', 'your-db-host.com:3306'); // eg, localhost - should not be empty for productive servers
或者IP也行
define('DB_SERVER', '202.43.195.52:3306'); // eg, localhost - should not be empty for productive servers
要特別注意的是它的格式是 網址:3306 或 IP:3306 ,3306指的是mysql對外連接的通信埠port,如果你是租用虛擬主機,可以先詢問一下他們是否有開3306埠,或者是使用其它的通信埠。
如果是自行架設(Linux),你可以在 /etc/mysql/my.cnf 設定檔中找到[mysqld]區段內的設定,將skip-networking 用#號註解掉,但是開放了3306port之後意味著所有的遠端主機都可以和它連線。
你可以透過設定 iptables(防火牆) etc/init.d/rc.local 來限制對外的連線。
|