本人從2010年開始使用Drupal,比此前使用的MediaWiki更符合通用的建站要求,Drupal對多語言、多站點的支持也是我選擇它的重要因素。從最開始的6.x到7.x再到8.x,我一直都在使用,在這過程中需要修改模闆、自建模塊,也學會了PHP以及其它一些技術。在本博客中我也記錄了很多日常使用Drupal中遇到的問題、解決的辦法,希望對其他使用Drupal的朋友有所幫助。

這是 Drupal 分類的頁面,點擊下面标題查看詳細文章内容:
本人從2010年開始使用Drupal,比此前使用的MediaWiki更符合通用的建站要求,Drupal對多語言、多站點的支持也是我選擇它的重要因素。從最開始的6.x到7.x再到8.x,我一直都在使用,在這過程中需要修改模闆、自建模塊,也學會了PHP以及其它一些技術。在本博客中我也記錄了很多日常使用Drupal中遇到的問題、解決的辦法,希望對其他使用Drupal的朋友有所幫助。

去年在上海和武漢參加北京亞艾元公司組織的Drupal培訓中得知他們專門開發了微信與Drupal的接口叫做weidrupal,11月份在武漢大學圖書館培訓的時候開發者範苑專門講解演示了用法,我們當時就申請了公衆服務号來熟悉微信的一些服務功能。
12月份我們先下載了一個免費的基本版來測試,但難以滿足定制化的一些要求,就交幾千元錢購買了高級版本。不過因為過春節前後我們搬遷服務器、調試Apache Solr等其它工作繁忙和打攪也沒有太顧得上,直到現在武漢多庫科技公司招人後客服力量加強才重視這個接口的問題。

我們以前做的系列Drupal網站一般都是共享代碼目錄、分開創建獨立的數據庫,因為一般都是禁止匿名用戶注冊的,所以隻是最初設立幾個管理員就可以,也還方便。不過為了考慮以後開放用戶注冊,系列網站的共享用戶數據庫就有必
我們在某些Drupal網站上安裝了驗證碼Captcha模塊後,發現依然有一些垃圾信息漏網發出,而我的這個博客安裝驗證碼模塊後這半年幾乎都沒遇到過垃圾信息了,對比發現我的博客網站中對驗證碼選用了圖像方式,而且對圖像進行了一些字符扭曲、添加噪點、添加斜線等變形,不容易被機器人自動識别,而新安裝的Drupal網站中驗證碼模塊基本上沒有修改過,使用的圖像也是白底無變形,容易被識别出來,需要進行修改加強保護。
而多個系列網站的子網站數量太大,人工設置容易出錯,以後也很不方便修改,還是得想辦法程序批量修改,我還是用老辦法,先在一個例子網站的數據庫中找到兩個相關的表:var
所謂蜜罐技術是指的引誘垃圾發帖的機器人進入我們設置的陷阱,正常的人類發帖者是不會受到影響的,而機器人不能分辨、進行了上當的操作,從而被我們識别、屏蔽。
Drupal中有一大類反垃圾模塊都是用的這種技術,其中有honeypot, botcha, hidden captcha, spamicide等,我看hoeypot的安裝量最大、drupal 6/7/8都支持,就選用了這個。
安裝很簡單,設置也隻有一個頁面,如果需要批量安裝也可以用命令drush dl honeypot, drush en honeypot來執行,站内模塊設置的話,我去在
網站隻要是打開了用戶反饋信息、留言評論的功能就避免不了被垃圾騷擾,無論是以前用過的MediaWiki還是現在主要用的Drupal都是這樣,其它各自現成的網站軟件或者自己編寫的軟件都會遇到這種讨厭的問題。
最常見的就是安裝驗證碼模塊,不過從我們實用中發現還是有不少垃圾發送者可以破解驗證碼而繼續發送垃圾,後來我又嘗試了Mollom這個“智能”反垃圾模塊,使用了綜合的辦法來防範,确實很有效,不過去年開始随着中國大陸與國外網絡之間的連接越來越受GFW的影響,總是看到無法連接web service的報錯,被迫去掉了這個模塊(這個模塊還有一個缺點就
很早前開始使用MediaWiki的時候就聽說了MemCache,但一直沒有用過,直到前幾個月下力氣做Drupal優化,才安裝嘗試了Memcache,果然是效果明顯,對數據庫的壓力下降了很多,命中率在80%左右,這樣即使安裝在單台服務器上,也會讓該服務器的負載下降不少。當時記錄了一篇博客《Drupal單服務器設置Memcache緩存》。
而Memcache的典型應用其實是部署在專門的緩存服務器上,我曾經看過Wikipedia的服務器拓撲圖,緩存服務器的數量還不少。我們近期在準備撤掉部分以前的獨立服務器轉用雲平台,所以在試用阿裡雲的時候留意了有專門的開放緩存服務O
剛開始用Drupal搭建網站的時候就開啟了留言Comment功能,驗證碼Captcha是必須啟用的,否則垃圾信息會迅猛增加,而當子網站數量、系列網站增多(例如有幾十、幾百個)以後,因為查看哪些網站有留言就太麻煩了,隻好基本上都關閉了留言功能,隻保留了少數幾個交互性比較強、内容必須由用戶來提供的網站開啟留言等功能。
考慮到網站的未來發展,還是需要盡量讓用戶參與網站的互動,所以近期準備把留言功能再打開,其中有兩點是必須的:開啟驗證碼和郵件提醒,而且因為涉及到的站點多,初次設置及未來修改還需要能夠批量進行才好。
這裡把最近的一些嘗試記錄下來,
很久前用MediaWiki的使用就聽說過Memcache來加速網站,後來用Drupal看一些優化措施中也說到Memcache,但一直沒有時間精力去嘗試。
前些天把PHP代碼緩存的APC模塊安裝後,看統計數據,PHP程序代碼的命中率幾乎達到100%,服務器負下降還是比較明顯的。就幹脆一鼓作氣,我和同事配合把Memcache也安裝測試。
APC的安裝至需要與服務器的PHP環境、模塊設置有關,與Drupal程序沒有特别的關系,但Memcache除了服務器環境安裝以外,還需要對Drupal系統加裝模塊來利用Memcache,下面就記錄一下服務器
10月份在公司進行Drupal内部講座的準備過程中,需要在網上搜索一些資料,正好看到北京亞艾元軟件有限責任公司近期有兩場培訓:
看了一下,還很對我們的胃口,前面一個數據采集我們以前還涉及不多,但可能以後需要用到,後面一個對Drupal的全面介紹以及微信方面的擴展開發也很不錯。我們以前基本上都沒有特别參加外面的培訓,都是自己摸索學習的,有比較系統、深入的培訓肯定好了,所以
10月份有同事從勁捷公司離職,其他同事需要接手工作,需要熟悉Drupal的一些用法,我就在公司内部搞了幾次Drupal相關的講座,預計的内容分下面幾個部分:

第一講:基礎
Drupal概況(用途、曆史、結構)<
2002-2023 v11.7 a-j-e-0