Qmail TLS connect failed 報錯

用 Qmail 發信到某些電郵伺服器時, 退回的 failure notice 出現 TLS connect failed 錯誤, 詳細報錯: TLS connect failed; connected to xxx.xxx.xxx.xxx. 上面的 xxx.xxx.xxx.xxx 是遠端電郵伺服器的 IP 地址。 解決方法是與遠端電郵伺服器連接時, 不使用 TLS 連線, 例如遠端電郵的域名是 remote-domain.com, 建立以下空白檔案, …

PHP 判斷字串是否有中文

在 PHP 要判斷字串是否有中文,可以用 mb_strlen() 及 strlen() 兩個函式實現。strlen() 會回傳字串的長度,但如果是中文, 日文及韓文等文字,會回傳較長的結果。而 mb_strlen() 則可以加入編碼,例如 UTF-8 及 BIG5 等,讓 PHP 自動判斷字串的長度,只要比對 mb_strlen() 及 strlen() 回傳的字串長度,如果相同,即表示沒有中文字在字串內,如果不相同,那便表示有中、日、韓等亞洲文字存在,例如: 上面 mb_strlen() 設定了字串為 UTF-8 編碼,如果是 BIG5 編碼,則要改成 BIG5, …


Apache 限制 IP 存取

Apache 內建了限制 IP 存取的功能, 可以設定成禁止某些 IP 不能存問, 或者只允許特定 IP 存取, 以下會以 Apache 2.4 為例, 設定 Apache 的存取限制。 以下假設 /var/www/html/members 目錄, 只允許特定 IP (192.168.1.100 及 192.168.1.101) 存取, 可以透過修改 httpd.conf 或 .htaccess, …

Linux find 指令搜尋多個檔名或副檔名

在 Linux 下用 find 搜尋檔案很好用, 當加入 -name 參數時, 只可以對單一檔名或副檔案進行搜尋, 以下會示範用上 -o 參數, 進行多個檔名或副檔名的操作。 例如想搜尋在 /var/www/html 目錄下, 所有 .php 及 .txt 副檔名的檔案: # find /var/www/html -type f \( -name “*.php” -o …

RHEL / CentOS 7 安裝 Cache DNS 伺服器

DNS 伺服器有幾種不同類型, 分別有 Master, Slave, Forwarding 及 Cache, 其中 cache-only DNS 伺服器是最簡單的 DNS 伺服器類型, 它不用設定任何網域, 它的作用是收到 DNS 查詢後, 會將結果放到 cache 內, 當下一次收到相同查詢時, 會直接從 cache 返回結果, 那便可以縮知 DNS 查詢的時間。 以下會示範在 RHEL …

Cacti 監測 MySQL 伺服器

Cacti 是一套開源的網路監測工具, 並以網頁介面管理。Cacti 也是以 PHP 開發, 讀取 RRDTool 的資料後, 可以顯示像 CPU 及網路使用等資料。如果想用 Cacti 監測 MySQL Server, 可以使用 Percona 的 Cacti Plugin, 以下是在 RHEL 及 CentOS 7 安裝 Cacti 監測 MySQl …

RHEL / CentOS 安裝 ImageMagick 及 Imagick

ImageMagick 是一套開源的圖片編輯工具, 可以建立、編輯、轉換格式、建立縮圖等。在 PHP 或 Perl 使用 ImageMagick 編輯圖片十分好用, 而 PHP 的 Imagick 是透過 ImageMagick API 建立及編輯圖片的模組, 以下會示範在 RHEL 及 CentOS 安裝 ImageMagick, PHP 的 Imagick 模組以及 Perl 的 ImageMagick-perl. …