顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

2018年2月8日 星期四

Wordpress 4.9.4 更新問題解決方案(設定權限就可改善)

Wordpress Dashboard 要求輸入 FTP 帳號密碼

如果你在 VPS 上安裝新的 Wordpress,在一段時間後發現 Dashboard 上出現提示 Wordpress 已經可以更新,但當你按下更新按鍵卻發現他要求你提供 FTP 的登入 IP、帳號、密碼。

為何會發生這個問題?如何避開這個 FTP 登入要求?

因為 VPS 在 Apache 安裝的過程中,因為資料庫裡的資料夾權限不是使用 root 權限針對一些相關的資料夾進行設定,所以導致 Wordpress 有些資料夾無法在指定的帳號下進行更新。解決方式很容易,只需要修正資料夾的權限就可以了。


修正料夾權限,將系統資料夾權限統一化


首先請先確認你可以用 Putty 這類的連線軟體登入你的伺服器。順利登入伺服器之後,直接輸入:

chown -R apache:apache /var/www/

接著你只要重新載入一次你的 Wordpress Dashboard 就可以按下更新,這時後 Dashboard 向你要求 FTP 登入資訊的畫面也消失囉!

更多相關討論,可以參考這一篇: Wordpress asking for FTP Credentials

2015年2月27日 星期五

以 Serial Port 操作 Raspberry Pi A+

如果您手邊只有一台 NB ,沒有多餘的螢幕可以透過 HDMI 將 Raspberry Pi 上的畫面顯示出來,但又希望可以不須外接鍵盤滑鼠,就可以對 Raspberry Pi 進行直接操作,這時候您可以學習使用 Serial Port 的連接方式,就可以將 Raspberry Pi 的 terminal 畫面透過 Putty 等軟體顯示於 NB 的螢幕上了。

首先我們來看看這次的操作介紹需要些什麼基本需求:

* Raspberry Pi A+ (其他系列亦可)、microSD記憶卡(供作業系統使用)
* microUSB 電源線
* USB to Serial Port 轉接線
* EDIMAX 7811Un  Wifi Dongle
* NB 一台(此文採用 Ubuntu 14.04 為操作環境)
* Putty 軟體
* 了解基本 linux command line 操作指令(例如 cd、ls、ifconfig 等)



當上述設備與基本觀念都具備後,我們來稍微分析一下為什麼要挑選Raspberry Pi  A+ (以下簡稱 A+ ),USB to Serial Port 線該選哪一種,以及應該選擇哪一套 Pi 的作業系統:

1. 為什麼要選擇 A+ ?
雖然很想說:因為便宜,但這個聲明已經不具說服力。因為我在撰寫這篇文章的前兩天已經看到有店家將 Raspberry Pi  model B 為了因應 Pi 2 的上市,而降價求售到只要 $500 就可以買到。

會選擇 A+ 其實最看中的是他的體積。A+ 大約是 Model B 的一半面積。雖然在板子上不具備網路晶片,以及只有一個 USB 孔,但對於低階且不太需要外部輸入設備的應用來說,這是一個極具奢侈的硬體平台了。因為甚至多數應用只需要 Arduino 就可以完成。

但 A+ 比起 Arduino 更吸引人的特點有:

* 具有 32 個 GPIO
* 若需要網路功能,只要插上 USB Wifi dongle 即可
* 運算速度以及具備作業系統功能
* 可直接於 Pi 上以 Python 撰寫相關程式
* etc.

正因為有了這些體積、耗電、運算、上網等需求,所以我傾向選擇 A+ 而非 Model B 系列與 Arduino 。


2. USB to Serial Port 線
USB to Serial Port 線材其實有很多種,而且會因為內建的晶片價格而有相當大的價格差異。我所選擇的是國內拍賣網站上的平價轉接線。其採用晶片是國內旺玖科技的 PL2303 晶片,線材外觀如下



3. 作業系統
這部份就比較見仁見智,看個人需求與使用習慣來選擇即可。因為我多數時間都是使用 Ubuntu,加上有點懶惰不想再多記憶其他作業系統的操作指令,所以我推薦 Debian 和 Ubuntu 使用者可以選擇 Raspberry Pi 官方推出的:Raspbian 。這套作業系統的操作指令與 Debian 沒有太大差別。




開始動手

安裝 USB to Serial 線
假設你已經在 Raspberry Pi 上下載了作業系統的 image 檔,並正確燒錄到 SD 卡上,這時就可以將 SD 卡安裝至 A+ 上。接著請參考 A+ GPIO 腳位,並依照下圖將 USB to Serial  線接至 A+ GPIO 。

USB to Serial 與 A+ 連接的腳位對應如下:

USB 黑線 <--->  A+ 6號 Ground Pin

USB 白線 <--->  A+ 8號 TXD Pin


USB 綠線 <--->  A+ 10號 RXD Pin






上述步驟做完後,接著就可將 USB 插入電腦端 USB ,並開啟終端機(terminal )查詢目前接上的 USB to Serial  線路所使用的是哪個裝置名稱,請輸入:ls /dev/ttyUSB*

若你的 USB to Serial 線可被正確讀取,你應該能看到如下圖的顯示畫面



安裝 Putty 
USB to Serial 線安裝好後,請先確認你的電腦已經安裝好 Putty 這套軟體,因為我們將透過這套軟體進入 Raspberry Pi A+ 進行一些設定。如果你尚未安裝,請直接在終端機中輸入:
sudo apt-get install putty

安裝完成後,請將 Putty 開啟,開啟後畫面如下


因為待會我們是要透過 Serial 連入,因此請點選 Serial 選項。點選後會發現 Serial line 的連接埠與我們稍早所查詢的名稱不同,Speed 也僅只有 9600 ,因此我們需要修正一下。



將 Serial line 的連接埠修改為 /dev/ttyUSB0 ,並將 Speed 改為 115200 後就完成了這部份的設定,待會連接時就可以正常連入與顯示



在正式連線進入 A+ 前,這邊我會建議你調整一下字型與字體大小,這會讓你的操作過程感覺更加舒適。請先點選 Fonts ,並點選第一個欄位旁(寫著 server:fixed) 的 Change 按鈕


按下 Change 鍵後,會跳出一個小視窗,建議選擇以下字型與字體大小:
Nimbus Mono L ,大小 12 ,選擇完成後,請按下確定


完成了連接埠、傳輸速率、字型與字體大小的修正後,請回到 Session 頁面中,我們準備正式連線進入 A+ 。



開始連線
在正式為 A+ 接上電源開機前,請再次檢查你的 USB to Serial 是否已經正確接上、Putty 設定是否完成、microSD 卡是否也已經安裝完成。如果以上都準備好了,那就開始連線吧!


一開始的連線過程,可能會遭遇以下情況

狀況一:無法開啟通訊埠
如果你的 Putty 是透過 Ubuntu 左側欄位搜尋、執行的話,此時你所執行 Putty 的身份僅是一般 User,並非 root ,而且近年來 Ubuntu 對於 USB、Serial Port 等通訊埠的「存取權限」限制的更嚴格,以防 USB 埠被惡意感染或攻擊。



解決方案:直接至 /usr/bin 資料夾中,以 sudo 指令執行 putty 




狀況二:沒有任何畫面
若已經透過 sudo 執行 Putty ,雖然沒有蹦出錯誤訊息,但畫面一片黑,這時只需要重新拔掉 A+ 上的電源線,重新插上即可正常顯示畫面。

註:若重新上電,Putty 依舊沒有畫面,請檢查 microSD 是否有正確安裝


重新插上 microUSB 線,讓 A+ 重新上電開機


順利開機後,即可在 Putty 上看見 login 畫面。如果你是第一次使用,Raspberry Pi 的作業系統帳號、密碼預設為:

帳號:pi
密碼:raspberry




修改密碼
為求安全起見與個人使用習慣,建議登入 A+ 後,盡快修改密碼,避免有心人士隨意登入取得操作權限

請輸入:sudo passwd
輸入完成後,系統會請你輸入目前舊有密碼,接著再請你輸入兩次新密碼,就完成了密碼修正,記得下次登入系統時,就要使用新的密碼囉!





網路設定
這篇教學主要是分享如何在沒有多餘的螢幕、鍵盤滑鼠的情況下,依舊可以透過 Serial Port 連線至 Raspberry Pi 中進行設定、調整。尤其像 A+ ,他的 USB Port 只有「一個」,當 Wifi Dongle 接上且還沒設定好上網功能,更無法連接鍵盤滑鼠的情況下,只剩 Serial Port 一途可以進行操作了。讓我們來學習如何不依賴 USB to Serial 線也能操作 A+ 吧!


