本篇主要讲述手动编译安装apachemysqlphp同时安装主流的博客软件(wordpress)和论坛软件(Discuzphpbbphpwind)。
首先在编译软件时安装编译环境(这一点很重要,否则会在后面的编译./configure的过程中出报错,笔者就是犯了这个简单的毛病,导致出问题在,很是苦恼最后发现编译环境没有安装,那个郁闷啊……)如果不知道都安装什么编译软件就把“Development Libraries”和“Development Tools”都安装了这个也不费事,这两个是软件包组名。编译环境准备好了我们就去下载下载我们需要的软件包apachemysqlphp,其中mysql使用的绿色软件直接下载解压后修改下配置文件的
笔者使用的是httpd-2.2.17.tar.bz2下载地址:http://archive.apache.org/dist/httpd/
Mysql使用的是:mysql-5.1.50-linux-i686-glibc23.tar.gz下载地址:http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/
Php使用的是:php-5.2.13.tar.bz2下载地址:http://www.iiidown.com/source/76036486
笔者是把三个软件包下载到家目录下的,
如果下载不了可以在网上搜下的,这些软件包很好下载的
准备工作都已经做好。下来我们开始编译安装
LAMP的搭建过程是由一定的顺序的,应该吧php放在最后的,apachemysql这两个谁先编译安装没有先后顺序的。
笔者是先开始编译apache的,然后是mysql最后是php的。
这里一定要注意的是我们要把SElinux关闭。否则配置时会报错的
关闭命令:setenforce 0
编译安装apache
先解压缩
#tar jxf httpd-httpd-2.2.17.tar.bz2
#cd  httpd-2.2.17
#./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-modules=most --enable-mod-shared=most --enable-rewrite –enable-ssl
其中--enable-so指令是动态加载模块一定要加上 --enable-ssl:表示能将http传输可以实现加密的https形式其他的指令可以使用./configure --help |less查看更多可选择使用的指令
#make
#make install
完成以上的步骤我们的apache就编译完成了。
需注意的是我们手动便已安装的软件包没有start脚本不能使用service httpd start|stop|resart等操作来控制httpd服务这里我们就可以自己做个start脚本,不过可以修改我们使用rpm安装的httpd的启动脚本。只用修改几行。笔者是修改原启动脚本控制的这个在附件里会添加。这里注意的是下载附件传到linux的/etc/init.d目录下别忘记了加上权限
#chmod 700 /etc/init.d/httpd
#chkconfig --add httpd
除了这个方法还可以使用apache自带的启动文件:/usr/local/apache/bin/apachectl start控制
因为是自己编译安装的有很多头文件,库文件,bin文件,还有帮助文件在其他程序在调用时找不到这时我们就要加到系统文件中使之可以被系统调用,在前几篇文章中提到过各种文件的路径这里就不累赘的叙述了,不明白的可以在前面查找,这里直接操作了
首先是库文件
/etc/ld.so.conf/etc/ld.so.conf.d目录下以*.conf的文件中所以就直接创建个httpd.conf文件将库文件写入:
#vim /etc/ld.so.conf.d/httpd.conf
加入:/usr/local/apache/lib 保存退出
重读库文件:#ldconfig –v
头文件:可以使用连接实现
#ln -sv /usr/local/apache/include /usr/include/apache
Bin文件可以加在/etc/profile
#vim /etc/profile
找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC这一行在前面加入一行
PATH=$PATH:/usr/local/apache/bin
需要注意的是:一定是PATH=$PATH:/path/to/bin否则会把系统原因的bin路径给覆盖了
接下来是帮助文件,可以使用man 命令获得帮助
#vim /etc/man.config
找到MANPATH /usr/man
MANPATH /usr/share/man
MANPATH /usr/local/man
MANPATH /usr/local/share/man
MANPATH /usr/X11R6/man
在后面像上面的格式加入
MANPATH /usr/local/apache/man
这样就可以使用man命令获取帮助信息了
完成以后我们测试下是否可以正常访问
IE里输入:127.0.0.1 出现It works
可能出现的问题:输入ip后不显示网页?解决方法:可能是apache主配置文件中访问权限的问题。在apache里网站主目录里的AllowOverride None下面的Order allow,deny的设置是怎么设置的
 
开始安装mysql
回到家目录下:
#tar zxf mysql-5.1.50-linux-i686-glibc23.tar.gz –C /usr/local/mysql
-C参数代表解压到什么位置
#cd /usr/local/
#ln –sv mysql-5.1.50-linux-i686-glibc23 mysql
这里建立个mysql目录然后做个链接过去这有助于我们以后的升级数据库使用,直接链接就可以不用其他复杂的操作
#cd /mysql
可以使用ls查看这其中有个INSTALL-BINARY的文件,这是个安装帮助文件可以less查看下按照步骤操作
也可以按照这样的步骤操作
1>增加个用户和组
groupadd mysql
useradd -g mysql -M mysql
2>更改文件属主和属组
chown -R mysql:mysql
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
bin/mysqld_safe --user=mysql &
#cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
#chmod 700 /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#service mysqld start
这样我们的mysql就操作完成,但是还不要忘记了将库文件,头文件,bin文件,帮助文件做到相应位置,可以参照上面的改apache的方法操作下
完成后可以编译安装php了。
编译安装php
回到家目录下:
#tar jxf php-5.2.13.tar.bz2
#cd php-5.2.13
#./configure --prefix=/usr/local/php5 --sysconfdir=/etc/php5  --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs -enable-mbstring=all --with-xml --with-png
其中--with-mysq是用于来连接数据库使用的填上数据库的安装路径
--with-apxs2phpapache做匹配的,也可以在./configure –help |less获取更多参数
#make
#make install
#cp php.ini-dist /usr/local/php/lib/php.ini
有的版本解压后没有php.ini-dist文件,可能是php.ini-development和php.ini-production这就拷贝 php.ini-production这个文件
同时也是需要将头文件,库文件,bin文件,man文件做到相应位置
到此位置我们的LAMP搭建完成了但是还是需要做些修改的
# vi /etc/httpd/httpd.conf
  要改的有如下几处:
  找到LoadModule php5_module modules/libphp5.so
  前面的#号去掉(默认已去掉注释)
  #AddType application/x-gzip .gz .tgz
  下加二行
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
  还有找到DirectoryIndex index.html
  加上 index.php 让它把index.php做为默认页
DirectoryIndex index.php index.htm index.html index.php3 default.php
有时还要加上这样一行
AddHandler php5-script .php否则有时会出现不能打开网页会弹出让你下载的该页面
测试PHP
# vi /usr/local/apache/htdocs/index.php(其中/usr/local/apache/htdocs为网页主目录)
  添加:
   <?
    phpinfo();
   ?>
在测试php时可能出现php不能访问,看自己是否按上面的操作进行了。
以上我们需要的各种环境全部都搭建好了。
下面我们说下以虚拟主机的形式构建这四种软件的使用,这个在下一篇讲解