顯示具有 Web Service 標籤的文章。 顯示所有文章
顯示具有 Web Service 標籤的文章。 顯示所有文章

2013年8月22日 星期四

phpMyAdmin 的設定

將下載回來的 phpMyAdmin 壓縮檔解開,並搬移到 /var/www 目錄後,將 config.sample.inc.php 複製成 config.inc.php。

接著,編輯 config.inc.php,找到這一行:

$cfg['Servers'][$i]['auth_type'] = 'cookie';

將它修改如下:

$cfg['Servers'][$i]['auth_type'] = 'http';

這是最基本的設定。

不過,當登入 phpMyAdmin 後,卻會發現在畫面下方出現如圖示的訊息:

雖然,這並不影響 phpMyAdmin 的操作,但每次看到這個訊息畫面,也總是覺得不開心。

要修正這點並不是很難,在剛才畫面的最末端就有提示了。

首先,建立一個資料庫,同時建立一個能完整存取這個資料庫的使用者。這裡,我將資料庫和使用者都命名為 phpmyadmin。

接著,在 phpMyAdmin 的目錄裡,找到 examples/create_tables.sql 這個檔案,將它匯入剛才建立的資料庫。

這個步驟一樣可以在 phpMyAdmin 管理介面裡完成。不過,由於我的 MariaDB 安裝在 Debian GNU/Linux 端,而我此時在 Windows 7 遠端操作 phpMyAdmin,所以我改成在 SSH 連線裡,以指令的方式操作:

$ cd phpmyadmin/examples/
$ mysql -uphpmyadmin -p你的密碼 phpmyadmin < create_tables.sql

接著,再修改 phpMyAdmin 的 config.inc.php,去掉以下區塊的註解:

/*
 * phpMyAdmin configuration storage settings.
 */

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
$cfg['Servers'][$i]['controluser'] = 'phpmyadmin';
$cfg['Servers'][$i]['controlpass'] = '你的密碼';

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
/* Contrib / Swekey authentication */
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';

接著,重新啟動 Apache,並重新登入 phpMyAdmin 管理介面,就不會再看到剛才的錯誤訊息了。

2013年8月21日 星期三

在 Debian 及 Linux Mint 上安裝 Apache + PHP + MariaDB

之前在 Debian 裡試裝了 Apache 及 PostgreSQL,也安裝了 WordPress 試用了一陣子,同時也簡單記錄了 "在 Debian 上安裝 Apache + PHP + PostgreSQL" 及 "如何安裝 WordPress?" 這兩篇文章。

這陣子因為還計畫試用一些其它的架站套件,因此也就繼續在 Debian 及 Linux Mint 裡安裝了 MariaDB,這篇是簡易的記錄。

目前 MariaDB 尚未收到 Debian 7 及 Linux Mint 15 的套件庫裡,所以必須從 MariaDB 的網站取得安裝程式。

MariaDB 的網站的下載頁面,選擇使用 repository configuration tool,依據說明選擇 Linux Distribution、版本及套件庫來源。

在 Debian 7 安裝 MariaDB 5.5:

$ sudo apt-get install python-software-properties
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
$ sudo add-apt-repository 'deb http://download.nus.edu.sg/mirror/mariadb/repo/5.5/debian wheezy main'
$ sudo apt-get update
$ sudo apt-get install mariadb-server

在 Linux Mint 15 安裝 MariaDB 5.5:

首先,建立 /etc/apt/sources.list.d/mariadb.list 這個檔案,並加入以下內容:

# MariaDB 5.5 repository list - created 2013-08-16 01:23 UTC
# http://mariadb.org/mariadb/repositories/
deb http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/5.5/ubuntu raring main
deb-src http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/5.5/ubuntu raring main

接著,執行以下的指令:

$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo apt-get install mariadb-server

安裝 Apache 與 PHP

$ sudo apt-get install apache2 php5 php5-mysql libapache2-mod-php5filter

基本上,安裝完這些套件就可以用了。

此外,建議再安裝幾個與 PHP 相關的套件:

$ sudo apt-get install php5-curl php5-gd php5-gmp php5-imagick php5-json php5-mcrypt php5-xdebug php5-xmlrpc

然後在 /var/www 路徑下編寫一個 info.php 檔,內容如下:

<?php phpinfo(); ?>

用瀏覽器開啟 http://localhost/info.php 查看 PHP 是否順利安裝。

安裝 phpMyAdmin

http://www.phpmyadmin.net/ 下載最新版的 phpMyAdmin,將它解壓縮到 /var/www 目錄後,並修改屬性權限裡的使用者為 www-data,然後將 config.sample.inc.php 複製成 config.inc.php。

接著,編輯 config.inc.php,找到這一行:

$cfg['Servers'][$i]['auth_type'] = 'cookie';

將它修改如下:

$cfg['Servers'][$i]['auth_type'] = 'http';

這是最基本的設定,其它設定請自行參閱 phpMyAdmin 的說明文件。

2013年6月18日 星期二

在 Windows 7 上安裝 Apache + PHP + PostgreSQL

前幾天寫了篇 "在 Debian 上安裝 Apache + PHP + PostgreSQL"。這兩天突然想到,也許有些讀者只是單純想試試 Apache 和 PostgreSQL,於是乾脆也在自己的 Windows 7 上來試試如何安裝 Apache + PHP + PostgreSQL 了。

