Author: Sam Tang

解決 “Could not chdir to home directory”

如果 Linux 帳號的 home directory 不存在,在登入帳號後,會出現以下找不到 home directory 的錯誤:Could not chdir to home directory /home/username: No such file or directory出現這個錯誤的原因,是帳號的 home directory 不存在 (可能錯誤刪除,或者建立帳號時沒有建立目錄),或者權限問題所致。 要解決可以重新建立缺少的 home directory,例如 home directory 在 …

vi / vim 開啟多個檔案

vi 在 Unix 環境作業系統下常用的文字編輯器,如果想在 vi 或 vim 同時開啟多個檔案,可以用以下方法:開啟 file1 file2: $ vi file1 file2 fileN 開啟所有 .php 副檔名的檔案: $ vi *.php 當開啟了多個檔案後,在 vi 可以用以下指令在檔案間進行切換操作:列出開啟了的檔案: 切換到下一個檔案: 切換到上一個檔案: 以檔案名稱作為切換: 如果是使用 vim,上面指令可以支援使用 Tab …

Linux 隱藏 GRUB 開機選單

GRUB 是 Linux 下十分常用的開機管理工具, 主要作用是在不同作業系統或 kernel 選擇要啟動的項目, 以下文章會介紹將 GRUB 啟動選單隱藏的方法。要隱藏 GRUB 啟動選單, 需要編輯 GRUB 的設定檔 /etc/default/grub, 在編輯前先進行備份, 以免設定錯誤不能啟動: $ sudo cp /etc/default/grub /etc/default/grub.bak 備份了 GRUB 設定檔案, 可以修改設定, 開啟 /etc/default/grub: $ …

Nginx 設定密碼保護目錄

在 Apache 設定密碼保護目錄會使用 .htpasswd 這種檔案,在 Nginx 有提供 auth_basic 模組,設定也很方便,以下是 Nginx 設定密碼保護目錄的方法。首先建立儲存使用者名稱及加密密碼的檔案 .htpasswd,可以用 htpasswd 指令完成,以下會設定使用者名稱是 username,密碼檔放在 /var/www/domain.com/member/ 目錄下面: # htpasswd -c /var/www/domain.com/member/.htpasswd username 然後會出現提示,要求設定密碼。如果系統內沒有安裝 htpasswd,可以手動建立這個檔案,每個使用者一行紀錄。在手動建立密碼檔前,需要先用 Perl 的 crypt 函式取得加密密碼的字串,執行以下指令:然後系統會印出加密了的密碼,將這個密碼複製,放入 .htpasswd 檔案: …

Nginx 設定 http 自動導向 https

當網站從 http 轉換到 https 後,想自動將前往 http 的訪客自動導向到 https 頁面,以下是 Nginx 設定 http 自動轉址到 https 連線的設定方法。以下假設網站域名是 mydomain.com, 會將所有 http 的連線自動導向到 https 的頁面, 另外會將沒有 www 的連線自動導向到 www 的網頁:加入以下三個 block, 包括是 port 80 …

Nginx 設定 SSL 網頁加密

以下會記錄在 RHEL 及 CentOS 7 下安裝及設定 Nginx SSL 的方法, 並會示範安裝自簽憑證及 CA 發行感證的步驟。1. 安裝 Nginx:Nginx 沒有包含在 CentOS 預設 Repository 內,要用 yum 安裝需要先啟用 EPEL Repository: $ sudo yum install epel-release 安裝好 EPEL …

CentOS 7 安裝 phpMyAdmin

phpMyAdmin 是十分流行的 MySQL 資料庫管理系統,可以透過網頁介面管理 MySQL 資料庫,提供建立、編輯、刪除資料庫及資料表,也可以管理使用者及其權限。以下文章會介紹在 RHEL, CentOS 用 yum 安裝 phpMyAdmin 的方法。在安裝 phpMyAdmin 前,需要先系統安裝好 Apache, PHP 及 MySQL (MariaDB),確定安裝好後便可以開始進行安裝。1. 加入 EPEL Repository 在 CentOS 預設的 Repository 沒有包含 phpMyAdmin,要用 yum …

ss 指令 – 顯示網路 Socket 資訊

ss 指令的全寫是 Socket Statistics, 顧名思義,它的作用是顯示 Sockets 的統計資訊。ss 跟 netstat 指令差不多,但 ss 可以顯示更多有關 TCP / UDP 及連線狀態的資訊,而且由於 netstat 由 /proc 逐個資訊讀取,而 ss 會由 kernel 直接讀取數據,所以 ss 比 netstat 執行上更快速,尤其在連線數量多的時候。以下是 ss 指令的常用例子:列出 …

Ubuntu 安裝 PHP Memcached 緩存

Memcached 是一套開放源碼的分散式記憶體快取系統, 目前已經有多個網站使用。在網站的應用上, 由於資料庫的查詢多數是讀取, Memcached 先將資料庫加以緩存, 那便可以減少資料庫的讀取, 從而增加效率。Memcached 在 PHP 另一個常用的地方是用作緩存 session。下文會示範在 Ubuntu 安裝 Memcached 及 Memcached 的 PHP 模組。1. 安裝 Memcached在 Ubuntu 安裝 Memcached 十分簡單, 可以直接用 apt-get 安裝: $ …