分享ubuntu 64 server 干净环境安装php5.3.10+mysql5.5.20+apache2.2.22(完)解决思路
分享ubuntu 64 server 干净环境安装php5.3.10+mysql5.5.20+apache2.2.22(完)
最近php 出了几个大的安全隐患,在熟悉了yum 和 apt-get install 这些懒人安装模式后,逐渐的忘记了以前配置和编译环境的事情,昨天因为changjay同学说能不能提供一些安装过程,看了看我们板块这方面的文章也少,花了一下午和一晚上时间终于把裸机(只有系统的ubuntu 64 server 11.10) 装上了最新的php apache mysql 其中用到的各种扩展模块 全部都是最新的版本。
因为是裸机 需要安装各种缺失的组件,实际上如果对自己的系统比较熟悉(以前安装模块位置很清楚),仅仅是升级php的话,顺利一次过 这个时间不会超过半个小时(实际上时间最多是10分钟)。剩下的时间都花在下载,找压缩包,以及配置错误重新配置编译上了。其中有一个文件存在bug 在gcc-4.6.1 语法错误的严格检查下报错,根据出错的提示,修改该c文件后顺利编译。
注:本文#符号代表在root 权限下操作提示符,#号后跟指令
直接说升级安装吧,因为安装升级新版本只需要重新编译一下新版本就可以了,升级之前需要将已经安装的模块列出来,以及安装的位置给记录清楚,可以通过echo phpinfo();来查看旧版本安装了什么扩展.
下载最新版本php
http://www.php.net/downloads.php
我下载的文件是
php-5.3.10.tar.gz
#tar -zxf php-5.3.10.tar.gz
#cd php-5.3.10
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/opt/mysql/server-5.5/ --with-curl=/usr/local/curl --enable-ftp --with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg8/ --with-zlib-dir=/usr/lib --with-png-dir=/usr/lib --with-freetype-dir=/usr/local/freetype
这里如果照抄应该是不行的,因为除非你安装的路径和所有模块都一致,所以你参照我的配置 可以自己修改一下,一个是路径位置,另外一个是一些不需要的扩展。
这里稍微的解释一下配置参数的意思.
--prefix= 这里设置的是安装的位置
--with- 后面跟的是模块 模块后跟的=是模块已经编译安装好的路径
#make;make install
顺利的话编译完成安装好就可以了,因为配置文件都已经存在,也不需要进行修改,除非是从很旧的版本升级上来有参数需要变动的。
====================
下面是裸机安装整个环境的过程,可能有的忘记了,我慢慢回忆,将过程补充完整。
1.安装apache
比较简单,不需要太多的配置
下载最新稳定版本
#wget http://mirror.bjtu.edu.cn/apache//httpd/httpd-2.2.22.tar.bz2
#tar -zxf httpd-2.2.22.tar.bz2
#cd httpd-2.2.22
# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite
# make;make install
如果没有安装wget 需要先安装wget工具.
#apt-get install wget
实际上我很少使用 wget,当然顺带的推荐一下 aria2
#apt-get install aria2
使用方法
#aria2c -t x http://xxxxx
x 为多少个线程,自动支持断点继传,万一有事出门,关了电脑,下次继续使用这个指令他会自动从上次中断位置开始.
如果像我一样是裸机安装的话可能会有缺少某些环境的错误提示,发现什么就给装上什么,提示 gcc 不存在 那么 apt-get install gcc
这些编译环境我就直接用apt-get 了.这个还要自己编译的话那就太耗时间了。
安装好后,暂时不需要去启动apache.因为我们还有很多工作要做。
2.安装php以及各种需要使用的库
如果是升级php的话就一般不需要折腾这个步骤了。一般的库都轻松解决,不过也有碰上比较麻烦的,例如GD库。
a.安装GD库 -让php支持gif,png,jpeg格式
GD库需要以下模块的支持
jpeg8,libpng,freetype
首先是 jepg8 (网上大多数使用的是jepg6版本,此为最新模块)
#aria2ch -t 3 ttp://www.ijg.org/files/jpegsrc.v8d.tar.gz
#tar -zxf jpegsrc.v8d.tar.gz
#cd jpeg-8d
#./configure --prefix=/usr/local/jpeg8/ --enable-shared --enable-static
#make;make install
其次是 libpng
http://sourceforge.net/projects/libpng/files/libpng16/1.6.0beta10/libpng-1.6.0beta10.tar.gz/download
使用浏览器打开地址下载(网上大多是旧的1.2x版本,这里是最新的模块)
#tar -zxf libpng-1.6.0beta10.tar.gz
#cd libpng-1.6.0beta10
#cp ./scripts/makefile.std makefile
注意这里不需要配置,直接复制文件就可以了
#make; make install
最后是freetype
# wget http://cdnetworks-kr-1.dl.sourceforge.net/project/freetype/freetype2/2.4.8/freetype-2.4.8.tar.bz2
这是最新的版本
#bzip2 -d freetype-2.4.8.tar.bz2
#tar -xvf freetype-2.4.8.tar
#cd freetype-2.4.8
#./configure --prefix=/usr/local/freetype
#make; make install
现在需要的三个模块都已经编译好了,
正式开始安装GD库
#wget https://bitbucket.org/pierrejoye/gd-libgd/get/GD_2_0_34RC1.tar.gz
这是最新的版本
#tar -zxf GD_2_0_34RC1.tar.gz
#cd pierrejoye-gd-libgd-5551f61978e3/src/
#./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg8/ --with-png --with-zlib --with-freetype=/usr/local/freetype/
#make; make install
b.安装curl库
这是最新版本的curl
#wget http://curl.haxx.se/download/curl-7.24.0.tar.gz
#tar -zxf curl-7.24.0.tar.gz
#cd curl-7.24.0
#./configure --prefix=/usr/local/curl
#make; make install
3.安装php
安装php前我们还得解决libxml2 和 libxslt
a.libxml2
这也是最新的版本
#wget http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.30.tar.gz

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在Ubuntu22.04上安裝Linux核心可以按照以下步驟進行操作:更新系統:首先,確保你的Ubuntu系統是最新的,執行以下命令更新系統軟體包:sudoaptupdatesudoaptupgrade下載核心檔案:訪問Linux核心官方網站()下載所需的核心版本。選擇一個穩定版本並下載原始碼檔案(以.tar.gz或.tar.xz為副檔名),例如:wget解壓縮檔:使用下列指令解壓縮下載的核心原始碼檔案:tar-xflinux-5.14.tar. xz安裝建置依賴:安裝建置核心所需的工具和相依性。執

