UniFi Debian 8 安裝與更新

18 八月

UniFi 安裝至 Debian 8 的好處之一,是可用簡便的 apt 指令更新,執行「apt-get upgrade」指令就能更新至 UniFi 目前最新版本。

【安裝環境】
Debian 8 / UniFi 5.0.7

【修改 sources.list】
 

~ #
vi /etc/apt/sources.list

加入以下設定:
# Ubiquiti UniFi updates
deb http://www.ubnt.com/downloads/unifi/debian unifi5 ubiquiti
deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti

【匯入 GPG Keys 金鑰】
 

~ #
apt-key adv –keyserver keyserver.ubuntu.com –recv C0A52C50

【更新套件清單】
 

~ #
apt-get update

【安裝套件】
 

~ #
apt-get install unifi

【更新套件】
 

~ #
apt-get upgrade

UniFi 新版釋出時以「apt-get upgrade」執行升級,完成後瀏覽 UniFi 網頁可確認為新版登入畫面。

【參考資料】
UniFi – How to Install & Update via APT on Debian or Ubuntu

Ubuntu 無法安裝 busybox-initramfs

18 七月

Ubuntu 16.04 的安裝一直停留在「無法安裝 busybox-initramfs」,不論是 server 版、desktop
版、32位元或64位元都是相同結果,上網搜尋才知道,想「破關」得有特殊的安裝「技巧」。

【安裝環境】
作業系統:Ubuntu Server 16.04

【解決方法】
光碟開機安裝開始… Language 選擇 English > Install Ubuntu Server > Language
再選回「中文(繁體)」…
就可順利完成安裝了。

【相關網站】
Ubuntu 官方網站

Debian 8 phpSysInfo 3 安裝

12 五月

phpSysInfo 的安裝在 Debian 8 上執行「apt-get」指令,相關套件看起來全裝好了。可是,還需再調整網頁路徑,才能瀏覽
phpSysInfo 網頁。

【安裝環境】
Debian 8 / phpSysInfo 3.0.17

【安裝 phpSysInfo】
 

~ #
apt-get
install phpsysinfo

安裝完後 phpSysInfo 不在 /var/www/html 裡,而是存放 /usr/share 中。

【phpSysInfo 路徑修正】
http://主機 IP 位址/phpsysinfo/ 是一般常用的 phpSysInfo 瀏覽網址,不過得將新增的網頁資料夾
phpsysinfo 從 /usr/share 搬移或連結到 /var/www/html。
建立 phpsysinfo 路徑連徑:
 

~ #
ln -s /usr/share/phpsysinfo /var/www/html

或者將  phpsysinfo 搬移到 /var/www/html:

~ #
mv /usr/share/phpsysinfo /var/www/html

如此,就可以正常瀏覽這部主機的 phpSysInfo 網頁了!


▲ 圖片來源:phpSysInfo SourceForge Project

【進階設定】
有興趣繼續研究的話,可試著修改預設語系為正體中文,以及指定網頁佈景主題。
 

~ #
vi /var/www/html/phpsysinfo/config.php

分別是 75 行的設定值「en」改為「tw」:
define(‘PSI_DEFAULT_LANG’, ‘tw’);

以及第 80 行的「phpsysinfo」改成
aqua、clean、cream、jstyle_blue、jstyle_green、nextgen、phpsysinfo 或 two
任選其一,如:
define(‘PSI_DEFAULT_TEMPLATE’, ‘jstyle_blue’);

【相關網站】
phpSysInfo
phpSysInfo
SourceForge Project

Debian 7 phpSysInfo 3.1.x 安裝

26 六月

phpSysInfo 的安裝用 apt-get 指令,本來是一件很簡單的事,在 Ubuntu 上執行「apt-get install phpsysinfo」,不用任何設定,該裝的全部都裝好了。而在 Debian 7 則是相關套件全裝好了,卻無法瀏覽 phpSysInfo 網頁,只好自己想辦法手動安裝了。

