本篇主要讲述手动编译安装
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
或者
http://code.google.com/p/unmp/downloads/detail?name=php-5.2.13.tar.gz&can=2&q=
笔者是把三个软件包下载到家目录下的,
如果下载不了可以在网上搜下的,这些软件包很好下载的
准备工作都已经做好。下来我们开始编译安装
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 �Cenable-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 �Cv
头文件
:可以使用连接实现
#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 �CC /usr/local/mysql
-C
参数代表解压到什么位置
#cd /usr/local/
#ln �Csv 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 �Chelp |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
不能访问,看自己是否按上面的操作进行了。
以上我们需要的各种环境全部都搭建好了。
下面我们说下以虚拟主机的形式构建这四种软件的使用,这个在下一篇讲解