编译平台redhat 5.8 linux
首先安装编译需要的环境
安装一下包组
Development Libraries
Development Tools
X Software Development
源码版本
httpd-2.4.3.tar.bz2
php-5.4.4.tar.bz2
mysql-5.5.28-linux2.6-i686.tar.gz
所有源码包都放在/usr/local目录中
安装顺序
PHP 最后安装 其他两个没有固定要求
php需要其他两项的支持 所以最后安装
1. mysql安装
本文mysql5.5.28是压缩版 直接解压即可
mysql-5.5.28-linux2.6-i686.tar.gz
下载压缩包到/usr/local目录
tar xf mysql-5.5.28-linux2.6-i686.tar.gz 解压
将mysql-5.5.28-linux2.6-i686文件夹软连接为mysql 方便设置
ln -sv mysql-5.5.28-linux2.6-i686 mysql
先创建mysql系统用户和系统组
groupadd -r mysql 创建系统组mysql
useradd -r -g mysql mysql 创建系统用户mysql并制定到mysql组
修改mysql-5.5.28-linux2.6-i686 所有文件 属主.属组 为mysql用户
cd mysql-5.5.28-linux2.6-i686
chown mysql:mysql *
进入/usr/local/mysql/scripts目录
./mysql_install_db --user=mysql --datadir=/mydata/data/ --basedir=/usr/local/mysql
配置生成文件信息
--user=mysql 设置用户为mysql
--datadir=/mydata/data/ 设置mysql数据库安装目录
--basedir=/usr/local/mysql 设置安装时的绝对路径
拷贝配置文件到/etc 目录中
cp support-files/my-large.cnf /etc/my.cnf
修改两处
1 修改配置文件/etc/my.cnf
并修改/etc/my.cnf文件中thread_concurrency的值为你的CPU个数乘以2,比如这里
使用如下行:
thread_concurrency = 2
2 在配置文件中添加数据库存放位置 位置随意
datadir = /mydata/data
为mysql服务添加启动脚本放置/etc/rc.d/init.d/目录中命名为mysqld
cd /usr/local/mysql
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
将启动脚本拷贝到 /etc/rc.d/init.d/目录中命名为mysqld
chmod +x /etc/rc.d/init.d/mysqld
修改为可执行权限
将mysql服务加入启动服务
chkconfig --add mysqld
chkconfig mysqld on
此时还不能使用mysql命令
因为系统路径中没有指定mysql的命令位置 所以:
将路径添加到cd /etc/profile.d/目录下
在此目录下新建mysql.sh的文件 内容如下
export PATH=$PATH:/usr/local/mysql/bin
保存即可
mysql此时也没有指定自己的include文件
所以只需指定位置即可 这里使用软连接指定
ln -sv /usr/local/mysql/include/ /usr/include/mysql
在系统文件中新建软连接指向/usr/local/mysql/include/
还需要指定库文件
在/etc/ld.so.conf.d中创建mysql.conf文件
文件中指定lib库文件路径
/usr/local/mysql/lib
ldconfig -v 查看库文件
MAN手册配置
修改/etc/man.conf
只需加入一行即可
MANPATH /usr/local/mysql/man
此时启动服务
service mysqld start
Starting MySQL.. SUCCESS!
OK mysql完成 !!!
=============================================================
下面编译 httpd-2.4.3.tar.bz2
编译apache之前需要安装几个软件包
apr
apr-level
pcre-level
apache需要这些软件的支持
安装这些包
1. apr
tar xf apr-1.4.6.tar.bz2 解压
cd apr-1.4.6 进入目录
./configure --prefix=/usr/local/apr 编译安装路径
make && make install 安装
tar xf apr-util-1.4.1.tar.bz2
cd apr-util-1.4.1
./configure --prefix=/usr/local/apr-util
make && make install
以上两个包作用是 支持可移植跨平台环境
其他包都是rpm包 命令安装即可
下面安装http
命令都是一样的
解压-->进入目录-->编译-->安装
只是http繁琐一些
编译安装完成之后在主配置文件/etc/httpd/httpd.conf中 修改一下
添加一行命令
PidFile "/var/run/httpd.pid"
目的是为了在启动脚本中httpd.pid的路径一样 避免启动失败
MAN手册配置
修改/etc/man.conf
只需加入一行即可
MANPATH /usr/local/apache/man
service httpd start
Starting httpd: [ OK ]
启动一下 没问题
==============================================================
继续下面是编译php
再安装两个软件包
让编译的php支持mcrypt扩展,安装以下两个包
libmcrypt-2.5.7-5.el5.i386.rpm
libmcrypt-devel-2.5.7-5.el5.i386.rpm
rpm 安装命令即可安装
下面就是编译php了
有很多选项的
MAN手册配置
修改/etc/man.conf
只需加入一行即可
MANPATH /usr/local/php/php/man
提供php的配置文件
在解压后的目录中拷贝php.ini-production到/etc目录中
cp php.ini-production /etc/php.ini
简单配置一下/etc/httpd/httpd.conf文件
添加下面一行
AddType application/x-httpd-php .php 令apache支持php
找到此行 DirectoryIndex index.html
修改为: DirectoryIndex index.php index.html 支持php首页
下面创建一个基于域名的测试页面
vim /etc/httpd/httpd.conf
DocumentRoot "/usr/local/apache/htdocs" 找到此行 注释掉 位置213行
Include /etc/httpd/extra/httpd-vhosts.conf 启用此行 开启支持虚拟主机域名
位置463行
然后编译此文件 vim /etc/httpd/extra/httpd-vhosts.conf
在底部添加
启动httpd服务 一切正常 !!
本文还架设一个论坛
结合mysql+php+apache
将所有文件拷贝到/www/web/目录中
访问www.kaka.cn
访问域名当然要设置DNS 简单设置即可
在dns主配置文件中添加
在/var/named/目录中添加正向解析文件
OK 暂时结束