目前世界最流行的企业建站方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。这四个软件都是遵循GPL的开放源码软件,它们安全、稳定、快速、功能强大,使用它们可以建立一个快速、稳定、免费的网站系统。
1、 APACHE的安装配置
Apache是世界使用排名第一的Web服务器,市场占有率达60%左右。
它的特点是简单、速度快、性能稳定。
它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)、模块化结构以及它的可移植性等方面。
如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。
a) 下载Apache
请确保你有适当的权限
b) 解压缩Apache
#tar jxvf httpd-2.2.4.tar.bz2 --C /tmp/
解压文件到/tmp/httpd-2.2.4文件夹
c) 进入/tmp/httpd-2.2.4文件夹进行编译和安装
cd /tmp/httpd-2.2.4
./configure –prefix=/opt/httpd224 --enable-so
make && make install
这句的含义是对apache源代码进行编译并安装到指定的目录,&&的意思是如果make执行成功的话才执行make install。和先执行make再执行make install等效。到此我们的Apache已经安装完成。
d) 启动Apache并查看Apache启动是否正常
#/opt/httpd224/bin/apachectl start
#echo /opt/httpd224/bin/apachectl start >> /etc/init.d/rc.local
使Apache开机自启动
可以通过ps aux | grep httpd查看httpd进程是否存在,如果不存在请查看是不是有程序占用80端口,可以通过netstat --an | grep 80查看。如果apache启动正常,打开网页浏览器,输入[url]http://ip-address[/url],应该能够看到网页显示”It works !”提示Apache工作正常。
e) 配置Apache
Apache的安装非常简单,但是它的配置就比较复杂了,它的配置文件默认是—prefix/conf/httpd.conf文件,你可以在配置时调用—sysconfdir选项来改变它的位置,在我们这里是/opt/httpd224/conf/httpd.conf文件。由于各个站点的需求不同,侧重点也就不同,配置起来各不相同,所以我们在这里就不写Apache的一些所谓的配置技巧了,大家最好的选择就是根据自己的需求,对照着Apache手册配置最符合自已服务器,知其然而且知其所以然,这里给出Apache 2.2的中文手册:
2、 Mysql的安装配置
MySQL是一个开放源码的关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
Mysql最常见的应用架构:
单点(Single):适合小规模应用
复制(Replication):适合中小规模应用
集群(Cluster):适合大规模应用
根据功能不同,Mysql可以分为Mysql stand和Mysql max两个版本,Mysql-max相对于stand版本增加了对集群功能的支持。目前Mysql的集群功能还处于实验阶段,有许多限制,不适合在生产环境中布署。
Mysql是开放源码的,所以Mysql在发布时有源代码和预编译二进制两种格式,直接下载源代码的话可以根据我们的具体需求进行手工编译安装,自定义Mysql的特性。如果没有特别的需求的话,建议下载官方的预编译二进制版,因为这些版本都是官方针对特定编译器进行优化,编译支持大多数常用的选项的版本。我们可以从
a) 下载Mysql
b) 解压文件
#tar zxvf mysql-5.0.45-linux-i686.tar.gz --C /opt/
#mv /opt/mysql-5.0* /opt/myql5
将mysql解压到/opt/mysql-5.0.45-linux-i686并重命名为/opt/mysql5,也可以通过建立连接来实现,ln --s /opt/mysql5 /opt/mysql-5.0.45-linux-i686
c) 安装配置Mysql
# cd /opt/mysql5
# groupadd mysql
添加mysql用户组
# useradd -g mysql mysql –s /sbin/nologin
添加mysql用户,并设置用户组为mysql,不允许登录
# scripts/mysql_install_db --user=mysql
初始mysql权限数据库
# chown -R root .
更改当前目录、子目录以及文件的属主为root
# chown -R mysql data
更改data目录、data子目录及data下的文件属主为mysql
# chgrp -R mysql .
更改当前目录、子目录以及文件的所属组为mysql
以上三个操作主要是给mysql用户适当的文件系统权限
# bin/mysqld_safe --user=mysql &
启动mysql
# bin/myql-admin --u root password ‘password’
更改mysql管理员用户的密码,默认为空
# cp support-files/my-medium.cnf /etc/my.cnf
mysql配置文件,需要根据自己的具体需求进行更改
# cp support-files/mysq.server /etc/init.d/mysql
添加mysql启动脚本
# chmod +x /etc/init.d/mysql
给mysql启动脚本执行权限
# chkconfig --add mysql
# chkconfig --level 2345 mysql on
以上两步设置mysql开机自动启动
现在我们就完成了mysql的安装,mysql目前还处于成长阶段,它的新版本在不断的添加新的特性,使它的功能越来越强大,相信有一天mysql能够和商业大型数据库系统一决高下。为了更好的使用mysql,如果有时间请仔细阅读mysql手册。
3、 PHP的安装配置
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
PHP是一个正在快速发展的语言,它的新版本增添了许多新的特性,如:Zend II 引擎的采用,完备对象模型、改进的语法设计。使得PHP成为一个设计完备、真正具有面向对象能力的脚本语言,它的功能更加强大。
由于目前网站大多都要进行一些图片处理的操作,如加水印、随机生成验证码等,PHP需要通过GD库来进行图像处理的操作,GD库是一个开放源代码的动态生成图象的函数库,默认支持GIF,为了使它支持我们常用的JPEG、PNG以及TureType字体,我们需要为它安装相应的支持库。
这些支持库的安装都很简单,只要用./configure && make && make install默认编译安装就可以,所以我们在这里只提供一下它们的官方网站和下载地址。
a) 安装PNG支持,我们需要安装libpng和zlib两个库
下载地址:
b) 安装JPEG支持,我们需要安装jpeg-6d库
下载:[url]ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz[/url]
c) 安装TrueType字体支持,我们需要安装FreeType库
下载:
d) Gd的编译安装
Gd在编译时要手工加上一些参数,使得GD支持JPEG、PNG、TrueType等,编译安 装命令:
#../configure --with-jpeg --with-png --with-zlib --with-freetype
#make && make install
e) PHP下载:
我们可以从[url]http://www.php.net/downloads.php[/url]下载最新PHP版本,目前最新的版本为 PHP 5.2.3。
1. 下载
#wget [url]http://cn.php.net/distributions/php-[/url]5.2.3.tar.bz2
2. 解压文件
#tar jxvf php-5.2.3.tar.bz2 -C /tmp
3. 编译安装
PHP的功能非常强大,我们需要根据自己的需求启用特定的功能,具体的配置选项可以通过
#./configure --help | more
命令来查看,在这里我们只是简单的加上对mysql、GD、JPEG等的支持,具体的配置参数请根据自己的需求定制,在编译前可能还需要安装特定的支持库。
#cd php-5.2.3
#./configure --prefix=/opt/php523 \
--with-apxs2=/opt/httpd224/bin/apxs \
--with-gd --with-jpeg-dir --with-zlib \
--with-png --with-freetype-dir --with-mysql=/opt/mysql5
#make && make install
这个编译安装过程时间会长一点,这里需要说明的是对于mysql的支持,系统必 须有mysql-client库,如果本机不需要安装Mysql数据库,可以从Mysql官方网 站只下载客户端。
#cp php.ini-dist /opt/php523/var/lib/php.ini
这主要是设置PHP的配置文件,PHP默认在prefix/var/lib查找php.ini文件。可 以通过在配置时添加—with-config-file-path选项改变它的位置。
#cd /opt/httpd224/conf
编辑 httpd.conf 文件以调用 PHP 模块,检查是否存在
LoadModule php5_module modules/libphp5.so
#echo AddType application/x-httpd-php .php .phtml >> httpd.conf
#echo AddType application/x-httpd-php-source .phps >> httpd.conf
以上两句是通知Apache将特定扩展名的文件调用PHP进行解析,可以指定任何扩 展名,只需对每一个用空格分隔。
最后重新启动Apache
#/opt/httpd224/bin/apachectl graceful
在/opt/httpd224文件夹下
#touch phpinfo.php
#echo “<?” >>phpinfo.php
#echo “phpinfo();” >> phpinfo.php
#echo “?>” >> phpinfo.php
打开浏览器,输入[url]http://ip-address/phpinfo.php[/url]会显示PHP环境的具体配置信息。