本篇主要讲述手动编译安装 apache mysql php 同时安装主流的博客软件( wordpress )和论坛软件( Discuz phpbb phpwind )。
首先在编译软件时安装编译环境(这一点很重要,否则会在后面的编译 ./configure 的过程中出报错,笔者就是犯了这个简单的毛病,导致出问题在,很是苦恼最后发现编译环境没有安装,那个郁闷啊 …… )如果不知道都安装什么编译软件就把“ Development Libraries ”和“ Development Tools ”都安装了这个也不费事,这两个是软件包组名。编译环境准备好了我们就去下载下载我们需要的软件包 apache mysql php ,其中 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 放在最后的, apache mysql 这两个谁先编译安装没有先后顺序的。
笔者是先开始编译 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-apxs2 php apache 做匹配的,也可以在 ./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 不能访问,看自己是否按上面的操作进行了。
以上我们需要的各种环境全部都搭建好了。
下面我们说下以虚拟主机的形式构建这四种软件的使用,这个在下一篇讲解