Tag: Debian & Ubuntu
在 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 的 …
當網站從 http 轉換到 https 後,想自動將前往 http 的訪客自動導向到 https 頁面,以下是 Nginx 設定 http 自動轉址到 https 連線的設定方法。 以下假設網站域名是 mydomain.com, 會將所有 http 的連線自動導向到 https 的頁面, 另外會將沒有 www 的連線自動導向到 www 的網頁: 加入以下三個 block, …
當 .tar 或 .tar.gz 壓縮檔容量十分大, 在解壓前想先檢視壓縮檔內的內容, 可以在 tar 指令加上 -tf 參數實現, 例如: $ tar -tf myfile 以上指令會將 myfile 內所有檔案列出, 想要進行檔案搜尋, 可以用 pipe 配合 grep 使用, 例如想列出所有 .php 檔案, 可以這樣: …
ss 指令的全寫是 Socket Statistics, 顧名思義,它的作用是顯示 Sockets 的統計資訊。ss 跟 netstat 指令差不多,但 ss 可以顯示更多有關 TCP / UDP 及連線狀態的資訊,而且由於 netstat 由 /proc 逐個資訊讀取,而 ss 會由 kernel 直接讀取數據,所以 ss 比 netstat 執行上更快速,尤其在連線數量多的時候。 以下是 …
Memcached 是一套開放源碼的分散式記憶體快取系統, 目前已經有多個網站使用。在網站的應用上, 由於資料庫的查詢多數是讀取, Memcached 先將資料庫加以緩存, 那便可以減少資料庫的讀取, 從而增加效率。Memcached 在 PHP 另一個常用的地方是用作緩存 session。下文會示範在 Ubuntu 安裝 Memcached 及 Memcached 的 PHP 模組。 1. 安裝 Memcached 在 Ubuntu 安裝 Memcached 十分簡單, 可以直接用 …
在安裝 MySQL 或 MariaDB 伺服器後, 當執行 mysql_secure_installation 後會完成一些基本的安全設定, 其中一項就是設定 root 的密碼。 如果在往後忘記了這個 MySQL root 密碼, 可以用以下方法重設, 以下文章會以 CentOS 環境作為例子. 首先將運行中的 MySQL Server 停止執行: # systemctl stop mariadb 或 # …
今天編譯安裝 Apache, Apache 的預設安裝目錄是 /usr/local/apache2, 但我將它安裝到 /usr/local/apache, 但在編譯時出現以下錯誤: 原因可能是之前編譯 Apache 時, 有一些紀錄是安裝到 /usr/local/apache2 所致, 解決方法是有兩個: 1. 執行 make clean 指令, 再重新編譯。 2. 將原始碼的目錄刪除, 再重新解壓 Apache 的源始碼, 再進行編譯安裝即可。
Linux 下找檔案很多時會用上 find 指令,當用 find 指令找到檔案或目錄後,可以在後面加上 -exec 參數,來對每一個找到的檔案或目錄執行特定指令。 find 指令加上 -exec 參數的具體語法是這樣: $ find /path/to -name “filename” -exec command {} \; 在 -exec 前面是 find 指令找出想要的檔案,在 -exec 後面的 command …
不管系統管理還是寫程式,在檔案內對字串進行搜尋並取代十分常用,在 Unix Like 環境下常會用 sed 或 perl 做 search & replace. 如果在開啟檔案後需要取代字串,其實在 vi 及 vim 內同樣可以做搜查及取代字串,做法跟 sed 差不多,以下是 vi 做搜尋及取代的語法: :%s/search_from/replace_to/g 以上 vi 的語法會將檔案內,所有 “search_from” 的字串替換成 “replace_to”。 將上面指令最後加上一個 “c” …
當需要在兩台主機間執行指令,可以用 SSH 直接傳送要執行的指令,該遠端主機直接執行,而無需登入另一台主機。 以下是具體指令的語法: 上面的 “user” 是登入帳號的使用者名稱,remote.server 是遠端主機,而 “ls -l” 是要執行的指令。當執行以上指令後,如果系統沒有設定自動免密碼登入,會詢問遠端主機的密碼,輸入密碼後會在遠端執行指令,並輸出執行結果。 如果要同時執行多個指令,可以用 “;” 或 “&&” 分隔,例如: 或 如果需要用 Shell Script 執行遠端指令,當需要在指令加入變數,需要將上面的單引號,改成雙引號,例如: 最後是執行類似 top 這類互動模式的指令,只要加入 -t 選項即可: 除了 top 後,也可以用在 …