雖然說自己也折騰Linux了不少時(shí)間,各種軟件的安裝方式也多少知道,自己最常用的兩種安裝方式是,下載源碼,編譯、安裝和通過apt-get安裝,前一中往往是比較新的程序,后一種的穩(wěn)定性相對較高,不同需求時(shí)用不同的方式。以上方式,在遇到權(quán)限不夠時(shí)解決辦法直接是用sudo提升為root權(quán)限,搞定一切,因?yàn)槭亲约旱碾娔X,差不多就自己一個(gè)用戶,所以那樣做的時(shí)候幾乎是未加思索的,覺得理所當(dāng)然不會(huì)出什么問題,確實(shí)也是,自己的系統(tǒng)自然不會(huì)有任何問題。這里的一個(gè)隱藏問題就是,玩linux的人大多都是因?yàn)楣ぷ餍枰热皇枪ぷ鳎敲醇w的linux環(huán)境下,自己必然是沒有root權(quán)限,有的只是對自己的文件有所有操作權(quán)限+好的時(shí)候?qū)e人的東西有讀的權(quán)限,所以在碰到權(quán)限問題時(shí)就盲目提升權(quán)限是件危險(xiǎn)的事。現(xiàn)在終于理解到當(dāng)時(shí)在學(xué)校上UNIX課程時(shí),老師說你們自己的系統(tǒng)最好不要用root去操作,當(dāng)時(shí)還在想我本來沒有用root去操作系統(tǒng),但自己理解錯(cuò)了,因?yàn)樵谟袡?quán)限問題時(shí)我是還是用root直接解決。
最近來公司以后,第一件事就是在公司的開發(fā)機(jī)上部署LAMP環(huán)境,而自己毫無其他權(quán)限,整個(gè)mysql、apache、php的源碼編譯、安裝過程真是讓人頭疼,所以避免以后再次糾結(jié),這里做個(gè)記錄,也希望有同樣需求的同學(xué)可以相互學(xué)習(xí)交流。下面進(jìn)入正題,在沒有root權(quán)限的情況下部署LAMP環(huán)境。
二、源碼列表部署LMAP環(huán)境的第一步就是獲取源碼,這個(gè)自己可以其官網(wǎng)下載,這里我給出我這次用到的源碼的版本列表,
注意,這里在安裝mysq、apache、php時(shí)會(huì)提示缺少某些模塊,所以安裝時(shí)將這些一同裝上,軟件之間的依賴關(guān)系很關(guān)鍵,下面的安裝順序也很重要,這個(gè)順序是經(jīng)測試后比較好的一種安裝順序。
三、安裝MySQL在安裝mysql時(shí)需要用的cmake工具,所以需要現(xiàn)在安裝cmake。
進(jìn)入到cmake的解壓目錄,然后輸入命令:$ ./configure –prefix=/home/cy/lamp/cmake/ (--prefix是你需要的安裝路徑),這步是生成makefile文件,如圖
然后輸入$ make,當(dāng)make成功后執(zhí)行make install,如圖
在mysql目錄下沒有configure文件,所以我們需要用cmake來生成makefile文件,因?yàn)樯蒻akefile的文件時(shí)需要的參數(shù)有點(diǎn)多,所以這里自己寫一個(gè)shell腳本來封裝configure的過程,如圖
Mysql_install.sh的腳本中是我們生成makefile文件是需要的參數(shù),內(nèi)容為
接著是執(zhí)行腳本生成makefile文件,如圖,
執(zhí)行腳本后會(huì)生成makefile文件,然后輸入$make,當(dāng)make成功時(shí)如圖,
現(xiàn)在輸入$make install。此時(shí)mysql已經(jīng)安裝完成。但是,mysql安裝完成后還有后續(xù)工作需要處理,現(xiàn)在進(jìn)入到mysql的安裝目錄下的script目錄,輸入
$./mysql_install_db --user=cy --basedir=/home/cy/lamp/mysql --datadir=/home/cy/lamp/mysql/data 這里的user是你當(dāng)前的登陸用戶,basedir是mysql的安裝路徑,datadir是mysql的數(shù)據(jù)存放路徑。執(zhí)行這個(gè)以后進(jìn)入到mysql安裝目錄的support-files目錄,輸入如圖,
表示已經(jīng)成功的啟動(dòng)了mysql。現(xiàn)在可以進(jìn)入到Mysql的bin目錄測試一下,如圖
下一步就是將mysql加入環(huán)境變量,因?yàn)閙ysql經(jīng)常用到,每次都到安裝目錄去太麻煩,所以在環(huán)境變量中加入mysql,下.bashrc中或.bash_profile中,如圖,
修改環(huán)境變量后需要重啟終端,接著是給Mysql的root用戶設(shè)定密碼,他的默認(rèn)初始密碼為空,所以可以用下面方式設(shè)定密碼,
上圖中表示給mysql設(shè)定的密碼為cy。現(xiàn)在可以用root用戶重新進(jìn)入mysql了。如圖,