基于linux的apache+mysql+php的安装配置.doc_第1页
基于linux的apache+mysql+php的安装配置.doc_第2页
基于linux的apache+mysql+php的安装配置.doc_第3页
基于linux的apache+mysql+php的安装配置.doc_第4页
基于linux的apache+mysql+php的安装配置.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于linux的邮件服务器的配置 第17页 共18页 1 引 言现在的网站不仅仅是提供一些静态页面就可以了,它还包括怎样存储数据、怎样查询数据、怎样处理用户的请求、怎样创建包含正确信息的文档,要适应这些需要有很多选择。目前,很多人选择这样的组合:apache+php+mysql来建设自己的网站,因为它们都可以免费从网上下载,而且很容易在linux平台下应用,网站的安全性、稳定性和执行效率都非常优秀。1.1课题背景 linux以其开放源代码精神和系统的稳定效能迅速崛起,目前全世界使用linux架设的网站数呈爆炸性增长,甚至已影响到microsoft的windows nt1。计算机的网络应用不可避免地会用到数据库,由于mysql在linux平台上使用和配置简单,得到了许多开发人员的亲睐。php是一种公开源码的自由软件,利用它可以开发各种功能强大、交互性强的动态页面。并且,php具有跨平台性,在一个平台上用php脚本语言编写的程序,不用修改就可以在另一个平台上直接运行,基于一种数据库编写的php脚本语言程序,略作修改就能适用于另一种数据库。目前基于完全免费的组合linux+apache+php+mysql已逐渐成为web应用的主流。1.2目的与意义 www(即world wide web,简称web)是迄今为止internet上最成功的服务,它能够实现信息发布、资料查询、数据处理和视频点播等诸多应用。架设www服务器是internet应用中必不可少的工作,而在服务器软件方面,apache服务器具有举足轻重的地位。说到apache我们不得不提一下mysql和php,mysql是一个小型关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,被广泛地应用在internet上的中小型网站中。php 是一种html内嵌式的语言,它与微软的asp颇有几分相似,都是一种在服务器端执行的嵌入html文档的脚本语言,语言的风格有类似于c语言,现在被很多的网站编程人员广泛的运用。 linux+apache+mysql+php,一组常用来搭建动态网站或者服务器的开源软件,并且本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,可共同组成一个强大的web应用程序平台。1.3 主要内容 mysql作为一个数据库服务器,其安装与配置是独立于apache与php的,但是apache与php的安装过程中却需要mysql的支持,所以,在安装顺序中,第一个需要安装的是mysql2。 apache与php的安装与配置过程相对mysql来说要复杂一些,因为apache与php的安装与配置过程需要彼此的一些模块的支持,因此,在两者的安装过程中有彼此交错的部分。本文的主要内容是分别介绍了mysql、apache 、php的安装过程,在linux下安装软件有源码安装和软件包安装3,rpm软件包安装虽然简单但相对源码来说并不稳定,所以本次我采用源码安装,所需软件全从其官方网站获得,然后用tar命令解压之后再安装,本文分三大部分分别讲解各软件的安装过程。 2 mysql的下载、安装与配置 mysql是一个小型关系型数据库管理系统,开发者为瑞典mysql ab公司。mysql是一个多线程的,结构化查询语言(sql)数据库服务器。sql 在世界上是最流行的数据库语言。mysql 的执行性能非常高,运行速度非常快,并非常容易使用。目前mysql被广泛地应用在internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。2.1mysql的下载 安装mysql需要下面两个文件: mysql-server-5.0.9-0.i386.rpm mysql-client-5.0.9-0.i386.rpm 下载地址为:/downloads/mysql/5.0.html,打开此网页,下 拉网页找到“linux x86 rpm downloads”项,找到“server”和“client programs”项,下载需要的上述两个rpm文件。2.2 mysql的安装rpm 文件是red hat公司开发的软件安装包4,rpm可让linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是 ivh ,其中i表示将安装指定的rmp软件包,v表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。安装步骤如下: 1.安装服务器端在有两个rmp文件的目录下运行如下命令:roottest1 local# rpm -ivh mysql-server-5.0.9-0.i386.rpm显示如下信息:warning: mysql-server-5.0.9-0.i386.rpm: v3 dsa signature: nokey, key id 5072e1f5preparing. # 100%1:mysql-server # 100% . /usr/bin/mysqladmin -u root password new-password /usr/bin/mysqladmin -u root -h test1 password new-password .(省略显示) starting mysqld daemon with databases from /var/lib/mysql 如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看mysql端口是否打开,如打开表示服务已经启动,安装成功。mysql默认的端口是3306。 roottest1 local# netstat -nat active internet connections (servers and established) proto recv-q send-q local address foreign address state tcp 0 0 :3306 :* listen上面显示可以看出mysql服务已经启动。 2.安装客户端运行如下命令: roottest1 local# rpm -ivh mysql-client-5.0.9-0.i386.rpm warning: mysql-client-5.0.9-0.i386.rpm: v3 dsa signature: nokey, key id 5072e1f5 preparing. # 100% 1:mysql-client # 100%显示安装完毕。2.3 mysql的登录 首先启动mysql服务,如图2-1: 图2-1登录mysql的命令是mysql, mysql 的使用语法如下:mysql -u username -h host -ppassword dbname username 与 password 分别是 mysql 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是linux的系统用户。mysql默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。roottest1 local# mysqlwelcome to the mysql monitor. commands end with ; or g.your mysql connection id is 1 to server version: 4.0.16-standardtype help; or h for help. type c to clear the buffer.mysql出现了“mysql”提示符,恭喜你,安装成功!增加了密码后的登录格式如下:mysql -u root -penter password: (输入密码)其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。2.4 mysql的配置 mysql安装完成后不象sqlserver默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于linux的初学者,因为 linux本身的目录结构就比较复杂,如果搞不清楚mysql的安装目录那就无从谈起深入学习。下面就介绍一下这几个目录:1、数据库目录: /var/lib/mysql/2、配置文件 :/usr/share/mysql(mysql.server命令及配置文件)3、相关命令: /usr/bin(mysqladmin mysqldump等命令)4、启动脚本:/etc/rc.d/init.d/(启动脚本文件mysql的目录)一些基本配置:1、修改登录密码mysql默认没有密码,安装完毕增加密码的重要性是不言而喻的。命令:usr/bin/mysqladmin -u root password new-password格式:mysqladmin -u用户名 -p旧密码 password 新密码测试是否修改成功不用密码登录:roottest1 local# mysqlerror 1045: access denied for user: rootlocalhost (using password: no)显示错误,说明密码已经修改。用修改后的密码登录:roottest1 local# mysql -u root -penter password: (输入修改后的密码123456)welcome to the mysql monitor. commands end with ; or g.your mysql connection id is 4 to server version: 4.0.16-standardtype help; or h for help. type c to clear the buffer.mysql成功!这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。2、启动与停止启动:mysql安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。roottest1 init.d# /etc/init.d/mysql start停止:/usr/bin/mysqladmin -u root -p shutdown自动启动,完毕。更改mysql目录: mysql默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步: 1、home目录下建立data目录 cd /home mkdir data 2、把mysql服务进程停掉: mysqladmin -u root -p shutdown 3、把/var/lib/mysql整个目录移到/home/data mv /var/lib/mysql /home/data/ 这样就把mysql的数据文件移动到了/home/data/mysql下 4、找到f配置文件 如果/etc/目录下没有f配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为f)中。命令如下:roottest1 mysql# cp /usr/share/mysql/f /etc/f 5、编辑mysql的配置文件/etc/f为保证mysql能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下: vi f (用vi工具编辑f文件,找到下列数据修改之) # the mysql server mysqld port = 3306 #socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行) socket = /home/data/mysql/mysql.sock (加上此行) 6、修改mysql启动脚本/etc/rc.d/init.d/mysql 最后,需要修改mysql启动脚本/etc/rc.d/init.d/mysql,把其中 datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径: home/data/mysqlroottest1 etc# vi /etc/rc.d/init.d/mysqldatadir=/home/data/mysql (加上此行)。 3 apache的安装与配置3.1 apache 简介 apache是世界使用排名第一的web服务器软件5。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的web服务器端软件之一。 apache是世界排名第一的web服务器,。 apache 的特性: 1) 几乎可以运行在所有的计算机平台上. 2) 支持最新的http/1.1协议 3) 简单而且强有力的基于文件的配置(httpd.conf). 4) 支持通用网关接口(cgi) 5) 支持虚拟主机. 6) 支持http认证. 7) 集成perl. 3.2 apache的基本配置及说明 1获得apache: 获得apache源代码最方便的方法是到,选择最新的版本。然后, tar xvzf apache_x.x.xx.tar.gz 2 编译apache 在src目录下 ./configure 可用 ./configure-help|less 得到帮助, make, make install, install 3. apache的启动和关闭 sbin/apachectl start sbin/apachectl stop sbin/apachectl restart (重启) 4. 一些模块介绍: 下列的组模块控制进入和验证 acess 进入控制 auth 检查unix-style口令和组文件的基本的验证。 auth-anon 使用匿名的ftp-style usernames和口令。 auth-dbm 使用berkeley db文件存储usernames,口令,和组信息。如果你有很多usernames并关心性能, 这是很有用的。 digest 使用http文摘认证,这比基本认证更安全。 expire 模块让你定制expire过期时间 5. apache1.3的缺省目录布局是: ./bin 服务器二进制,apachectl原本 ./conf apache配置文件 ./include/apache apache标题文件 ./libexec 共用的对象文件 ./man man 页 ./sbin 服务器二进制,apachectl原本,log rotator ./cgi-bin 缺省cgi原本/二进制的目录 ./share/htdocs 缺省文件根 ./htdocs/manual apache手册 ./share/icon 包含各种图标gifs的目录 ./var/apache/log log文件的目录 ./var/apache/proxy proxy缓存目录 ./var/apache/run httpd.pid(包含主要的httpd过程标识符的文件)在此目录 6. 主要文件如下: httpd.conf, 在/usr/local/apache/conf或/etc/httpd/conf下 apachectl, 在/usr/local/apache/bin或/etc/httpd/bin下 access_log, 纪录用户访问信息, 在./logs里 error_log, 纪录用户访问错误信息, 也在./logs里 7. httpd.conf 基本设置 port, apache 在哪一个 tcp 端口进行侦听,http 的默认端口为 80。如果你使用其它端口,你不得不在 urls 中指定端口来连接你的服务器, user,group 由于安全上的原因,在 linux 上,可以通过把 user 和 group 都设置成 nobody serverroot 参数应该是 apache 安装的基础。除非你移动了周围的资料,否则其值与你所给定的值一样。 servername, 如果你的机器有多个名称或者 ip 地址,设置 apache 表征服务器的名称。 documentroot 是 web 树的根目录, userdir 在启用 username 处理请求时, 此指令告诉 apache 哪个目录追加到用户的主目录(home)。userdir 被设置为 public_html。用户将只有基本的网页服务功能, 是一个容器指令。格式的结束指令。 及相关的和指令的目的,是为了让你在每个目录或者每个文件的基础上,控制apache行为的方式。指令放在中,也适用于子目录。 followsymlinks选项,告诉 apache 它可以从文档根目录内部到文档根目录外部跟踪符号链接。在文档根目录内部,followsymlinks 和 indexes 都处于开启状态(on)。万一缺省的索引文件(通常为 index.html)不存在时,最后允许目录列表显示。 directory 中,用 options 指令你可以控制什么选项是被允许的。 options 指令: 1) execcgi cgi 脚本程序能够运行于该目录树。 2) followsymlinks 在该目录中,服务器将跟踪符号链接。注意:即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名。注意:如果在区域内设置,该选项会被忽略。 3) includes 服务器端包容被允许。 4) includesnoexec 服务器端引用被允许,但 #exec 命令和 cgi 脚本程序的 #include 被禁止。 5) indexes 如果要求映射到目录的 url 和在该目录里没有 directoryindex(例如,index.html),那么服务器将返回格式化的目录列表。 6) multiviews 处理多重浏览内容被允许。 7) symlinksifownermatch 通过与用户 id 一样的链接,服务器只跟踪目标文件或者目录所拥有的符号链接。 all 除 multiviews 外的一切东西。要是没有 options 指令,默认为all. accessfilename 命令来设置(缺省设置为 .htaccess)。在任何目录中,apache 配置指令可被放入一个叫做 .htaccess 的文件。指令也可应用于目录里的子目录。在访问文件中, allowoverride 控制哪个指令将被使用。如果 allowoverride 被设置为 none。apache 甚至不会检查访问文件。 allowoverride 参数: 1) authconfig, 授权指令哪一个允许使用; 2) fileinfo,用来控制文档类型和处理方法的指令; 3)indexes,使用其中的一个指令来控制目录列表、图标等的显示; 4) limit,允许使用指令来控制主机访问; 8 特殊配置 1. 支持用户个人主页: 在./conf/httpd.conf中加入 userdir /home/*/public_html 设置用户可以使用cgi等: options execcgi sethandler cgi-bin , 2. 虚拟主机设置: 1)基于ip的虚拟主机 若该机器的ip地址为,虚拟的ip为 首先, 在一台机器的网卡上绑定多个ip地址去服务多个虚拟主机。 #/sbin/ifconfig eth0:0 netmask broadcast 55 up #/sbin/route add -host eth0:0 设置./conf/httpd.conf文件: 看documentroot是什么, 如果为/home/httpd documentroot /home/httpd/aaa 创建目录 /home/httpd/aaa, 2)基于名字的虚拟主机: 编辑./conf/httpd.conf namevirtualhost documentroot /home/httpd/aaa servername 要有namevirtualhost在最前面,下面依次为各个虚拟主机, 还需要把的dns都指向ip地址 apache用户认证: 基本的apache用户认证 假定, 对目录/home/aaa下的文件需要做到用户认证,在httpd.conf 中加入下面的行 allowoverride authconfig order allow,deny allow from all 用在目录/home/aaa下放文件.htaccess,内容如下: authname lease give me your id number and password authtype basic authuserfile /etc/.passwd require valid-user 用htpasswd 生成文件/etc/.passwd, htpasswd -c /etc/.passwd username。 启动apache服务如图3-1: 图 3-1 测试(由于没有浏览器我用的是wget命令测试):如图3-2 图3-24 linux下php的安装与配置4.1 php的简介 php,是英文超级文本预处理语言hypertext preprocessor的缩写。php 是一种 html 内嵌式的语言,是一种在服务器端执行的嵌入html文档的脚本语言,语言的风格有类似于c语言,被广泛的运用6。php的特性1开放的源代码:所有的php源代码事实上都可以得到。 2、 php是免费的:和其它技术相比,php本身免费。 3、 php的快捷性:程序开发快,运行快,技术本身学习快。4、 嵌入html:因为php可以嵌入html语言,它相对于其他语言,编辑简单,实用性强,更适合初学者。 5跨平台性强: 由于php是运行在服务器端的脚本,可以运行在unix、linux、windows下。 6效率高: php消耗相当少的系统资源。 7图像处理:用php动态创建图像 8面向对象: 在php4,php5 中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。4.2 php的安装步骤1. 首先在/downloads.php.7 我下的是php-5.3.6.tar.gz2. 用tar -jvxf php-5.3.6.tar.gz 。 3.配置: ./configure -prefix=/usr/local/php -with-mysql=/usr/local/mysql -with-apxs2=/usr/local/apaceh2/bin/apxs -with-config-file-path=/usr/local/php/etcps:-prefix=/usr/local/php 指定把php-5.0.4安装到/usr/local/php目录中;-with-mysql=/usr/local/mysql 指定mysql数据服务器安装的位置;-with-apxs2=/usr/local/apache2/bin/apxs 这是加入apache中为dso模块的位置;-with-config-file-path=/usr/local/php/etc 指定php的配制文件存放的目录是/usr/local/php/etc目录,我们安装完成后,也要把php.ini复制到这个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论