分类: LINUX
2010-08-12 21:21:00
1 引言
现在的网站不仅仅是提供一些静态网页就可以了,它还包括怎样存储数据、怎样查询数据、怎样处理用户的请求、怎样创建包含正确信息的文档,要适应这些需要有很多选择。目前,很多人选择这样的组合:Apache+Php+MySQL来建设自己的网站,因为它们都可以免费从网上下载,而且很容易在Linux平台下应用,网站安全性、稳定性和执行效率都非常优秀。
2 安装与配置
Linux是一种开放的、多用户、多任务操作系统,它是UNIX操作系统的一种变体,Linux是其中的一个版本,它常用于大公司或
机构中。同其他操作系统相比,Linux在处理数据的能力、安全性、稳定性等方面具有很大的优势。下面我们将就Apache+Php+MySQL在Linux下的安装和配置作详细介绍,Apache+Php+MySQL在Linux下的安装和配置后,Linux服务器可以支持动态网页的WEB服务。
1) 安装前的准备工作
首先,确认有一台机器安装好Linux系统。其次,确认在这台机器上装好了编译系统,包括Make,Gcc,Tar等软件的安装。最后,确认Apache、MySQL、Php的软件包的下载分别是:apache1.3.14.tar.gz mysql-3.23.53.tar.gz php-4.0.6.tar.gz Apahce,MySQL,Php都是gnu的免费软件,其网站分别为:Http://;Http://www. mysql. com/;Http://ww.php.net/.
2) MYSQL 的安装
首先,利用tar解压mysql数据包,在tar后面加上“zxvf”,“z”的意思是:压缩包后面有gz的加压文件的解压。“x”的意思是:解压时列举显示出来。“v”的意思是:显示版本。“f”的意思是:解压到这个文件夹下。
[root@localhost root]#tar -xvf mysql-3.23.53.tar.gz
解压之后进入该文件夹:
[root@localhost root]#cd mysql
建立mysql用户和mysql组:
[root@localhost root]#groupadd mysql
[root@localhost root]#useradd mysql
在这里建立一个mysql用户和组的目的是:要给mysql数据库一个启动的用户和组,这样可以不用以管理员(root)的身份去启动mysql,大大的提高了服务器的安全。
然后给mysql用户设置一个密码:
[root@localhost root]#passwd mysql
然后编译mysql,目的是为mysql设置一些参数选项:
[root@localhost root]#./configure prefix=/usr/local/ mysql ――without-debug ――with-extracharsets=gb2312 ――enable-assember ――without-isam ――without-innodb ――enable-thread-safe-dient ――with-client-ldflags=-all-static ――with-mysqld-ldflags=-all-static
①——prefix选项意思是:把文件安装在后面参数的目录里面。
②——without-debug 选项意思是:关闭调试选项。
③——with-extracharsets=gb2312 选项意思是:安装扩展字符为gb2312。
④——enable-assember 选项意思是:使用一些字符函数的汇编版本。
⑤——with-mysqld-ldflags 选项意思是:以纯静态方式编译服务端和客户端。
开始执行make:
[root@localhost root]#make
[root@localhost root]#make install
完成后进入scripts目录执行:
[root@localhost root]#cd scripts/mysql_install_db
[root@localhost root]#cp support-files/my-medium.cnf /etc/my.cnf
[root@localhost root]#cp support-files/mysql.server /etc/init.d/mysqld
完成配置文件和启动文件的复制后,执行修改文件权限的命令:
[root@localhost root]#chmod 700 /etc/init.d/mysqld
[root@localhost root]#cd /usr/local
[root@localhost root]#chown –R root mysql
[root@localhost root]#chown –R mysqll mysql/var
[root@localhost root]#chgrp –R mysql mysql
权限修改完毕后,复制启动文件,修改启动选项:
[root@localhost root]#cp mysqld mysqld.old
[root@localhost root]#strip mysqld
[root@localhost root]#chkconfig ――add mysqld
[root@localhost root]#chkconfig ――level 345 mysqld on
[root@localhost root]#service mysqld start
至此,mysqld安装完毕。在这个步骤里面,我们要注意安装完后的权限修改。
3) APACHE的安装
首先,还是要利用tar解压下载的apache1.3.14.tar.gz
[root@localhost root]#tar -zxvf apache1.3.14.tar.gz
解压后进入该文件夹:
[root@localhost root]#cd apache1.3.14
[root@localhost root]#./configure ――prefix=/usr/local/apache ――enable-module=so ――enable-module=so 选项是打开动态库模块,这个选项必须开的。
然后,执行安装:
[root@localhost root]#make
[root@localhost root]#make install
至此apache安装完毕,在这里我需要说明一点的是:apache在linux下的默认最大进程数为256,如果要修改就要在编译apache前编辑 apache/src/include/http.h将其中#define HARD_SERVER_LIMIT 256改为2048后在编译apache。
4) PHP的安装
首先,要利用tar解压下载的php-4.0.6.tar.gz,执行:
[root@localhost root]#tar ――zxvf php-4.0.6.tar.gz
解压后,进入该目录:
[root@localhost root]#cd php-4.0.6
[root@localhost root]#./configure ――prefix=/usr/local/php ――with-apxs2=/usr/ local/ apache/bin/apxs ――with-config-file-path=/usr/local/lib ――enable-track-vars ――with-xml ――with-mysql=/usr/local/mysql
①——with-apxs2 选项是找到apxs这个执行文件的位置,是在/usr/local/apache/bin/这个目录下面。
②——with-config-file-path 选项意思是:php的配置文件路径。
③——enable-track-vars 选项意思是:允许自动提取cookie和跟踪用户提交的变量。
④——with-xml 选项意思是:让php支持xml。
⑤——with-mysql 选项意思是:提供mysql的文件夹。
在执行以上程序后,有时会出现错误:configure:error:libxml2 version 2.5.10 or greater required. 如何解决呢?这时就需要安装比libxml2.5.10更高的版本,libxml2-2.6.11.tar.bz2 文件。下载libxml2-2.6.11.tar.bz2后执行:
[root@localhost root]#bzip2-cd libxml2-2.6.11.tar. bz2|tar -xvf -
[root@localhost root]#cd libxml2-2.6.11
[root@localhost root]#./configure ――prefix=/usr
[root@localhost root]#make
[root@localhost root]#make install
libxml2-2.6.11.tar.bz2文件安装完毕,返回上级目录,执行:
[root@localhost root]#make
[root@localhost root]#make install
[root@localhost root]#cp php.ini-dist /usr/local/lib/ php. ini
至此,MYSQL APACHE PHP 安装完毕。装好了并不代表可以用了,还需要一些配置。下面我们来配置。
5) APACHE 的配置
修改Apache的配置文件httpd.conf
①在http.conf里找到:
#LoadModule php5_module modules/ libphp5.so
#AddType application/x-httpd-php.php.phtml. php3 .inc.
去掉前面的#。
②在http.conf修改:
DocumentRoot:定义Web服务器根目录,该参数是这个服务器对外发布的超文本文档存放的路径,客户程序请求的URL就被映射为这个目录下的网页文件。例如:DocumentRoot"/ www/web"
③定义Web服务器根目录的访问“权限”。 例如:
Options FollowSymLinksMultiViews
AllowOverrideNone
Orderallow,deny
Allowfromall
④设置index文件的缺省格式:
DirectoryIndex index.html index.htm index.php
3 检查与测试
首先,执行:
[root@localhost bin]# /usr/servers/apache/bin/apachectl
configtest
返回如图1所示的提示。