其實,在 Windows 7 上安裝也非常簡單,其中 Apache 和 PHP 只是將下載回來的壓縮檔解開,然後修改幾個設定即可。

安裝 Apache HTTP Server

Apache 目前最新的版本為 2.4.4,不過讀者可能會發現在 Apache 的網站 http://httpd.apache.org/ 上找不到 Windows 版的安裝程式,必須在 Apache Lounge (http://www.apachelounge.com/) 下載 Windows 的版本。

下載取得 httpd-2.4.4-win32.zip 這個檔案,然後將它解壓縮到 C:\,基本上會得到 C:\Apache24 這個目錄。

安裝 PHP

從 PHP 的網站 http://php.net/ 下載取得 PHP 5.4 (5.4.16) 的 VC9 x86 Thread Safe 版本,將它解壓縮並變更目錄名稱為 C:\php。

設定 Apache HTTP Server 與 PHP

從 PHP 5.4.10 這個版本之後,基本的設定如下:

首先編輯 C:\Apache24\conf\httpd.conf 這個檔案,然後加入以下幾行:

LoadModule php5_module "c:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php"

接著找到 Directory index 的設定,並加入 index.php 這項:

DirectoryIndex index.html index.php

向 Windows 註冊 Apache HTTP Server

以系統管理員的身份執行命令提示字元 (Command prompt),然後執行以下這行:

C:\apache24\bin\httpd -k install

接著再執行將它指定為手動啟動:

sc config Apache2.4 start= demand

不過通常我會將 demand 改成 auto,讓 Apache HTTP Server 自動啟動。

最後,將 C:\Apache24、C:\Apache24\bin 及 C:\PHP 這幾個路徑加到環境變數的 PATH 裡。

修改 PHP 的設定

在 C:\PHP 找到 php.ini-development 這個檔案,複製一份並更名為 php.ini,然後修改如下:

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"

extension=php_pgsql.dll

基本上,要取消 PostgreSQL 這個 DLL extension 的註解。此外,也可以再取消幾個 extension 的註解,如下:

extension=php_bz2.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_mbstring.dll

命令提示字元 (Command prompt),執行以下這行確認載入的模組:

php -m

到這裡,基本上已經完成 Apache HTTP Server 與 PHP 的設定了,可以在 C:\Apache24\htdocs 編輯一個 info.php,填入以下內容:

<?php
phpinfo();
?>

然後,用瀏覽器開啟 http://localhost/info.php 查看。

安裝 PostgreSQL

從 PostgreSQL 的網站 http://www.postgresql.org/ 下載 Windows 版的安裝程式。根據網頁上的說明,將從 EnterpriseDB 的網站取得 9.2.4 版的安裝程式。

雙擊下載回來的 postgresql-9.2.4-1-windows.exe 安裝,並變更目錄到 C:\。因此,安裝完成會得到 C:\PostgreSQL\9.2 這個目錄。

在安裝過程依照說明設定資料庫管理員的密碼。

Windows 版本的 PostgreSQL 安裝程式會一併安裝圖形化的管理工具 pgAdmin III,在安裝後就可以直接用它來管理 PostgreSQL 了。

2013年6月12日 星期三

在 Debian 上安裝 Apache + PHP + PostgreSQL

好久沒自己在 Linux 下設定 Apache、SQL 等等,這幾天在 Google 上爬了爬文,參考以下數篇文章:

本來想繼續使用 MySQL,不過爬了爬文,似乎 MariaDB 又比 MySQL 受歡迎些,我猜這或許和 Oracle 公司收購了 MySQL 有關吧!不過,目前我並沒有特別偏好那一套 SQL 產品,於是爬了爬文後選擇了 PostgreSQL 這個。

在 Debian 裡安裝東西其實很便利的,基本上使用 apt-get 就可以搞定了。所以,我執行了以下的指令安裝了需要的套件:

apt-get update
apt-get install apache2 postgresql postgresql-9.1 postgresql-contrib php5 php5-pgsql libapache2-mod-php5filter
apt-get install libpg-perl libdbd-pg-perl imagemagick

然後,在 /var/www 路徑下編寫一個 info.php 檔,內容如下:

<?php phpinfo(); ?>

然後,用瀏覽器開啟 http://localhost/info.php 查看 PHP 是否順利安裝。

接著,進入 PostgreSQL 的管理介面 (Console),先變更 postgres 這個帳號的密碼。

sudo -u postgres psql
psql (9.1.9)
Type "help" for help.

postgres=# \password
Enter new password:
Enter it again:
postgres=# \q

然後,使用這個指令建立一個存取資料庫的帳號:

CREATE USER name WITH PASSWORD 'string';

再建立一個資料庫,OWNER 則設定成剛才建立的帳號:

CREATE DATABASE dbname OWNER name ENCODING 'UTF8';

接著,下載 phpPgAdmin,並解壓縮到 /var/www 路徑下,然後修改 conf/config.inc.php,將 servers 的部份指定成 localhost。

// Hostname or IP address for server.  Use '' for UNIX domain socket.
// use 'localhost' for TCP/IP connection on this computer
// 底下欄位加入 localhost 內容,指定此程式連接到放在本機 host 上
$conf['servers'][0]['host'] = 'localhost';

有些文章提到,如果將 extra_login_security 改成 false,就可以讓 postgres 這個管理帳號從遠端登入了,不過目前我不打算這麼做,就沒去改動它了。

基本上,到這裡大致就可以使用了。