儘管Windows11允許您從多種存檔格式中提取文件,但創建它們僅限於ZIP,也就是說,直到現在。 Windows11現在還允許您本地建立7Z和TAR存檔文件,這可以像普通ZIP文件一樣完成,而無需依賴第三方工具。如何在沒有第三方軟體的情況下在Windows11上創建7Z和TAR存檔文件早些時候,Windows11獲得了對提取各種存檔文件格式的支持,包括.rar、.7z、.tgz、.tar.gz、 .tar.bz2等等。但是,創建它們僅限於ZIP存檔。但是,對將檔案壓縮為7Z和TAR存檔檔案格式的本

我們中的許多人在Python 程式碼中一遍又一遍地看到這個程式碼片段:with open('Hi.text', 'w') as f: f.write("Hello, there") 但是,我們中的有些人不知道with 有什麼用,以及為什麼我們需要在這裡使用它。在此閱讀中,您將找到關於 with 可解決的幾乎所有問題。讓我們開始吧!首先,讓我們考慮一下如果不使用 with 關鍵字我們需要做什麼。在這種情況下,我們需要先開啟檔案並嘗試執行 write。不管成功與否,我們最好在

CentOS7系統提供了多種指令用於檔案壓縮和解壓縮操作,以下是一些常用指令及其用法。 tar:tar指令用於打包檔案或目錄,並可選擇性地壓縮為tar壓縮包。建立tar壓縮包:tar-cvfarchive.tarfile1file2directory解壓縮tar壓縮包:tar-xvfarchive.tar創建tar.gz壓縮包:tar-czvfarchive.tar.gzfile1file2directory解壓tar.gz壓縮包:tar-xzvfarchive.tar.gz創建tartar. .bz2壓縮包:t

基本指令執行下列指令備份整個檔案系統:sudo/usr/bin/tar-czpvf/home/zhaomu/backup/linux_backup.tar.gz/其中各參數說明如下:-c:表示歸檔。 -z:使用gzip格式備份。 gzip的備份速度較快,但相比其他方式產生的備份檔案也較大。 -p:備份的同時保留檔案的權限,在復原時不會產生權限問題。 -v:顯示備份過程的詳細資訊。 -f:指定備份的目錄和檔案名稱。 /:表示備份整個檔案系統。增強指令1、排除不需要備份的檔案以上備份指令並非最優方案,原因是整個

Linux備份工具建議與比較在日常工作中,資料備份是至關重要的一項操作,無論是個人使用者或企業級使用者都需要對重要資料進行備份,以防止意外資料遺失。而在Linux系統下,有許多備份工具可供選擇,每種工具都有其特點和適用場景。本文將介紹幾款常用的Linux備份工具,並對它們進行比較和推薦。 rsyncrsync是一個功能強大的檔案同步工具,可以在本地或透過SSH協

相信很多C程式設計師都有這樣的疑問,如果一台伺服器有不同的gcc版本怎麼辦,它們之間會互相影響嗎?答案是會的,我們一般使用gcc編譯原始檔時,這個gcc是系統環境變數PATH中最開始找到的gcc。如果要交叉編譯不同系統的程式呢?這就需要多套的編譯工具鏈了,分別使用對應的工具鏈編譯目標系統的程式。預設路徑編譯器路徑:通常放置在/usr/bin目錄下。頭檔路徑:系統層級的頭檔通常放在/usr/include中,標準庫的頭檔一般在/usr/local/include。庫路徑:系統動態函式庫往往位於/u

Linux作業系統提供了多種環境變量,用於配置和管理系統行為。本文將介紹Linux中最常見的10個環境變量,並給出範例程式碼以及對應的解析。 1.PATHPATH環境變數決定係統尋找可執行檔的目錄。當終端機輸入指令時,系統會檢索在PATH變數中指定的目錄中的可執行檔。範例程式碼:echo$PATH輸出:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games: /snap/bin解析
