recherche
Maisondéveloppement back-endtutoriel 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(完)
最近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

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
如何在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创建tar.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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel