FreeBSD 上使用 ntop 監控網路流量

安裝

設定後台密碼

編輯 rc.conf

加上

  • -i em0  : 監測的網路卡介面名稱,可由 ifconfig 指令取得
  • –ipv4 預設網頁後台為 tcp6 ,加上此參數即可轉換到 tcp4

▼ 後台首頁

▼ HTTP 流量圖

FreeBSD 9 安裝及設定

這篇很長很長很長……….. 三年沒有使用 FreeBSD 了,再次使用有種有點熟又不會太熟的感覺 :-|  真是慘 :oops:

所以我決定一步一腳印重新紀錄,並且把以前模糊不清的觀念搞懂。如果剛好你也有這些問題希望可以有些幫助。

本篇狀態:未完

硬體:

  • CPU : AMD FX-8150
  • BOARD : ASUS SABERTOOTH 990FX
  • RAM : DDR3 1600 8GB * 4
  • RAID : HighPoint RocketRAID 2310
  • HD :  WD 企業硬碟 2TB * 3
  • Network : Intel PRO/1000 PT
為了完整使用該硬體設備必須考量以下幾點:
  • 必須使用 x64 作業系統才能利用 32GB 記憶體
  • 系統必須執行運作在 RAID 環境上,支援的 OS 是 FreeBSD
  • 瞭解磁碟陣列災難復原流程
  • FreeBSD 運作在 Server 基本上只要硬碟、網路卡這兩個支援,顯示只要正常,其他就隨便了

軟體:

  • FreeBSD 9.0 x64
  • RocketRAID RAID Management/ Inband Service Web GUI
  • 很多很多的 /usr/ports/

HighPoint RocketRAID 的設置

  1. 在主機板上使用 SATA 連接一顆獨立硬碟
  2. BIOS 設定光碟開機
  3. 使用光碟安裝 Windows 在獨立硬碟上
  4. Windows 安裝完成,開機完成放入 HighPoint RocketRAID 2310 光碟
    1. 安裝 HighPoint RocketRAID 2310 驅動
    2. 安裝 RAID Management Software
  5. 執行桌面 RAID 管理程式捷徑,或是開啟瀏覽器輸入 https://127.0.0.1:7402 進入管理介面
  6. 輸入帳號 RAID 密碼 hpt
  7. 建立 RAID 5 磁碟陣列
  8. 退出 Windows ,BIOS 開機順序修改為 RocketRAID 優先,正式安裝 FreeBSD

FreeBSD 9.0 x64

  1. 光碟開機
  2. 該設定就設定,關鍵在硬碟分割
  3. 硬碟分割大可先使用 auto 初步設定
    1. 然後把 / 刪除,因為 FreeBSD 的 root boot 無法在 4TB 的分割啟動
    2. 割一塊 500GB 給 /
    3. 其他空間割給 /home
  4. 安裝到完成

以上此結論花了我整整將近一個星期, root 分割直接使用 4T 大小可以分割也可以安裝,不過應該是安裝到外太空去了,所以重新開機後會啟動失敗,有燒香的有機會比較幸運可以啟動到 mountroot> 這裡失敗,然後自行輸入這類字串 ufs:/dev/da0p2 接下去完成;沒燒香的直接就是啟動不能。

基本設定

增加 hostname 到 /etc/hosts

ee /etc/hosts

更新 ports

設定檔: /etc/portsnap.conf

SERVERNAME=portsnap.freebsd.org

加強 ls – gnuls

下載、安裝

 

資料庫 MariaDB

 

編輯、修改 my.cnf

 

修改 root 密碼

修改語系為 UTF8

編輯 my.cnf 加入以下設定

  • character-set-server = utf8 → collation_server : utf8_general_ci
  • collation-server = utf8_unicode_ci → collation_server : utf8_unicode_ci

db.php

在 php 程式連結資料庫選擇資料庫後,使用 SET collation_connection 影響的是 collation_connection 和 collation_database

忘記 root 密碼,如何重新設定

停止 MySQL Server ,使用不需認證模式啟動 MySQL Server

使用 SQL 指令重新設定 root 密碼

正常啟動 MySQL Server

網站伺服器 Apache

ee /etc/rc.conf

ee /usr/local/etc/apache22/httpd.conf

網頁程式 PHP5.5

編輯 Apache httpd.conf 設定 .php 副檔名關聯給 PHP 處理

安裝 PHP Extensions ,視需求選擇

 

資料庫管理 phpmyadmin

下載、安裝

 

將 APC 勾選取消,PHP 5.5  使用 OPcache 取代 APC

設定 Apache httpd.conf ,只允許內部網路使用

/usr/local/www/phpMyAdmin

修改登入逾時

sshd

/etc/ssh/sshd_config

NFS

ee /etc/rc.conf

ee /etc/exports

SAMBA

下載、安裝

 

開機啟動

使用者認證

網站開發

1. mod-auth-token

2. H264 Streaming Module Introduction 安裝參考:Install Apache and PHP to do Secure h264 Pseudo Streaming

增加 .mp4 副檔名在 Apache2 的串流設定

3. TexLive

/usr/local/texlive/2010/index.html

mktexlsr /usr/local/texlive/2010/texmf-dist /usr/local/texlive/2010/texmf

pre-generating all format files (fmtutil-sys –all)

開機加入 TexLive bin 路徑

/usr/ports 其他安裝後不須設定軟體

 

graphics/ImageMagick

題庫、圖庫上傳後縮圖處理用

multimedia/ffmpeg1

將上傳影片轉換成 MP4 格式,提供網頁串流播放

 

安裝設定用得到

雙網卡安全設定

主機上主機板本身有提供一個網路卡,另外又安裝了一塊 Intel PRO/1000 PT 網路卡

對內網卡設定 192.168.1 區段,對外設定 192.168.0 區段,各自有對外的寬頻線路,互不相通,示意圖如下:

基本原則就是不需要對外的就不提供,對外基本上只需要 DNS 和 WEB ,也就是 UDP 53 和 TCP 80 ,離機及遠端管理就從內部連線進行,不直接從對外頻寬管理。

Samba

/usr/local/etc/smb.conf

xorg – X Window

掛載 DVD 光碟

(我也忘記當初安裝 X window 要幹嗎?…)

定時執行

備份 校時

PHP 程式開發

一、MySQL 連線校對 utf8_unicode_ci

在此預期目的是將 collation_connection, collation_database, collation_server 三個狀態都設定為 utf8_unicode_ci

先前在 OpenSUSE 上開發,此三個狀態在「恍神的情況下」就已經是 utf8_unicode_ci 。一般來說,使用 phpMyAdmin 來查看也會是 utf8_unicode_ci ,因為在首頁 phpMyAdmin 就要你設定 MySQL 的連線校對

不過不論是 Linux 或是 phpMyAdmin 顯示什麼都和 FreeBSD 無關 ….. 所以我們還是需要自己設定。

1. 根據記憶體以及需求複製模組設定 my.cnf

2. 編輯 my.cnf 加入以下設定

  • character-set-server = utf8 → collation_server : utf8_general_ci
  • collation-server = utf8_unicode_ci → collation_server : utf8_unicode_ci

db.php

在 php 程式連結資料庫選擇資料庫後,使用 SET collation_connection 影響的是 collation_connection 和 collation_database

觀看 MySQL 設定狀態指令

collation_connection : utf8_unicode_ci

collation_database : utf8_unicode_ci

二、php 時區設定

修改 /usr/local/etc/php.ini 內 date.timezone

時區設定到 PHP: List of Supported Timezones – Manual 這裡查,修改存檔完成,重新啟動 apache

/usr/local/etc/rc.d/apache22 restart

補充資料

  • 磁碟陣列華氏溫度轉換公式
    {}^\circ C = \frac{5}{9}({}^\circ F - 32) {}^\circ F = \frac{9}{5} {}^\circ C + 32

FFmpeg

官網 FFmpeg

视频的镜像
hflip video filter

hflip实现对视频的水平翻转。语法如下:

-vf hflip

直播

影音檔案使用在 RTMP 直播上

一般檔案因為具備「Duration 播放長度」的資訊,直接將檔案丟給直播 RTMP Server 或產生

:

類似這類的錯誤。

只要加上 -re 參數即可

輸入為 M3U8 HLS 訊號源

 

m3u8 檔案範例

將 MP4 儲存為 AES 加密及如何播放

file.key 為一二進制檔案

file.keyinfo 為文字檔

使用 ffmpeg 將 MP4 檔案轉換為 HLS

單機播放

可以使用 ffplay

在 m3u8 設定的 AES-128 URI 路徑必須存在加密的 file.key

如此即可播放,否則取得下載 TS 檔案也無法播放

網頁播放

 

使用 frei0r 濾鏡

 

加速、減速

將聲音加速

Flash 轉檔

  • -qscale 1 : 取代 -qmin & -qmax ,使用此參數將忽略 -b 設定,至少需要設定到 4 相近顏色才可辨識

圖檔轉影片

檔案 001.jpg 002.jpg 003.jpg ….. ,編號一定要從 1 開始

影片轉圖檔 – 固定時間間隔

  • -r 0.5  2 秒轉一張圖檔
  • -s 640×360 圖檔尺寸

影片轉成 MP3

使用 -vn 參數將影像取消後,輸出格式設定為 .mp3 即可

在 Windows 環境下,一次處理整個資料夾

此批次檔可以將 input 資料夾內所有檔案,經過 ffmpeg 轉成 mp4 格式並儲存到 output 資料夾

參考

Convert.BAT

  • chcp 65001 : 切換到 UTF-8 code page,在批次檔內執行才可正常取得檔名
  • “delims=\” : 使用 \ 當成換行符號,因為檔案名稱不得使用此字元,才可以正常取得完整檔名

下圖為實際的檔案架構,將檔案丟進 input 資料夾內,雙擊批次檔即可執行,或是自行執行命令提示字元程式,使用指令執行。如此的好處是執行錯誤時可以看到錯誤代碼,或是加上 pause 暫停指令在批次檔最下方也可以

收聽、儲存網路電台

 

mms:// 需要修改成 mmst://

 

WebCam

FreeBSD

Windows

DirectShow – FFmpeg (備份)
在 Windows 的電腦上,FFmpeg 使用 DirectShow 功能。

ffplay 播放

預設影片尺寸為 640×480

一邊轉檔一邊監看