UniFi Debian 8 安裝與更新

Posted by admin on 18 八月, 2016 15:51

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

Posted by admin on 18 七月, 2016 22:51

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



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



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

【相關網站】
Ubuntu 官方網站

Debian 8 Quota 安裝設定

Posted by admin on 06 七月, 2015 16:28

【安裝環境】
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 安裝

Posted by admin on 22 五月, 2015 15:54

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

Debian 8 phpSysInfo 3 安裝

Posted by admin on 12 五月, 2015 16:00

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 手動安裝

Posted by admin on 26 五月, 2014 09:54

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

LifeType 系統 Ubuntu 13.10 搶鮮進駐

Posted by admin on 18 十月, 2013 11:00

【套件檢查與新增】
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

Debian 7 安裝 DHCP 伺服器

Posted by admin on 14 十月, 2013 09:21

【安裝環境】
Debian GNU/Linux 7.2



【更新及安裝套件】
apt-get update
apt-get upgrade
apt-get install isc-dhcp-server

安裝完顯示訊息……
Generating /etc/default/isc-dhcp-server...
[FAIL] Starting ISC DHCP server: dhcpd[....] check syslog for diagnostics. ... failed!
 failed!
invoke-rc.d: initscript isc-dhcp-server, action "start" failed.

第一次啟動時有錯誤現象是正常的,有些地方都未設定妥當……
tail /var/log/syslog
最主要的原因是……
Not configured to listen on any interfaces!

【網路界面設定】
vi /etc/default/isc-dhcp-server

指定分配 IP 的網路界面,如:
INTERFACES="eth1"
依實際環境狀況改為 eth0、eth1 或其他,校內慣用 eth0 對外,這裡就填內部網路用的 eth1。

【DHCP 服務設定】
vi /etc/dhcp/dhcpd.conf

保留第10行:
ddns-update-style none;

以及第25行的設定:
log-facility local7;

第13行起四行分別為「網域名稱」、「預設 DNS 伺服器」、「分配 IP 使用時間」和「最長使用時間」,時間單位為秒。
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 7200;
max-lease-time 10800;

【IP 分配設定】
動態分配設定時,每個網段的完整設定如下:
subnet 172.20.1.0 netmask 255.255.255.0 {
range 172.20.1.x 172.20.1.x;
option routers 172.20.1.x;
option subnet-mask 255.255.255.0;
option broadcast-address 172.20.1.0;
}

固定 IP 分配設定,以連線網路裝置 MAC 位址為識別依據,基本設定有三行,其中「host」名稱自訂,應為連續字元。如:
host PCName {
     hardware ethernet d4:85:64:xx:xx:xx;
     fixed-address 172.20.1.x;
     }

【測試及登錄檔分析】
測試設定檔
dhcpd -t
Internet Systems Consortium DHCP Server 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
除了顯示 DHCP 版本外,未發現語法錯誤。

重新啟動 DHCP 服務:
 /etc/init.d/isc-dhcp-server restart
[ ok ] Stopping ISC DHCP server: dhcpd.
[ ok ] Starting ISC DHCP server: dhcpd.
已無錯誤訊息。

檢視動態 IP 分配記錄,內含使用時間、電腦名稱、MAC 位址等訊息……
vi /var/lib/dhcp/dhcpd.leases

系統登錄檔分析:
列出系統登錄檔「/var/log/syslog」裡 dhcpd 相關訊息記錄。
grep 'dhcpd' /var/log/syslog

【進階設定】
新增另一網段「192.168.1.0/24」的 IP 分配設定,除了硬體需新增一個網路界面,系統的網路設定「/etc/network/interfaces」部分,也應給予代號「eth2」及正確 IP 設定,如:
auto eth2
iface eth2 inet static
  address 192.168.1.x
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255

DHCP 服務同樣需有「/etc/default/isc-dhcp-server」與「 /etc/dhcp/dhcpd.conf」兩個地方的設定新增。
首先…
vi /etc/default/isc-dhcp-server

指定兩個網路界面代號為分配 IP 的網路界面,如:
INTERFACES="eth1 eth2"

新增網段「192.168.1.0/24」的 IP 分配設定,如:
vi /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.81 192.168.1.100;
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.0;
}

重新啟動 DHCP 服務:
 /etc/init.d/isc-dhcp-server restart

有了 DHCP 服務,加上執行 iptable 指令的 script,就可成為具備「IP 分享」基本功能的 NAT Server 了。

【相關網站】
Internet Systems Consortium DHCP

SFS3 系統平台更新 Debian 7

Posted by admin on 06 七月, 2013 08:56

【安裝環境】
Debian GNU/Linux 7.1 作業系統 / SFS 3.1-2013-07-05
Apache 2.2.22 / MySQL 5.5.31 / PHP 5.4.4