【安裝環境】
Debian 7.5 / phpSysInfo 3.1.13

【安裝相關套件】
 

~ #
apt-get install apache2 libapache2-mod-php5

網頁服務有多種套件可供使用,Apache 是比較熟悉而容易設定的選擇。

【主程式下載解壓縮】
下載、解壓縮和刪除 phpSysInfo 3.1.3 安裝檔:
 

~ #
wget –no-check-certificate
https://github.com/phpsysinfo/phpsysinfo/archive/v3.1.13.tar.gz
~ # cd /var/www/
~ # tar zxvf ~/v3.1.13.tar.gz
~ # mv phpsysinfo-3.1.13 phpsysinfo
~ # rm ~/v3.1.13.tar.gz

【建立設定檔】

~ #
cd /var/www/phpsysinfo
~ # cp phpsysinfo.ini.new phpsysinfo.ini 或者
~ # mv phpsysinfo.ini.new phpsysinfo.ini

這樣應該就可以瀏覽 http://網址/phpsysinfo/ 這部主機的 phpSysInfo 網頁了!


▲ 圖片來源:phpSysInfo SourceForge Project

【php 5 設定】
瀏覽 phpSysInfo 網頁非常順利,並未出現常見「詢問開啓或儲存 php 網頁」的訊息視窗,php 設定就暫時不變動了。

若需修改的話一下,開啟設定檔23~27行「IfModule mod_userdir.c」部分,如︰
 

~ #
vi /etc/apache2/mods-available/php5.conf

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_value engine Off
    </Directory>
</IfModule>

/etc/init.d/apache2 restart

變更設定重新啓動 Apache 後如果還不行,可清除瀏覽器的 Cache,或改用另一個瀏覽器,換一部電腦測試就沒問題了。

【進階設定】
有興趣繼續研究的話,可試著修改預設語系為正體中文,以及指定網頁佈景主題。
 

~ #
vi /var/www/phpsysinfo/phpsysinfo.ini

分別是 77 行的設定值「en」改為「tw」:
DEFAULT_LANG=”tw”

以及第 82 行的「phpsysinfo」改成
aqua、clean、cream、jstyle_blue、jstyle_green、nextgen、phpsysinfo 或 two
任選其一,如:
DEFAULT_TEMPLATE=”jstyle_blue”

【程式更新】
新版程式釋出時,直接將原有檔案資料刪除:
 

~ #
rm -rf /var/www/phpsysinfo/

再重複上述下載、解壓縮等步驟,重新安裝即可。

【相關網站】
phpSysInfo
phpSysInfo
SourceForge Project

Debian 8 Quota 安裝設定

23 六月

【安裝環境】
Debian GNU/Linux 8 Jessie

【安裝 Quota 套件】

~ #
apt-get install quota

【檔案系統支援設定】
以「home」磁區磁碟限額為例,開始設定步驟。
 

~ #
vi /etc/fstab

找出掛載為 /home 的磁區 /dev/sda4,設定內容中 <options>
選項部分,原有「defaults」後面再加上「,」及「usrquota,grpquota」如:

# /home was on /dev/sda4 during installation
UUID=4a615763-d9c3-4d8f-a12e-e90210888996
/home          
ext4   
defaults,usrquota,grpquota       
0       2

【Journaled Quota 檔案系統設定】
quotacheck: Your kernel probably supports journaled quota but you are
not using it. Consider switching to journaled quota to avoid running
quotacheck after an unclean shutdown.
quotacheck 執行時或有提醒使用 Journaled Quota 功能,若想避免再次出現這些訊息,可考慮磁區掛載時加入相關設定。
 

~ #
vi /etc/fstab

同樣是掛載為 /home 的磁區 /dev/sda4,設定內容中 <options>
選項部分,原有「defaults」後面再加上「,」及「usrjquota=aquota.user,grpjquota=aquota.group,
jqfmt=vfsv0」如:

# /home was on /dev/sda4 during installation
UUID=4a615763-d9c3-4d8f-a12e-e90210888996
/home          
ext4   
defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0
      
