[ubuntu] apache ServerName 警告訊息

過去在 ubuntu 安裝完 apache,啟動時總是會出現以下這段訊息 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message 最近才試著去解決產生此訊息的問題 其實是 apache2 抓不到 hostname,因此我們正確的設定 hostname 就正常了 sudo hostname ubuntu.mydomain.com 參考文章:http://blog.miniasp.com/post/2012/06/23/apache2-Could-not-reliably-determine-the-server-fully-qualified-domain-name-using-for-ServerName.aspx  

Continue reading


[npm] node package manager + node 如何使用一般使用者身份安裝 (linux 環境)

有些時候我們並不會擁有機器的 root 權限,如何在非 root 的情況下安裝 node 和 npm ps. 前提是系統必須裝有 C/C++ 的編譯器,如:gcc/g++   至 nodejs 官方網站,下載 source code 版本至家目錄 https://nodejs.org/en/download/ 解壓縮至家目錄 cd ~ tar -zxvf  node-v4.2.6.tar.gz  在家目錄創建 .npmrc 設定檔,加入以下內容 root = /home/YOUR-USERNAME/.local/lib/node_modules binroot = /home/YOUR-USERNAME/.local/bin manroot = /home/YOUR-USERNAME/.local/share/man 進入解壓縮後的目錄,開始做安裝目錄設定及編譯安裝( 我們將安裝在 ~/.local ,原本預設是/ur/local/.local ) ./configure –prefix=~/.local make make install  建立 symbolic link ,設定我們 require 時預設會找的目錄 cd […]

Continue reading


[ ubuntu ] 利用 cron table + vnstat 監測流量,定時檢查流量並做相應措施

租虛擬主機很常碰到流量限制的問題。若不小心洩漏IP,惡意人士刻意做 DDOS 攻擊,導致超流斷線那還好,但有些服務是超流之後不斷線,反而是多收$$ 如:知名的 Digitialocean 每月限制 1TB 的 transfer,詳細查一下官方文件可以看到有一段超流的收費。 Do you charge for bandwidth? Yes. Plans start with 1TB per month and increase incrementally. Once the monthly transfer limit has been exceeded, the cost of bandwidth is $0.02 per GB over the limit. 引述自 — https://www.digitalocean.com/help/policy/ 因此,我們還是要試著自己監控流量,必要時採許相對應措施。 vnstat : linux 頻寬監測工具,可以根據小時、日、周等等單位統計頻寬使用狀況。 crontab : linux 排程工具,這邊將利用crontab […]

Continue reading


[ubuntu 14.04] apache 目錄開啟.htaccess 覆寫

啟用apache 的 mod_rewrite 模組 sudo a2enmod rewrite 重新啟動apache,重新讀取模組,設定才會生效 sudo service apache2 restart 更改目錄設定檔為允許覆寫,如(/etc/apache2/apache2.conf) <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> 重新啟動apache,重新讀取設定檔,設定才會生效 sudo service apache2 restart  完成,可以在目錄下創建.htaccess檔案,覆寫設定

Continue reading