【作業系統安裝】
下載安裝 Debian GNU/Linux 7.x 伺服器版作為學務系統平台,安裝套件只選「SSH 伺服器」,以最精簡的方式完成作業系統的安裝。

Debian

【更新及安裝套件】
以 apt 指令先作系統更新,再安裝 SFS 必備的「LAMP」相關套件:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2 php5 mysql-server php5-mysql

新增其他選用套件,這些套件即使沒有安裝,也不會影響學務系統的正常運作。
sudo apt-get install ncftp rcconf rsync phpmyadmin zip
ncftp、rsync 供備份上傳使用,rcconf 可管理開機啟動服務項目,加上 phpmyadmin 都可視需要再新增安裝。

【Rsync 檔案同步傳輸複製】
學務系統的備份,原本習慣以 tar 壓縮指令打包,再用 ncftp 上傳到另一部伺服器。不過,rsync 指令的運用,可讓兩部電腦的檔案與目錄同步,配合適當的參數設定,使得檔案的傳輸複製更為快速方便,也是個不錯的選擇。

學務系統的複製包含主程式和資料庫兩部份,執行 rsync 時以兩行指令與簡單的參數,就可以將檔案及資料夾從原有主機複製過來:
sudo rsync -av --delete username@163.23.114.xxx:/var/lib/mysql/sfs3/ /var/lib/mysql/sfs3/
sudo rsync -av --delete username@163.23.114.xxx:/var/www/sfs3/ /var/www/sfs3/

-av 是最常用的參數,--delete 是為確保兩邊備份內容一致。在「備用主機」上執行這些指令時,會連線到「163.23.114.xxx」這部伺器服中,通過密碼驗證後,開始複 製「/var/lib/mysql/sfs3/」和 「/var/www/sfs3/」裡的檔案到這部主機相同的路徑中。第二次以後的複製或備份就快多了,經由比對兩端的檔案後,僅複製異動的部份,因為「- -delete」參數 的緣故,來源檔案或資料夾刪除時另一方也會刪除,達到了「同步備份」的目的。

將來如果要將本地端的資料備份至其他主機,來源目的則對調改為:
sudo rsync -av /var/lib/mysql/sfs3/ username@163.23.114.xxx:/var/lib/mysql/sfs3/
sudo rsync -av /var/www/sfs3/ username@163.23.114.xxx:/var/www/sfs3/

【學務系統設定】
複製過來的學務系統網址、路徑與原先不同,而資料庫的使用者及密碼也可能不符,即使在測試階段也需修改設定才能正常顯示網頁:
sudo vi /var/www/sfs3/include/config.php
檢查一下第12.15行的路徑設定,MySQL 資料庫設定部份在第37.40.43.46行,檔案上傳位置由第53.55行指定。

【自動更新程式設定】
用下載方式更新學務系統的 Script 下載網址為:
http://163.23.89.100/pub/sfs_tool/Down_upsfs.txt
這個文字檔下載後需修改更新路徑、3.1版的更新伺服器位址、chmod……等,才能排程定期自動更新。
直接複製原主機上的這個 Script ,是比較省事的作法。

【Apache 設定】
新增上傳檔案路徑別名
sudo vi /etc/apache2/apache2.conf
最後一行加入下列設定:
Alias /upfiles/ "/var/www/sfs3/data/"

這個設定會影響學務系統網頁左上方3.1版圖案的正常顯示,以及校務佈告欄模組公告附加檔案的上傳下載。



VirtualHost 設定 (可省略)
sudo vi /etc/apache2/sites-enabled/virtualhost
加入

# Name Based Virtual hosts
<VirtualHost 163.23.114.xxx:80>
    ServerName    sfs.xxxx.chc.edu.tw
    DocumentRoot  /var/www/sfs3
    <Directory />
      Options FollowSymLinks
      AllowOverride None
    </Directory>
</VirtualHost>

「/etc/apache2/sites-enabled/virtualhost」這個檔案須自行建立,檔名不拘。以內部 IP 架設測試用主機不需 VirtualHost 功能,或者不在意網址多一層目錄,這部份就省略不管了。

可是,其中「Options FollowSymLinks」的上一行起,至下兩行共四行的相關設定,是為了防止 Apache 傳回網站目錄中檔案完整清單的安全設定,如果不寫在這裡,一定要記得放入 Apache 的設定檔裡。

Apache 設定到此結束,重新啟動服務:
sudo /etc/init.d/apache2 restart