0       2

【檔案系統重新掛載】

~ #
mount -o remount /home

【建立記錄檔】
確認已關閉 Quota,才能執行 quotacheck:
 

~ #
quotaoff -av
/dev/sda4 [/home]: group quotas turned off
/dev/sda4 [/home]: user quotas turned off

開始 Quotacheck 以建立記錄檔:
 

~ #
quotacheck -avug

首次執行需時較久,順利完成的話「ls /home」將看到 aquota.user、aquota.qroup 兩個檔案。

【啟動 Quota】

~ #
quotaon -av
/dev/sda6 [/home]: group quotas turned on
/dev/sda6 [/home]: user quotas turned on

【Quota 限額編輯設定】

使用者 user1 磁碟限額設定

~ #
edquota -u user1

群組 group1 磁碟限額設定

~ #
edquota -g group1

【設定實例】
限制使用者10GB(10485760KB)磁碟限額,如:
 
Filesystem                
blocks      
soft       hard    
inodes     soft     hard
 
/dev/sda6
                      
9  10485760  11485760
        
2       
0        0

100GB(104857600KB)限額則為:
 
Filesystem                
blocks      
soft       hard    
inodes     soft     hard
 
/dev/sda6
                   
920  104857600  114857600    
76       
0        0

複製使用者 user1 設定至其他使用者 user2 user3 …

~ #
edquota -p user1 user2 user3 …

【查詢 Quota 現況】
列出所有使用者的磁碟用量及限制狀況……

~ #
repquota -auvs

Debian 8 Jessie Bind 9 安裝

7 二月

Linux DNS Server 的安裝,首選當然是 BIND (Berkeley Internet Name Domain)
這個套件,BIND 由 ISC 機構開發維護多年,目前的版本設定方式已簡化不少,而且以學校現有需求,比起以往安裝設定更是容易許多。

【安裝環境】
作業系統:Debian 8.0
軟體版本:BIND 9.9.5
網域名稱:abcd.chc.edu.tw

【套件安裝】
目前版本的套件名稱為「bind9」,開始主要套件及相關程式安裝。

#
apt-get update
# apt-get upgrade
#
apt-get install bind9 dnsutils

安裝完可用 named -v 指令查詢安裝版本。

#
named -v
BIND 9.9.5-9-Debian

【基本設定】
BIND 的設定檔 /etc/bind/named.conf,設定內容只有三行,暫時毋需變更…

#
cat /etc/bind/named.conf
include “/etc/bind/named.conf.options”;
include “/etc/bind/named.conf.local”;
include “/etc/bind/named.conf.default-zones”;

以前常用的 named.conf 設定內容,現在分別放進這三個檔案裡了。而且設定檔裡也提醒我們,一般只需修改
named.conf.local,因此,named.conf.options 以及
named.conf.default-zones
都可先略過。而 named.conf.local 的內容也很簡單,加入兩段主要的網域名稱設定…

#
vi /etc/bind/named.conf.local

zone
“abcd.chc.edu.tw” {
    type master;
    file “/etc/bind/db.abcd.chc.edu.tw”;
};

zone “114.23.163.in-addr.arpa” {
    type master;
    file “/etc/bind/db.163.23.114”;
};

這些是正解及反解設定檔的路徑,檔案名稱可自訂,加上存放路徑可分別設為…
/etc/bind/db.abcd.chc.edu.tw 與 /etc/bind/db.163.23.114

如果架設備援 DNS 伺服器時,相關的 allow-transfer 與 also-notify 設定,也要指定 163.23.114.x 為
Slave DNS Server 網址,完整寫法如下…

zone
“abcd.chc.edu.tw” {
    type master;
    file “/etc/bind/db.abcd.chc.edu.tw”;
    allow-transfer  { 163.23.114.x; };
    also-notify { 163.23.114.x; };
};

zone “114.23.163.in-addr.arpa” {
    type master;
    file “/etc/bind/db.163.23.114”;
    allow-transfer  { 163.23.114.x; };
    also-notify { 163.23.114.x; };
};

