12月 11, 2013

UBUNTU 13.10啟動網頁伺服器的虛擬主機功能(Apache2------VHOST)

1.最近看了本web2.0網站使用php網頁程式語開發的書,建構開發環境時發生了一點問題,在其它的linux系統,如:Fedora、Slackware系統等等,網頁伺服程式Apache主要設定檔為
 /etc/apache2/apache2.conf ,但在UBUNTU系統,將原來的單一檔案,依功能分為數個設定檔,並維持由apache2.conf主控整個網站設定,組合而成的樹狀結構:
#       /etc/apache2/                #設定檔所在目錄
#       |-- apache2.conf            #網頁伺服器主設定檔,引入所有的子設定檔案
#       |       `--  ports.conf       #設定監聽網路傳輸埠(port)
#       |-- mods-enabled           #已啟用功能模組目錄
#       |       |-- *.load                #個別模組載入位置
#       |       `-- *.conf               #個別模組功能設定
#       |-- conf-enabled             #已啟用的設定檔案目錄
#       |       `-- *.conf               #個別設定檔案
#       `-- sites-enabled            #已啟用網站功能,如虛擬主機
#               `-- *.conf               #個別虛擬主機功能設定

2.所謂虛擬主機,即在指定網址之外,提供其它網域名稱或網址,連結伺服器主機上的網頁目錄或指定目錄,以單一實體主機形成多台虛擬主機,提供開發網站測試運用及個人網頁服務。
3.設定步驟
3.1建立虛擬網站設定檔
設虛擬網站網址為www.test.com,在/etc/apache2/site-available目錄下建立設定檔

www.test.com.conf 

,注意其預設副檔名為.conf,若要變更副檔名,請修改設定檔

/etc/apache2/apache2.conf 

,將下列內容