【連結列修正】
測試階段時主機的網址與原先學務系統不同,登入學務系統的第一件事就是修正這個問題,找出「系統管理 > 系統維護與管理 > 連結列修正」,執行後才能修正各個模組的連結網址。
點選系統選單中各個模組,不僅能正常開啟外,查看瀏覽器網址列顯示的路徑,也應是目前主機的位址。

【系統測試】
學務系統裡測試了幾個以前系統遷移或升級後曾有異常的地方:
‧校務佈告欄公告時,檔案可否附加及下載。
‧各班學籍資料可否顯示。
‧「成績繳交管理查詢」是否正常。
‧轉入學生學籍資料中「戶口資料」能否補登。
‧「許功蓋閱俞……」等字可否正常輸入、不致顯示亂碼。

【網路 IP 設定】
測試完大致正常應可正式上線,再同步一下兩個資料夾裡的檔案,檢查「/var/www/sfs3/include/config.php」設定值和主機 IP 位址……
sudo vi /etc/network/interfaces

auto eth0
iface eth0 inet static
   address 163.XX.XX.XX
   netmask 255.255.255.192
   network 163.XX.XX.XX
   broadcast 163.XX.XX.127
   gateway 163.XX.XX.126

或可再新增幾行 IP 位址設定,以便支援 IPv6:
iface eth0 inet6 static
   address 2001:288:xxxx::x
   netmask 48
   gateway 2001:288:xxxx::1

sudo /etc/init.d/networking restart
重新啟動網卡,完成網路固定位址設定就可正式上場了。

【參考資料】
Rsync Man Page

Debian 7 Samba 3 快速安裝

Posted by admin on 30 五月, 2013 18:08

區域網路使用者檔案分享需求,建置以訪客身分免登入方便使用之檔案伺服器,以 Linux 系統 Samba 套件安裝,快速完成設定。

【安裝環境】
Debian GNU/Linux 7.0

【安裝相關套件】
安裝 Samba 3:
apt-get install samba


▲ 圖片來源:維基百科

【建立分享資料夾】
mkdir /var/samba
chmod 777 /var/samba

【基本設定】
vi /etc/samba/smb.conf

簡單的做法就是維持預設即可,
netbios name = hostname
unix charset = cp950
security = share
這些全都免了!

只需在 242 行起「Share Definitions」未尾加上:

[shared]
   comment = Shared Folder
   path = /var/samba
   guest ok = yes
   read only = no

其中分享資料夾名稱與註解,皆可自行命名。

設定完 Samba 服務重新啟動:
/etc/init.d/samba restart
[ ok ] Stopping Samba daemons: nmbd smbd.
[ ok ] Starting Samba daemons: nmbd smbd.

必要時檢查設定語法正確性執行「testparm」指令:
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[shared]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
……

【連線測試】
連線 Samba 伺服器時,可用「\\伺服器 hostname」或「\\伺服器 IP 位址」的網路位址直接登入伺服器瀏覽分享夾,以訪客的身分讀寫檔案,建立子資料夾。伺服器在「網路芳鄰」中顯示的名稱預設為 hostname,可修改「/etc/hostname」變更顯示名稱,不用動到「smb.conf」Samba 設定。

【連線狀態查詢】
執行 smbstatus 指令顯示 Samba 版本,及目前使用者連線狀態:

Samba version 3.6.6
PID     Username      Group         Machine
-------------------------------------------------------------------
 <processes do not show up in anonymous mode>

Service      pid     machine       Connected at
-------------------------------------------------------
shared       23443   as23-c10120   Fri Jun  7 11:42:17 2013
shared       18430   __ffff_172.20.1.113  Thu Jun  6 10:18:24 2013
shared       18627   __ffff_172.20.1.20  Thu Jun  6 11:03:33 2013
shared       18486   __ffff_172.20.1.86  Thu Jun  6 10:32:49 2013

Locked files:
Pid          Uid        DenyMode   Access      R/W        Oplock           SharePath   Name   Time
--------------------------------------------------------------------------------------------------
18486        65534      DENY_NONE  0x100081    RDONLY     NONE             /var/samba   .   Sat Jun  8 08:45:02 2013
18486        65534      DENY_NONE  0x20089     RDONLY     EXCLUSIVE+BATCH  /var/samba   a0001.lnk   Sat Jun  8 08:45:23 2013

【結語】
這樣的快速安裝,以變動最少的設定方式,就表示在「安全」與「方便」不能兩全時,取其方便為原則。如此簡單易用可引導使用者,改變隨身碟檔案分享的操作習 慣。捨棄技術層次改以管理策略取代,如:加強資訊安全宣導、定期刪檔等,確實能有效防止電腦病毒與木馬程式散布。

【相關網站】
Samba Samba - Community Ubuntu Documentation Samba Wiki

近期文章

文章彙整

新聞交換