【正反解設定】
正反解的兩個設定檔的新增,可複製系統原有檔案作為範例,再將檔案中網域名稱或網址相關設定修改及新增,以符合網域名稱解析需求。

#
cp /etc/bind/db.local /etc/bind/db.abcd.chc.edu.tw
#
cp /etc/bind/db.127 /etc/bind/db.163.23.114

正解設定檔 db.abcd.chc.edu.tw 原有內容可保留,只需加入解析內容於檔案後面,如:

#
vi /etc/bind/db.abcd.chc.edu.tw

@              
IN      NS    
dns.abcd.chc.edu.tw.
@              
IN      A      
163.23.114.x
dns            
IN      A      
163.23.114.x
www          
IN      A      
163.23.114.x
sfs             
IN      A      
163.23.114.x

使用 Google Apps 服務時,以網域名稱「mail.abcd.chc.edu.tw」為例,相關正解設定如:

mail           
IN      MX     
1       ASPMX.L.GOOGLE.COM.
mail           
IN      MX     
5       ALT1.ASPMX.L.GOOGLE.COM.
mail           
IN      MX     
5       ALT2.ASPMX.L.GOOGLE.COM.
mail           
IN      MX    
10       ASPMX2.GOOGLEMAIL.COM.
mail           
IN      MX    
10       ASPMX3.GOOGLEMAIL.COM.
mail           
IN      MX    
10       ASPMX4.GOOGLEMAIL.COM.
mail           
IN      MX    
10       ASPMX5.GOOGLEMAIL.COM.

反解部分因郵件伺服器委託代管後,即使省略也無大礙。想練習一下設定方法可加入網頁伺服器的反解設定,例如:

#
vi /etc/bind/db.163.23.114

@       IN     
NS      dns.abcd.chc.edu.tw.
123    IN     
PTR    www.abcd.chc.edu.tw.
……

【IPv6 支援設定】
BIND 現有發行版本都已支援
IPv6,只需再自行加入網域名稱解析設定。而 DNS Server
的網路卡設定在「/etc/network/interfaces」這檔案裡,當然也要有 v6 位址的固定 IP
列入其中。以「正解」為例,「/etc/bind/db.abcd.chc.edu.tw」這個檔案裡,除了原有的
IPv4
正解設定以外,加上幾個主機的 IPv6 網址設定,如:

dns            
IN     
AAAA    2001:288:xxxx::2
www          
IN     
AAAA    2001:288:xxxx::3
……

【BIND 服務重新啟動】

#
/etc/init.d/bind9 restart
[ ok ] Restarting bind9 (via systemctl): bind9.service.

重新啟動後即使無明顯異狀,仍應查看系統登錄檔裡顯示的「named」相關訊息…

#
cat /var/log/syslog |grep –color named

若無錯誤狀況,就可放心繼續進行測試。

【DNS 測試】
named-checkconf 與 named-checkzone 指令檢查設定…

#
named-checkconf /etc/bind/named.conf.local
# named-checkconf -z
# named-checkzone abcd.chc.edu.tw /etc/bind/db.abcd.chc.edu.tw
# named-checkzone 114.23.163.in-addr.arpa /etc/bind/db.163.23.114

本機測試全都正常!

再到另一部電腦以常用的「nslookup」指令測試 DNS 伺服器,這部電腦同樣需有 IPv6 網路界面。Debian 系統如果沒有
nslookup 指令,需再用「apt-get install dnsutils」指令新增。

nslookup [-option] [FQDN] [server] 是 nslookup 指令的用法,以學校 DNS 伺服器
163.23.114.xxx
為查詢主機,查詢學校網頁伺服器:

#
nslookup www.abcd.chc.edu.tw 163.23.114.xxx

Server:        
163.23.114.xxx
Address:       
163.23.114.xxx#53
Name:   www.abcd.chc.edu.tw
Address: 163.23.114.xxx