Wifi Dongle 設定
若你已依照本篇所有步驟完成了基本操作,請先保留 USB to Serial 線依舊連接於 A+ GPIO 腳位,並請將 EDIMAX 7811Un  Wifi Dongle 接至 Raspberry Pi A+ 上的 USB Port ,並請參考以下文章 學習設定 Wifi Dongle 。


SSH 連線
有時候透過 USB to Serial 線操作久了,Putty 上的畫面開始會呈現刷新過慢、停頓等問題,而且 Raspberry Pi 若已經設定好 Wifi 或乙太網路埠的連線功能,那我們就可以考慮透過遠端連線的方式,連入 Raspberry Pi ,不需要再拖著一條尾巴進行操作。

遠端連線最常聽見的不外乎是 Telnet 和 SSH ,但是 Telnet 的封包是採用明文傳輸,是相當不安全的一種通訊協定,因此我們只要將 Raspberry Pi 上的 SSH Server 給打開,就可以透過 SSH 從遠端連線 Raspberrt Pi 了。

假若你已經使用 Serial Port 完成了 Wifi Dongle 設定,Raspberry Pi 也可以正常上網後,為了能使用 SSH,請輸入:sudo raspi-config



進入 raspi-config 後,請選擇第 8 個選項 Advanced Options


選擇 A4  SSH ,並選擇 Enable

當 SSH 正確 Enable 後,會出現 OK 畫面,此時已經完成 SSH Server 的開啟了。


SSH 設定完成後,如何離開 raspi-config ? 只需要按下 TAB 鍵,讓游標跳至下方,並選擇 Finish 就可以完成設定並離開。


這時候可以查詢自己的 IP ,並嘗試使用 SSH 連線登入,如何查詢自己的 IP 呢?請輸入:ifconfig ,你將可以查詢到 wlan0 目前所使用的 IP 為何。

註:這裡是使用了 192.168.0.102 的區網 IP,並非由外部可連入的實際 IP,若需取得實際 IP,可自行查詢如何開啟無線 AP 設定頁面中的 forwarder ,以及透過 no-ip 設定一個實際 IP

當 IP 正確,並可登入時,將會要求輸入


如果正確登入,將可看到以下命令列顯示: pi@raspberrypi ~ $
操作到這裡,恭喜你,終於可以擺脫 USB to Serial 線,以後都可以透過網路方式連線到 Raspberry Pi ,享受更快速、穩定的遠端操作畫面。




以上介紹,是基於希望能把 A+ 發揮最大效用,因此先採用 USB to Serial 線連線設定 Wifi Dongle 與開啟 SSH 功能,最後就可將 Pi 繼續進行更多有趣的實驗!希望今天的介紹對你有幫助!

2015年2月15日 星期日

Ubuntu 14.04 更換 Linux kernel 3.19

由於已經好久沒有嘗試更換 Kernel ,已經有點生疏,因此在此作個筆記提醒自己一下。這次的文章中所使用的 OS 是 Ubuntu 14.04,預計從 3.14 自行更新 kernel 為 3.19。


查詢現有 kernel 與移除舊版 kernel

1. 查詢當前使用 kernel 版本:uname -r 
首先打開終端機,並輸入 uname -r 查詢自己目前所使用的核心版本


2. 印出目前 /boot 中有哪些 kernel:dpkg --get-selections | grep linux-image
若平時有開啟發行版自動更新,或是手動透過 sudo apt-get dist-upgrade 的朋友,有時或許或遭遇 /boot 已滿,無法完成更新的問題。其原因是 /boot 資料夾因平時 dist-upgrade 指令自動下載升級 kernel 後,並未將舊版本 kernel 移除,因此才會有 /boot 空間不足的提示。

欲了解自己的 /boot 中存在哪些 kernel ,請輸入:dpkg --get-selections | grep linux-image
終端機將會印出目前存在的 kernel 有哪些版本。


3. 移除多餘 kernel 節省空間: sudo apt-get purge linux-image XXX
在步驟二中所查詢到的舊 kernel 若確實已經不再用到,此時可以透過 purge 指令移除舊版 kernel ,只要再 sudo apt-get purge 後方輸入步驟二中印出的舊版 kernel 即可進行移除。




手動更新  Linux Kernel 3.19 

1. 準備開始
透過上述步驟清理 /boot 空間後,接著要開始替 Ubuntu  14.04 手動更新。 Linux Kernel 開發團隊將 32 位元與 64 位元的 Linux Kernel binary file 上傳於此:Linux Kernel 3.19

