linux apache 全面安装

来源:互联网 发布:java web是前端吗 编辑:程序博客网 时间:2024/05/17 17:56

一、安装所需软件
a.编译相关
安装前请确认机器上已安装有gcc、gcc++、ncurses-devel、flex、bison、autoconf如没有安装可使用
yum install gcc
yum install gcc-c++
yum install ncurses-devel
yum install flex
yum install bison
yum install autoconf

b.软件相关
curl-7.15.0.tar.gz
freetype-2.2.1.tar.gz
httpd-2.0.58.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.12.tar.tar
libxml2-2.6.26.tar.gz(此软件也为选装,但要使用,必须于php之前安装,不然要重编php)
mysql-5.0.22.tar.gz
php-5.1.4.tar.gz
zlib-1.2.3.tar.gz

(以下软件选装)
ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz
eaccelerator-0.9.5-rc1.tar.bz2

ffmpeg安装使用
ffmpeg-0.4.9-p20050226.tbz2
ffmpeg-php-0.5.0.tbz2
lame-3.97.tar.gz
libogg-1.1.3.tar.gz
libvorbis-1.1.2.tar.gz

subversion-1.4.0.tar.gz
subversion-deps-1.4.0.tar.gz


二、开始安装
1.安装freetype
tar -zxvf freetype-2.2.1.tar.gz
cd freetype-2.2.1
./configure --prefix=/usr/server/freetype2
make && make install
make clean

2.安装zlib(此软件很多软件都要使用到,为方便使用默认路径)
tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make && make install
make clean

3.安装curl
tar -zxvf curl-7.15.0.tar.gz
cd curl-7.15.0
./configure --prefix=/usr/server/curl --with-zlib=/usr/server/zlib
make && make install
make clean

4.安装jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=/usr/server/jpeg --enable-static --enable-shared
mkdir -p /usr/server/jpeg/{bin,include,lib,man/man1}  #此处建立目录,jpeg安装时不能自动建立目录
make && make install
make clean

5.安装libpng-1.2.12.tar.tar
tar -zxvf libpng-1.2.12.tar.tar
cd libpng-1.2.12
cd scripts
cp ./makefile.linux ../makefile
cd ..
./configure --prefix=/usr/server/libpng
make && make install
make clean

6.安装libxml2-2.6.26.tar.gz
tar -zxvf libxml2-2.6.26.tar.gz
cd libxml2-2.6.26
./configure --prefix=/usr/server/libxml2
make && make install
make clean

7.安装httpd-2.0.58.tar.gz
说明:
--enable-mods-shared=most 编译出默认所有so文件
--enable-proxy 编译出代理so,不加的话apache默认是没有这个so的,就算加了上一个选项
--with-mpm=worker 以多线程方式运行(因PHP本身对多线程支持不好,建议不使用此选项)

tar -zxvf httpd-2.0.58.tar.gz
cd httpd-2.0.58
./buildconf
./configure --with-mpm=worker --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache --enable-nonportable-atomics --enable-mods-shared=most --prefix=/usr/server/httpd --enable-proxy
make && make install
make clean

8.安装mysql-5.0.22.tar.gz
说明:
--sysconfdir=/usr/server/conf 指定my.cnf路径

tar -zxvf mysql-5.0.22.tar.gz
cd mysql-5.0.22
./configure --prefix=/usr/server/mysql --with-embedded-server --without-debug --enable-assembler --with-charset=utf8 --with-extra-charsets=all --with-unix-socket-path=/usr/server/mysql/tmp/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --sysconfdir=/usr/server/conf
make && make install
make clean
mkdir /usr/server/mysql/tmp
mkdir /usr/server/mysql/var
groupadd mysql
useradd -g mysql mysql
cd /usr/server
chmod 750 mysql -R
chgrp mysql mysql -R
chown mysql mysql/var -R
chown mysql mysql/tmp -R

