想建个cacti但又不想用rpm来安装一系列的软件,因此折腾编译安装。

本机是archlinux,ssh到另一台centos的电脑上装

从官网下载源码

httpd-2.2.19.tar.gz

php-5.3.8.tar.bz2

MySQL-client-5.5.15-1.rhel5.i386.rpm

MySQL-server-5.5.15-1.rhel5.i386.rpm

MySQL-devel-5.5.15-1.rhel5.i386.rpm

net-snmp-5.7.tar.gz

源码放在~/downloads目录下,工作目录在~/sources

先是httpd

cd sources

tar -xvf ../downloads/httpd-2.2.19.tar.gz

./configure --prefix=/opt/httpd --enable-mods-shared=all   #因为对编译选项不熟悉,因此把全部模块都编译成动态

make

sudo make install

编辑 /opt/httpd/conf/httpd.conf

有些地方要修改

文件末加上一行

AddHandler application/x-httpd-php .php  #看到有个文章写要加上,后来发现没出现问题

默认的USER和GROUP是daemon,改成httpd

然后添加账户与组httpd

sudo useradd -M -s /sbin/nologin httpd

sudo groupadd httpd    #这里系统报错httpd组已存在,没关系,可能是以前装的apache.

sudo /opt/httpd/bin/apachectl -k start 测试,能打开主机上的网页说明编译成功。

 

原本第二个编译的是php,但到最后configure几次都不通过,然后只用--prefix=/opt/php可以通过,但make && make install

后往/opt/httpd/htdoc/index.php不能显示 phpinfo(),搜索很多资料,最后按照php官网上的文档,发现要先装mysql,configure选项最少要加上--with- apxs2=/opt/httpd/bin/apxs --with-mysql 两个选项

于是先装mysql

原本打算源码编译的,但是官网上已经有对redhat的rpm包,加上最新的mysql不能用configure,要用cmake,不熟悉于是就懒一点安装二进制包

sudo rpm -ivh MySQL-client-5.5.15-1.rhel5.i386.rpm

sudo rpm -ivh MySQL-server-5.5.15-1.rhel5.i386.rpm

sudo rpm -ivh MySQL-devel-5.5.15-1.rhel5.i386.rpm

一开始安装好client和server后以为安装好了,但后面发现php的configure不通过或make test报错说缺少mysql的头文件

装上devel后OK

 

安装php

tar -xvf ../downloads/php-5.3.8.tar.gz

./configure --prefix=/opt/php --with-apxs2=/opt/httpd/bin/apxs --with-mysql

make

sudo make install