修復WordPress更新出現的Inconsistent Permission錯誤

最近部落格的WordPress更新頻頻提示出現錯誤,log就簡單地說一句inconsistent permission error,就這樣在網路上搜尋了一會兒才發現,同樣的錯誤提示很可能是有不同的underlying issue,比如可能文件與目錄的權限有被人為修改過(文件必須是644,而目錄必須是755,可以用find指令批量更改),又或者可能是owner和group不一致(chown -R批量更改)。而發生在我的VPS的卻是第三種情況,SELinux導致某些文件無法寫入……

甄別此情況很簡單,在WordPress目錄下執行ls -Z(注意是大寫Z)查看一下WordPress目錄和其內文件,比如被我強制用unzip解壓最新的WordPress替換過的目錄就顯示:

drwxr-xr-x. nginx nginx unconfined_u:object_r:user_home_t:s0 wordpress

我們關心的是第四列SELinux的標籤設定,這樣的權限是不夠的,在終端執行下面這條語句把WordPress目錄和其內容遞歸性地更新好便解決了問題!

chcon -R -t httpd_sys_rw_content_t wordpress

知其然還需知其所以然,繼續Google了一下,在Red Hat的文檔庫找到配置Apache HTTP Server的權限管理文章,裡面有提到httpd_sys_rw_content_t標籤(以及其他標籤),任何有此標籤的文件都可以被有httpd_sys_script_exec_t標籤的腳本修改,但不能被其他腳本修改。

NodeConf EU 2018與會有感

上週有幸到鄰國愛爾蘭的Kilkenny郡參加本年度的NodeConf EU大會。會場選在風景宜人的蹩腳窩郊外,離都柏林機場有一個半小時的車程,不遠,就是estate都不在鎮上,所以每天倒也只能全身心灌注在大會和組織者安排的夜間活動上,倒也是個結交新朋好友的機會。

Continue reading NodeConf EU 2018與會有感

VPS遷移日誌

上個週末得閒把VPS從之前的RamNode遷移到了Amazon Lightsail,主要遷移的內容就是WordPress,涉及到MySQL的導出和導入、Nginx的配置、PHP的配置(從5.6升級到了7.3)、CentOS的簡單設置(從6升級到了7)、Let’s Encrypt SSL證書的配置。下面簡單記載一下遷移的梗概以便有需要的訪客和自己今後查閱。

Continue reading VPS遷移日誌

運用Termux將Android平板電腦變身程式設計利器

去年就把手上的Chromebook在eBay賣掉,加了點錢在Amazon買了一台華碩的7英吋平板電腦。上禮拜買了羅技的藍牙鍵盤,這下和平板電腦配合在一起就真的能當台小電腦💻用了。所以有琢磨著怎樣可以在不方便攜帶筆電的情況下用來旅途中練習一些算法題。

熟悉程式設計的(我也希望都是在UNIX環境下的)或多或少可能有過想在平板電腦上偶爾練練手的想法,Android畢竟是基於Linux設計的,加上系統多年的更新換代發展,灌上一個Linux的工作環境應該不會太難,而且將會是一個非常大的效率提升。不過如果真的灌一個完整的Linux環境,一來是佔用很大的磁盤空間,二來電力損耗估計也是會讓人頭疼。好在我在Google馬上找到了Termux,安裝步驟簡單到不行,直接在Google Play點選安裝即可。

Continue reading 運用Termux將Android平板電腦變身程式設計利器

技德Remix OS 3.0上手体验(U盘启动)

技德科技的Remix OS发布了3.0版,基于Android 6.0棉花糖。对于不知道Remix OS的访客,这是一款操作和界面仿Windows 10的“桌面”操作系统,不仅仅是Android换了一层皮,在很多细节方面已经把Android改造成了PC操作系统。在继续话痨之前,先上图杀猫:

Continue reading 技德Remix OS 3.0上手体验(U盘启动)

适用于KDE Plasma 5的雅虎天气小部件

去年简单粗暴地把自己写的Yahoo! Weather从KDE 4移植到了Plasma 5,但是一直没有好好改进一下。前段时间雅虎停止旧API支持,被迫更新,就顺便改改了。应该访客里有不少KDE的用户吧,想要一个简单的天气小部件的可以试试看。

主要卖点

  • 纯QML,不用编译直接装
  • 雅虎天气接口,大品牌值得信赖
  • 自认还算简洁明了的UI
  • 支持不同的计量单位(温度、气压、风速等)
  • 10天天气预报

Continue reading 适用于KDE Plasma 5的雅虎天气小部件

旅英手记(一)

英格兰(England),联合王国的主要成员。实际上英国指代整个联合王国,然而大多数人在多数情况下都习惯把英格兰和英国等价替换。从显式(explicit)的角度出发,本文标题中的“英”为英格兰的缩写。

来伦敦有几个月了,把自己所见所闻所感记录下来,作为一份自己人生经历的备忘录。同时也期望文章条理结构清晰,对将来计划访英的华人有所裨益。本文作为计划中的旅英手记系列日志的开门篇,将涵盖两个基本话题:语言、食物。

Continue reading 旅英手记(一)