指定用 Hinet 的 DNS 伺服器 168.95.1.1 查詢,確認從學術網路以外的地方也能解析網域名稱,加上
IPv6 查詢模式的參數「-type=aaaa 」…

#
nslookup -type=aaaa www.abcd.chc.edu.tw 168.95.1.1

Server:        
168.95.1.1
Address:      
168.95.1.1#53
Non-authoritative answer:
www.abcd.chc.edu.tw     has AAAA
address 2001:288:xxxx::3
Authoritative answers can be found from:
abcd.chc.edu.tw nameserver = dns.abcd.chc.edu.tw.
dns.abcd.chc.edu.tw     internet
address = 163.23.114.xxx
dns.abcd.chc.edu.tw     has AAAA
address 2001:288:xxxx::2

DNS 的查詢也可用「dig」指令,以取得更多訊息:
dig [-option] [FQDN] [@server] 
改成這一串指令:

#
dig www.abcd.chc.edu.tw @168.95.1.1 或
# dig -t aaaa www.abcd.chc.edu.tw @168.95.1.1

更多查詢項目如:

#
dig abcd.chc.edu.tw @163.23.114.xxx
# dig www.abcd.chc.edu.tw @163.23.114.xxx
# dig +trace www.abcd.chc.edu.tw
# dig -x 163.23.114.xx @163.23.114.xxx
# dig aaaa www.abcd.chc.edu.tw @163.23.114.xxx
# dig -t mx ms1.abcd.chc.edu.tw @163.23.114.xxx

網路上很容易找到像 What’s
My DNS?
這樣的 DNS 檢測網站,也可試試這種圖形化界面的檢測方式。通過這些測試後,應該就沒問題了!IPv6
檢測部分,常用網站有 台灣
NGN IPv6移轉技術入口網 IPv6 站台測試
行政院國家資訊通信發展推動小組網際網路通訊協定升級推動辦公室 等,或參閱 HiNet IPv6服務
網站訊息。

【設定備份】
有別於早期 Linux 版本的複雜程序,此次安裝設定的檔案數量也僅有修改一個、新增兩個,總共三個檔案:
/etc/bind/named.conf.local
/etc/bind/db.abcd.chc.edu.tw
/etc/bind/db.163.23.114

BIND 的設定備份就是將它們打包…

#
tar czvf bind_backup.tgz /etc/bind/named.conf.local
/etc/bind/db.abcd.chc.edu.tw /etc/bind/db.163.23.114

還原時解壓縮設定檔…

#
cd /
# tar xzvf bind_backup.tgz
# /etc/init.d/bind9 restart

如此就能快速回復,這正是 BIND 勝過其他平台 DNS 軟體的方便特性。

【參考資料】
Internet
Systems Consortium BIND

Bind 9 – Debian
Wiki

Bind 9 Server Howto

LifeType 系統 Ubuntu 13.10 搶鮮進駐

18 十月

【套件檢查與新增】
Ubuntu 2013.10.17 發行的 Ubuntu 13.10
光碟映像檔下載為開機光碟,開機後選擇伺服器版本完成基本安裝,套件至少需選擇「OpenSSH
Server」以便遠端登入使用,而當然更少不了包含 Apache2、MySQL 5.5、php5 等的「LAMP Server」套件組合。

#
apt-get update
# apt-get upgrade
# apt-get install apache2 php5 mysql-server php5-mysql php5-gd

# apt-get install lamp-server^ php5-gd

先更新所有套件,再確認 LAMP Server 安裝完整,最後還需加上「GD」。

【檢查 php 設定】
開啟 php 的設定檔,「Memory Limit」設定項目位於約第 407 行:

#
vi /etc/php5/apache2/php.ini
memory_limit
= 128M

表示這個版本的預設值是 128MB,早期 Ubuntu 版本總要把預設的 16MB 調整為 48MB 以上,才夠學校 LifeType
運作所需,近幾年的版本使用 128MB 的預設值,可先沿用暫不調整。

