分享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 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu22.04에 Linux 커널을 설치하려면 다음 단계를 수행할 수 있습니다. 시스템 업데이트: 먼저 Ubuntu 시스템이 최신인지 확인하고 다음 명령을 실행하여 시스템 패키지를 업데이트합니다. sudoaptupdatesudoaptupgrade 커널 파일 다운로드: 공식 Linux 커널 웹사이트()에서 필수 커널 버전을 다운로드하세요. 안정적인 버전을 선택하고 소스 코드 파일(.tar.gz 또는 .tar.xz 확장자 포함)을 다운로드합니다. 예: wget 파일 압축 풀기: 다운로드한 커널 소스 코드 파일의 압축을 풀려면 다음 명령을 사용하십시오: tar-xflinux-5.14 .tar.xz 설치 빌드 종속성: 커널을 빌드하는 데 필요한 도구 및 종속성을 설치합니다. 실행하다

Windows 11에서는 여러 아카이브 형식에서 파일을 추출할 수 있지만 파일 생성은 지금까지 ZIP으로 제한되었습니다. 이제 Windows 11에서는 기본적으로 7Z 및 TAR 아카이브 파일을 생성할 수 있으며, 이는 타사 도구에 의존하지 않고도 일반 ZIP 파일처럼 수행할 수 있습니다. 타사 소프트웨어 없이 Windows 11에서 7Z 및 TAR 아카이브 파일을 생성하는 방법 이전에 Windows 11은 .rar, .7z, .tgz, .tar.gz, .tar.bz2 등을 포함한 다양한 아카이브 파일 형식 추출에 대한 지원을 얻었습니다. . 그러나 생성은 ZIP 아카이브로 제한됩니다. 그러나 파일을 7Z 및 TAR 아카이브 파일 형식으로 압축하는 기능은 지원되지 않습니다.

우리 중 많은 사람들이 Python 코드에서 다음 코드 조각을 반복해서 보았습니다: with open('Hi.text', 'w') as f: f.write("Hello, there") 그러나 우리 중 일부는 그렇지 않습니다. with가 무엇에 사용되는지, 왜 여기서 사용해야 하는지 모르겠습니다. 이 글을 읽으면 해결 가능한 거의 모든 문제에 대해 알게 될 것입니다. 시작하자! 먼저, with 키워드를 사용하지 않고 무엇을 해야 하는지 생각해 봅시다. 이 경우 먼저 파일을 열고 쓰기를 시도해야 합니다. 성공이든 실패든 우리는

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

기본 명령: 다음 명령을 실행하여 전체 파일 시스템을 백업합니다: 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 구문 분석