9.安装php-5.1.4.tar.gz
说明:
--with-gd=shared 使用PHP内置的GD库,此GD库比使用GD软件多出10个函数,具体可查看另一篇文章

tar -zxvf php-5.1.4.tar.gz
cd php-5.1.4
./configure --prefix=/usr/server/php/ --with-apxs2=/usr/server/httpd/bin/apxs --with-config-file-path=/usr/server/conf --with-mysql=/usr/server/mysql --with-curl=/usr/server/curl --with-freetype=/usr/server/freetype --with-gd=shared --enable-mbstring=all --enable-mbstr-enc-trans --enable-mbregex --enable-track-var --with-dom --enable-sockets --with-iconv --with-ttf --with-xmlrpc --with-jpeg-dir=/usr/server/jpeg --enable-soap --with-libxml-dir=/usr/server/libxml --with-png-dir=/usr/local --with-zlib-dir=/usr/local --enable-shared --enable-module=so
make && make install
make clean


以下为选择安装的软件

10.安装ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz
tar -zxvf ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz
cd ZendOptimizer-3.0.1-linux-glibc21-i386
./install
根据提示进行设置即可

11.安装eaccelerator-0.9.5-rc1.tar.bz2
tar -jxvf eaccelerator-0.9.5-rc1.tar.bz2
cd eaccelerator-0.9.5-rc1
/usr/server/php/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/server/php/bin/php-config --prefix=/usr/server/eaccelerator
make && make install
make clean

要使用此软件需要在php.ini里增加以下内容
增加后,将以PHP扩展模块的方式运行
[eaccelerator]
extension=eaccelerator.so
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

以下安装ffmpeg,使PHP可以对视频进行操作

12.安装lame,ffmpeg支持软件,支持mp3
tar -zxvf lame-3.97.tar.gz
cd lame-3.97
./configure
make && make install
make clean

13.安装libogg,ffmpeg支持软件,支持ogg
tar -zxvf libogg-1.1.3.tar.gz
cd libogg-1.1.3
./configure
make && make install
make clean

14.安装libvorbis,ffmpeg支持软件
tar -zxvf libvorbis-1.1.2.tar.gz
cd libvorbis-1.1.2
./configure
make && make install
make clean

15.安装ffmpeg
tar -xjf ffmpeg-0.4.9-p20050226.tbz2
cd ffmpeg-0.4.9
./configure --enable-mp3lame --enable-libogg --enable-vorbis --disable-mmx --enable-shared
echo '#define HAVE_LRINTF 1 '>>config.h  #补丁
make && make install
make clean
设置连接,不然ffmpeg可能不能正常使用
ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50
ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51
ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49
ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0
ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51

16.安装ffmpeg-php
tar -xjf ffmpeg-php-0.5.0.tbz2
cd ffmpeg-php-0.5.0
./configure --with-php-config=/usr/server/php/bin/php-config
make && make install
make clean
安装后,在php的模块目录中会产生一个ffmpeg.so文件,手动加载到php.ini中即可


以下进行版本控制安装

17.安装subversion(软件解压后,只会产生一个目录,其中deps只是一些必要的插件)
tar -zxvf subversion-1.4.0.tar.gz
tar -zxvf subversion-deps-1.4.0.tar.gz
cd subversion-1.4.0
./configure --with-apxs=/usr/server/httpd/bin/apxs
make && make install
make clean
安装后,建立软件库,并进行设置后即可使用svn://进行连接
如果要使用http进行项目浏览,刚在httpd.conf里进行如下设置
其中,/var/www/svn/passwd 使用htpasswd产生的密码
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /var/www/svn/passwd
Require valid-user
</Location>


至此所有东西都安装完成,php.ini和my.cnf文件放到/usr/server/conf目录里,httpd.conf在其默认目录中,注意,如果安装了Zend,则php.ini将会移动到Zend下的etc目录中,/usr/server/conf/php.ini只是一个ln连接符