自從Ubuntu 7.10 升級至 Ubuntu 8.04升 級到12.04使用已經長達了6年之久,當然中間歷經了10.10的年代,以及經歷過兩次升級的經驗,但我要說這次的Ubuntu從12.04升級到 14.04絕對不會是無痛升級,昨晚(2014/08/20)的IT災難真的可說是再長重生智慧了,解決的方式就是砍掉重練。
代 號Trusty Tahr(可靠的塔爾羊)版本14.04早在2014-04-17就發佈出來了,但是對於從12.04升級到此版本還沒有解決方案,報導說到七月才會有, 而我的伺服器則是到最近才一直收到訊息要我升級,只要輸入do-release-upgrade就行了。
一開始原本想要遠端登入來升級,但是系統會警告使用ssh的服務升級可能會產生問題,經過驗證是不會有什麼大影響,但是有些軟體套件更新會有提示畫面,如果使用ssh來升級,畫面會很難看,所以奉勸各位最好在本機上做升級最妥。
跑 到伺服器前面做升級就又發生了問題,這個問題很久以來就有了,就是使用中文UTF-8的我在本機的畫面上會有亂碼,一些升級的資訊完全看不出來,很早以前 我就一直用瞎猜的方式矇混過關,後來升級到12.04時就吃鱉了,還搞一個新的光碟來重裝,哼,沒想到這次還是有這個問題,看來是要尋求治根的方式了,等 我找到了解決方法,再來分享。
想 一想還是冒險使用ssh好了,至少中文的畫面不會有問題,但是當輸入do-release-upgrade生級的時候還失敗了。有想到是 sources.list的問題,就重新編輯了/etc/apt下的這個檔案,一開使用台灣的miror,但是還是有檔案找不到,上網找了一下,誘人建議 使用官網的伺服器,這次改了之後就可以正常升級了。
這樣詢問提示的畫面出現幾次之後,我想快要剉賽了,很多是網路、Apache、PHP跟MySQL的部份,我跟老婆說凶多吉少了。
這 個ah00534: apache2: configuration error: no mpm loaded.的錯誤訊息困擾了我將近三個小時才獲得解決。起因就是Ubuntu 14.04 TLS伴隨著Apache 2.4.7的安裝,原來的12.04是伴隨著Apache 2.2版的,這兩個版本的設定檔有非常大的差異,像是:
1. 權限設定方式變更
原本使用 Order Deny / Allow 的方式,改用 Require
官方範例:
2.2 configuration:
Order deny,allow Deny from all
在 2.4 需要改成
2.4 configuration:
Require all denied
恐怖喔!沒事幹嘛要這樣改,勞民傷財啊。
2. 設定 Log 紀錄方式變更
RewriteLogLevel 指令 改為 logLevel
這個指令我還沒注意有沒影響我的舊設定。
3. Namevirtualhost 被移除
這一點也是困擾到我了,我的這台Ubuntu主機有三台虛擬主機,我該怎樣重建才能讓工作達人轉型成功,頭痛!
5. 在 windows 環境建議的設定
不會有影響,因為我是用Linux。
6. Listen 的設定調整
不知影響為何?看來會死的很慘。
還有舊的Apache的設定檔中有一些Prefork、Worker的設定,還沒搞得很清楚時就又來了個Event的MPM模組,看了Apache Prefork、Worker和Event三种MPM分析,還是不能解決我的ah00534: apache2: configuration error: no mpm loaded.這個問題。一直到弄到晚上十一點多,想想先去洗個澡好了,當我放下腦袋之後,重回電腦前找到了Ubuntu一個論壇有這樣分享:
1.停止apache服務
service apache2 stop
2.apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
下purge,是要移除嗎?難道是要砍掉?
3.apt-get autoremove
不用懷疑,重練吧。
4.apt-get install apache2
重新安裝,很多舊檔因為換新了,反而可以使用了,再回過頭重新設定虛擬主機的設定檔,工作達人跟ㄚ琪琪的家都回來了,呼,終於重生了。
另外我舊的設定檔因為使用Apache 2.2,所以使用 mod_pagespeed.so這個模組,現在升級到Apache 2.4了也要改了,我稍後有空再重設。在解決問題的時候,也碰到了新的PHP-FPM這個東西還不懂,看來跟MPM模組有關,也得想辦法弄懂搞最佳化才行,整個工作達人的Wordpress最佳化都要重做了,ㄚ琪還是很高興今天的升級帶來了經驗的累積,或許下次的升級要更小心才是。
1 則留言