【Apache 設定】
Apache 一般毋須特別設定,使用預設值即可。但有 Life Type「簡潔網址」功能需求時,就應啟用 rewrite 模組:

#
a2enmod rewrite

至於慣用的 Virtual Host 加上 .htaccess 檔的啟用設定寫在一起……

#
vi /etc/apache2/sites-enabled/virtualhost.conf
加入:
# Name Based Virtual hosts
<VirtualHost *:80>
ServerName xxx.xxx.chc.edu.tw
DocumentRoot /var/www/LifeType資料夾
    <Directory
/var/www/LifeType資料夾>
     AllowOverride all
    </Directory>
</VirtualHost>

「/etc/apache2/sites-enabled/virtualhost.conf」這個檔案須自行建立、命名,不需
VirtualHost
功能或僅作測試用途的話,可省略此一步驟。

重新啟動 Apache:

#
service apache2 restart

【程式及資料庫複製】
將原伺服器上 LifeType 程式及資料庫存放的兩個資料夾,以 rsync 指令下載至這部新的伺服器。
不過,LifeType
網頁中的資料夾「tmp」,存放所有網誌的網頁快取與資料快取,若能回到原伺服器中,事先全部清空將能大幅縮短檔案傳輸時間。快取資料清除方式如:

#
rm -rf /var/www/blog/tmp/*

開始複製 LifeType 的相關資料,用兩行 Rsync 指令即可:

#
rsync -av user@163.23.xxx.xx:/var/www/blog/ /var/www/blog/
# rsync -av user@163.23.xxx.xx:/var/lib/mysql/lifetype/
/var/lib/mysql/lifetype/

rsync 會用指定的身份,登入「163.23.xxx.xx」這部原先 LifeType
所在的伺服器,下載「/var/www/blog」和「/var/lib/mysql/lifetype」兩個資料夾的檔案到新安裝的主機。

【系統測試】
測試前最好看一下「/var/www/blog/config/config.properties.php」這個設定檔,查閱資料庫管理者的帳號、密碼
是否
與這部主機相符,否則造成資料庫連線錯誤,LifeType 必定無法正常運作。而前述 LifeType 的「暫存目錄」,務必以「rm -rf
/var/www/blog/tmp/*」指令或登入後台確認清除乾淨,才能確保部落格中所有超連結不是原先主機的路徑。

用新主機的「http://IP位址/存放路徑」當作暫用的網址測試,先開啟網頁「admin.php」進入系統後台。點選「全部站台管控」,在「全域設
定」裡「一般設定」中的
「base_url」
存放網誌安裝的網址改成「http://IP位址/存放路徑」,原先「網址設定」request_format_mode
若設定使用「讓搜尋引擎易於搜尋的簡潔網址」,也最好先暫時改回「一般網址」,這樣就可讓所有路徑都連結正常了。預設網誌的圖文都能正常顯示,而且
「summary.php」彙整頁面也可看到最新發表的文章。根據以往的經驗,到目前為此已成功完成 LifeType 的複製。

不放心的話,進入部落格的「檔案中心」,查看圖片、檔案能否正常顯示、下載,試著上傳圖檔並順利產生縮圖,接著發表新文章,應該都沒問題才是。

【測試成功】
即使存放路徑變更仍能登入後台,是 LifeType
在移機時方便的特點,這使得「修改網誌安裝網址」和「清理暫存目錄」這兩個重要步驟,在「非常時期」都可以從後台完成。如此一來,就可省去安裝
「phpMyAdmin」,登
入修改資料庫內容的步驟了。

在整個資料複製過程中,全靠「rsync」指令來完成。首次複製需時較久,但用兩行指令就可把所需檔案完整傳送複製,測試沒問題準備上線前,關閉舊主機的
Apache 和 MySQL 服務,再用 rsync 加上 –delete 參數「同步」一次,確保兩端檔案的 100%
一致,最後只要更改 IP 位址設定就可正式上線啟用了。

【圖片來源】
LifeType
Ubuntu