2. 確認位元版本
確認自己的作業系統是 32 位元還是 64 位元。在這個教學範例中,我的筆電是 32 位元,因此需要下載以下檔案:

- linux-headers-3.19.0-031900_xxx_all.deb

- linux-headers-3.19.0-031900-generic_3.19.0-031900.xxx_i386/amd64.deb

- linux-image-3.19.0-031900-generic_3.19.0-031900.xxx_i386/amd64.deb



3. 下載並安裝 Linux kernel 3.19  
下載時,我們先將檔案存在 /tmp 區,最後再一次全部安裝,請依照下列命令執行:
cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/linux-headers-3.19.0-031900-generic_3.19.0-031900.201502091451_i386.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/linux-headers-3.19.0-031900_3.19.0-031900.201502091451_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/linux-image-3.19.0-031900-generic_3.19.0-031900.201502091451_i386.deb

sudo dpkg -i linux-headers-3.19.0-*.deb linux-image-3.19.0-*.deb
4. 重新開機
步驟三中全部依序完成後,即可重新開機,完成更新 Kernel 的步驟。當電腦重新開機完成後,你可以再使用  uname -r 查詢 kernel 是否正式更新成功。 

5. 清理空間
安裝套件後,有些暫存檔案並未被移除,而平時使用時也有部份檔案已不再被使用,這些檔案留在電腦中,將會影響系統的順暢,因此我們可以使用以下指令協助清理系統:

sudo apt-get autoremove

sudo apt-get clean



到這裡,你已經完成了如何幫 Ubuntu 14.04 更換為最新 Linux Kernel 3.19 版,透過新的 Linux Kernel ,機器設備將有更好的支援與穩定度! 

2012年6月2日 星期六

Linux Mint 13 ( Cinnamon version )

往往 Ubuntu 在每年的 4月及10月份都會推出最新的 Ubuntu OS ,
並以動物為命名,作為各個版本之間除了年份代號的不同外,最容易區別的部份。

當然每種 Linux 發行版並不是每個使用者都喜歡的介面和風格,
因此除了 Ubuntu 和 Red hat 、CentOS、OpenSUSE、Debian 外,
還有其他各式各樣的 Linux 發行版可供選擇安裝。

在此我們就以最新版本的 Linux  Mint 13 作為簡單的介紹,
但因為是以 Live  USB 嘗鮮試用,所以有許多功能並不完善,
因此就不詳細介紹進去細節裡頭了。

Linux Mint  是一款以 Ubuntu 為基礎進行修改、調整的 Linux 發行版,
有許多無法安裝肥大的 Linux 系統的使用者,改用 LXDE 或 Mint 這類較為輕巧的發行版後,
明顯長高長壯了,不不.... 是明顯電腦可以正常使用,也幾乎無須擔心系統的速度和負擔。




以下是 Cinnamon 介面的 Mint  13 ,當你用 Live  USB 開啟後,畫面如下。介面與常用的 Windows 系統非常相似,都是以左下角 Menu 功能選單與系統調整、軟體路徑的起始點;而右下角是時間與日期,以及常駐工作列等 icon 。




下圖是打開 Menu 後的樣子。最左手邊那行圖形較大的是常用路徑與功能按鍵;中間那行則是各種分類功能區塊,依照文書、影像、上網等作為分類;最右側那行則是已安裝的各種軟體。若需要安裝、移除,只需要點選黃色星星的 icon 進入軟體平台,搜尋你所需要的軟體名稱即可安裝;若欲移除軟體,亦是同樣方法,只是執行後的結果將是移除該軟體。





開啟資料夾或檔案管理員後,其視窗如下圖右方所示。看完三個圖後,是否一直覺得介面不陌生呢? 的確 Mint 的介面設計與 Windows 的排版相似,甚至很雷同,因此從 Windows 跳槽至 Linux 底下的新手們真的很有福氣,因為現在的 Linux 發行版本都設計的與 Windows 相當類似,而且功能選單也很友善。




有鑑於我的電腦是要給學弟們上程式設計用的,沒有辦法完整安裝 Mint 13 到電腦上好好測試、分享,所以僅簡單說明介紹 Mint 的好與美。希望各位可以抽空在你的老電腦或虛擬機上安裝試試看,你一定會喜歡的!


之後若有任何新進度,再與各位做分享了!