電子發票系統安裝
前言

支援電子發票,營業人必須使用 Turnkey Client 連線工具
來執行發票開立、發票作廢、發票註銷、折讓開立、折讓作廢等(傳送/接收發票資料檔案)。
本篇為 Turnkey
Client on Ubuntu 的安裝筆記。
使用環境需求
系統
- Window 或 Linux
- RAM 2GG+
- HD 80G+
- CPU 2+ core
- Linux
- Ubuntu 10.4+/Redhat ES 5.4 (須含 xwindow)
- Windows
- WinXP/Win7/Win2003 Server+
資料庫
- PostgreSQL 8.0+
- Oracle 10+
- MySQL 5
- MS SQL Server 2003+
JDK
僅支援 JSK 1.6.x
系統安裝
安裝 Ubuntu 16.0.4 Server
選擇系統語系,使用英文即可。

開始安裝

選擇時區,如果有使用排程要特別注意



設定鍵盤排列類型

是否偵測鍵盤排列類型

輸入主機名稱

輸入使用者名稱/帳號

設定密碼

是否要加密使用者目錄: No

硬碟格式化





詢問是否有Proxy設定。可以直接按 Enter 跳過

是否自動更新

為了能夠遠端連線,選擇安裝了 OpenSSH Server

是否要建立開機選單。如果電腦中擁有雙重系統,就要注意一下,因為建立後有可能導致無法進入原本已安裝好的系統。如果 Ubuntu 是電腦中唯一的系統,那就一定要選擇Yes。這樣Ubuntu Server才打的開。

