首頁 後端開發 php教程 分享ubuntu 64 server 干净环境安装php5.3.10+mysql5.5.20+apache2.2.22(完)解决思路

分享ubuntu 64 server 干净环境安装php5.3.10+mysql5.5.20+apache2.2.22(完)解决思路

Jun 13, 2016 pm 01:41 PM
tar usr with

分享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

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

如何在Ubuntu 22.04上安裝Linux 核心 詳細教學! 如何在Ubuntu 22.04上安裝Linux 核心 詳細教學! Mar 01, 2024 pm 10:34 PM

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

如何在 Windows 11 上建立 7Z 和 TAR 存檔文件 如何在 Windows 11 上建立 7Z 和 TAR 存檔文件 Nov 17, 2023 pm 07:09 PM

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

揭秘 Python 中的 with 關鍵字 揭秘 Python 中的 with 關鍵字 Apr 14, 2023 am 11:31 AM

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

Centos7系統—檔案壓縮與解壓縮指令詳解。 Centos7系統—檔案壓縮與解壓縮指令詳解。 Feb 19, 2024 pm 02:30 PM

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

怎麼使用tar指令備份Linux雲端伺服器 怎麼使用tar指令備份Linux雲端伺服器 May 20, 2023 pm 05:19 PM

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

Linux備份工具建議與比較 Linux備份工具建議與比較 Mar 20, 2024 am 09:39 AM

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

如何在ubuntu伺服器交叉編譯不同系統的可執行程式? 如何在ubuntu伺服器交叉編譯不同系統的可執行程式? Mar 06, 2024 pm 01:34 PM

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

Linux中最常用的十個環境變量 Linux中最常用的十個環境變量 Feb 19, 2024 pm 04:00 PM

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解析

See all articles