# Include the virtual host configurations:
 IncludeOptional sites-enabled/*.conf

 ,改成
 # Include the virtual host configurations:
 IncludeOptional sites-enabled/

設定檔的內容如下,注意www.test.com不要寫成 *:80,若不指定虛擬網站的網址,將無法啟用虛擬網站:


        #網站管理員
        ServerAdmin webmaster@test.com
        #網頁文件目錄
        DocumentRoot /var/www/test-site
        #網站錯誤日誌目錄
        ErrorLog /var/www/test-site/error.log
        #網站存取日誌目錄及檔名
        CustomLog /var/www/test-site/access.log combined


3.2啟用並測試虛擬網址
 在終端執行指令,啟用虛擬網站

sudo a2ensite www.test.com

 設定正確啟動正常,顯示

Site www.test.com already enabled



執行重新載入網頁伺服器指令,




sudo /etc/init.d/apache2 reload
 * Reloading web server apache2                                                  *
 *


(若顯示錯誤訊息,表示虛擬網站設定檔設定錯誤,依訊息修正設定檔)

3.3瀏覽虛擬網站

接下來,於瀏覽器指定虛擬網站的網址,測試連結虛擬網站!

11月 01, 2013

JavaScript : CryptoJS加解密功能測試!

CryptoJs

10月 31, 2013

UBUNTU 13.10 : 啟動PHP5的mcrypt模組

PHP5 使用模組化管理網頁伺服器 Apache2 的各項功能,其中加解密是使用,mcrypt模組,但使用者在 UBUNTU 13.10 作業系統完成 Apache2 及 PHP5 的安裝動作,使用 phpinfo() 函數顯示,會發現沒有啟動mcrypt模組,原來此模組在安裝後內定為手動啟動,以下為啟動步驟:
 1.首先檢查系統安裝了PHP的那些功能,執行指令會顯示9個項目,確認已裝php5-mcrypt

dpkg --get-selections | grep php5 

libapache2-mod-php5                  install 
php5                                             install
php5-cli                                        install 
php5-common                              install 
php5-gd                                       install 
php5-json                                     install 
php5-mcrypt                                install 
php5-mysql                                  install 
php5-readline                              install 

2.在系統安裝 php5-mcrypt 後會在目錄 /etc/php5/conf.d/ 放入 mcrypt.ini 這個設定檔,描述加解密模組的名稱;以下指令分別替功能模組設定檔建立連結、啟動模組及重啟網頁伺服器即可。

sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available 
sudo php5enmod mcrypt 
sudo service apache2 restart

10月 28, 2013

網誌部份內容加密功能

別的部落格有鎖住部分網誌的功能(如無名...),為此,編寫小程式玩玩!,以一篇烘焙食譜為例,分享給擁有密碼的朋友,
其它人僅能看到公開內容 (紅色實線框內),按下“顯示 / 隱藏”鈕,跳出輸入視窗,檢核密碼為錯誤或空白時顯示警示訊息;
核對密碼無誤將展開並顯示隱藏內容(紅色虛線框),展開 / 收合僅執行一次。

9月 03, 2013

AES演算法文章加解密功能!

加解密演算法
請在下方區域輸入要加密的文字:

加密/解密:

8月 07, 2013

Linux:使用gtkmm、glade3開發C++ 圖型介面I程式(一)簡介

一、開發環境與版本

作業系統:ubuntu 13.04
GTK+圖形介面函式庫的C++介面:gtkmm 3.0
GTK+視覺化使用者界面設計工具:glade 3.14.2
C++編譯器:g++ 4.7.3

二、使用glade建立GTK+圖型介面
(一)構成圖型界面
1、基本視窗(top level window)。
2、容器(Container),如VBox、HBox...。
3、視窗元件(Widget),如button、label...。
4、設定視窗元件屬性,如偵測Clicked事件,自定信號處理。

(二)存檔,新版産生xml格式設計檔( .glade),廣泛提供其它程式語言解析、建立變數與設定處理信號。

(舊版程式則是針對C、C++、Ada95、Perl等程式語言依設計圖形界面産生原始碼,再與主程式一起編譯為執行檔,以C為例,産生下列原始碼:
1、Interface Create Functions:interface.c、interface.h。
2、Signal Handler & Callback Functions:callback.c、callback.h。
3、Support fufunctions:support.c、support.h。)

(三)預覽圖形界面

三、編譯圖型介面程式
(一)建立專案資料夾(Project Folder),放置三個檔案:
1、標頭檔(.h Header File):定義類別(Class)等項目。
(1)引用gtkmm.h。
(2)成員變數(Member Variable)、成員函數(Member Function)及其它類別,此外,需定義構成圖形介面並與信號處理相關的的小元件(Widget),如按鈕(Button)、標籤(Label)等。
(3)設定圖形介面的應用程式介面(API)Gtk::Builder,編譯時載入XML格式檔。
(4)宣告建構子(Constructor)及解構子(Destructor)(解構子可省略),此時僅宣告存取層級(Public)(保留於程式碼原始檔處,配合Builder參考glade設定檔,實作圖形介面(Implementation))。
(5)信號處理(Signal Handlers),定義處理圖形界面小元件觸發事件(Event)。

2、根據標頭檔撰寫的程式原始檔(.cc or .cpp Source File):

3、圖形介面格式檔(.glade):經由Glade設計儲存的XML格式檔。





(二)在文字終端下達指令編譯(粉色字為固定指令;白色字體為原始碼檔,依序為主程式、界面程式及執行檔)。

   g++ xmain.cpp xglade.cpp -o xmain  `pkg-config gtkmm-3.0 --cflags --libs`


8月 06, 2013

Linux系統:轉換正體中文與簡體中文文字編碼!

寫這篇文章最主要的,是怕自己忘掉後每次花很長的時間找資料。

、網際網路四通八達,許多取自網路的中文資料,除很大一部份是簡體編碼,造成台灣使用者的困擾,因此轉換編碼的需求應運而生,首先僅就曾用過的中文內碼,簡介其編碼系統:
(一)1.大五碼(Big5)
1983年由台灣地區電腦廠商推出的中文系統編碼業界標準,使用在DOS、Windows 3.1、 Windows 95及Windows98等正體中文作業系統作為內碼。
(二)簡體中文(GB2312)
1981年由中國大陸發布的政府標準,全稱為信息交換用漢字編碼字符集.基本集,使用於簡體中文系統作為內碼。
(三)統一碼(UTF8)
1993年正式在美國USENIX會議正式推介,以容納世界上大多數字符的編碼。

二、Linux系統轉換簡體中文為正體中文編碼

請於文字終端輸入下列指令,只轉換檔案內容文字符號的編碼,但檔名編碼並不會跟著更改(gbfile.txt為簡體中文檔,outputfile.txt為輸出正體中文編碼)

iconv gbfile.txt -f gb2312 -t big5 | iconv -f big5 -t utf8 -o outputfile.txt

三、Linux系統轉換正體中文編碼簡體中文

請於文字終端輸入下列指令

 iconv big5file.txt -f big5 -t utf8 | iconv -f utf8 -t gb2312 -o outputfile.txt


 請參考!