VNC 與 XWindow
VNC(Virtual Network Computing) 為一種連線方式,讓我們可以使用 GUI 圖形化介面操作遠端伺服器。VNC 可以讓我們管理遠端主機的檔案,軟體,設定等等。由於 turnky 軟體需要 xwindow 介面,因此為了遠端管理我們需要安裝 VNC 與 XWindow。
安裝桌面環境和 VNC Server
大部分的 Linux Server 預設並不會安裝圖形化介面,所以第一步我們需要安裝桌面環境。這裡我們使用輕量化的 xwindow - XFCE4
搭配 TightVNC
1 | $ sudo apt-get update |
接著使用 vncserver
指令完成 VNC Server 初始化設定
1 | $ vncserver |
設定完存取密碼之後會詢問是否需要建立 view-only
密碼。注意如果要設定密碼和上一組存取密碼不可相同。
如果設定錯誤可使用下列指令修改密碼
1 | $ vncpasswd |
設定 VNC Server
接下來,我們得告訴 VNC Server 在啟動時該執行那些指令,這些指令會存放在家目錄下 ~/.vnc/xstartup
的設定檔。在我們第一次執行 vncserver
時就被建立了,但我們需要為 Xfce 做些調整。
VNC 第一次設定時預設會使用 5901 port。在 VNC 中則代表 :1
,例如 :2
:3
分別為 5902,5903 簡單說 :X
= 5900+X
。
因為我們需要修改設定所以第一步我們要先停止 VNC
1 | $ vncserver -kill :1 |
在開始設定之前,我們先備份一份設定檔
1 | $ mv ~/.vnc/xstartup ~/.vnc/xstartup.bak |
設定檔
1 |
|
第一行 xrdb $HOME/.Xresources
告訴 VNC 的 GUI framework 讀取 Server 使用者的 .Xresources
檔案。這個檔案可以讓使用者調整特定圖形化介面,終端機顏色,字體,等等設定。第二行單純告訴 server 執行 Xfce。
同時為了確保 VNC Server 可以使用這個檔案我們需要修改檔案權限
1 | $ sudo chmod +x ~/.vnc/xstartup |
重啓 VNC Server
1 | $ vncserver |
指令整理
1 | # 啟動 |
測試 VNC 遠端連線
首先,為了連線安全與方便性我們可以在本地端建立 SSH 轉發連線,就是將 localhost 與遠端 IP 資訊繫結起來。
1 | $ ssh -L 5901:127.0.0.1:5901 -N -f -l turnkey <server_ip> |
之後就可以使用 localhost:5901
來連線。
OSX VNC Client
Browser, Failure to Execute
1 | $ sudo apt-get install netsurf-gtk |
建立 VNC Service File
下一步我們要設定 VNC Server 為系統服務。如此一來就可以像其他服務一樣使用 service
指令來啟動、停止、重啓。
建立 /etc/systemd/system/vncserver@.service
注意
User
PIDFile
的部分要換成您的 username。
1 | $ sudo vi /etc/systemd/system/vncserver@.service |
設定檔內容如下
1 | [Unit] |
1 | # 重載新 Unit 設定檔 |
安裝 JDK
1 | # 下載 jdk6 |
安裝 PostgreSQL
1 | $ sudo apt-get install postgresql postgresql-contrib |
預設,PostgreSQL 使用角色
的概念來進行驗證與授權。某種程度上類似於 Unix-Style 的帳號,但 PostgreSQL 沒有區分群組和使用者,而是使用角色的方式。
預設安裝之後 Postgre 使用 ident
的驗證方式,意味著只要符合條件
Linux/Unix 系統的帳號都可以存取。例如一個 Postgre 的角色和 Linux/Unix 的 username 一樣就可使用該角色的權限登入。
切換 postgres 帳號
預設安裝流程中幫我們建立了一個使用者帳號 postgres
,這個帳號就可以存取預設 Postgre 的角色。為了使用該角色,現在我們需要切換換系統帳號。
1 | $ sudo -i -u postgres |
接著,使用 psql
存取 Postgre
1 | $ psql |
1 | # 登入 |
建立角色
要建立角色需要帳號有權限,目前我們只能使用 postgres
。我們可以使用 createuser
指令 搭配 --interactive
來建立新角色和資料庫使用者。
如果已經切換帳號 sudo -i -u postgres
1 | # 建立包含密碼的角色(Turnkey 強制需要密碼) |
如果沒有切換則
1 | $ sudo -u postgres createuser --interactive --pwprompt |
接著指令會提供一系列選擇,依據需求來建立帳號和角色。
建立新資料庫
除了預設建立的資料庫 postgres
外,另一個預設行為就是 PostgresSQL 在登入時預設存取跟帳號同名的資料庫。
假如我們剛剛建立了一個角色叫作 turnkey
預設登入時會存取名為 turnkey
的資料庫。我們可以使用 createdb
來建立資料庫,如果後面沒有加入名稱預設會使用帳號名稱。
1 | $ sudo -u postregres createdb einvTurnkey |
使用新帳號與角色
基於 ident
驗證機制,我們必須要有一個 Linux 的系統帳號來存取角色和資料庫。假如我們沒有符合的 user 可以使用 adduser
來建立。
1 | $ sudo adduser andyyou |
如果需要連線到不同的資料庫
1 | $ psql -d postgres |
一旦登入成功,我們可以使用下面指令來確認登入資訊
1 | # port 資訊也在上面 |
PostgreSQL 安裝流程 for Turnkey
postgresql 分別有使用者和角色,使用 createuser
可以一起建立,使用 createdb
可建立資料庫。因為 ident
驗證的關係所以我們需要一組系統帳號。
1 | # Turnkey 安裝流程 |
中文字 issue
1 | # 檢視是否支援語系 |
安裝 Turnkey
1 | # 下載並解壓縮 |
到這邊我們已經完成 Turnkey 的安裝,但還沒完成設定。
軟體憑證 PFX
說明:使用 Turnkey 需要使用憑證認證,硬體(卡片)或軟體憑證 PFX。
流程
- 至PFX 網頁產生
csr
- 憑證申請
正式憑證請參考官方文件
測試憑證申請步驟
連線至PFX 網頁

產生 csr

備份到 txt

連線至GTestCA 測試憑證申請 - 我要申請非 IC 卡類測試憑證,新版網站與官方的文件圖片不同。

可以使用 工商測試憑證 - 公司及分公司
或 一站式專屬測試
,但要注意 CA金鑰與簽章演算法
不可以選新
的。


如果憑證無法使用則匯出 base64 格式





貼上 base64 的編碼之後產生憑證。


備份金鑰









上傳憑證至主機
1 | $ sftp turnkey@<ip> |
Turnkey 設定
最後開啟 turnkey 將 系統管理
與 檔案接收
逐步設定。