《课程设计(论文)基于Linux的动态网站开发平台的搭建.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于Linux的动态网站开发平台的搭建.doc(18页珍藏版)》请在三一办公上搜索。
1、基于Linux的动态网站开发平台的搭建学生姓名:xxx 指导老师:xxx摘 要 本文介绍如何对基于linux的动态网站开发平台的搭建。详细的介绍了MySQL数据库,并对其安装配置做了大体的说明。另外对Apache、PHP的配置也进行了说明,还介绍了Samba服务器的相关知识。我们将使用MySQL搭建数据库服务器,而用Apache和PHP构建动态网站,最后再用Samba服务器实现网站程序的快速开发。关键词 Linux;MySQL;Apache;PHP;SambaLinux-based platform to build dynamic web developmentStudent name: H
2、u Liang Advisor:ZHOU Shu-RenAbstract This article describes how a dynamic web-based development platform for linux structures. Detailed introduction to the MySQL database and its installation and configuration made a rough description. In addition to the Apache, PHP configuration also described, but
3、 also introduces the knowledge of Samba server. We will use the MySQL database server set up, but with Apache and PHP to build dynamic Web site, Samba server and then finally realize the rapid development of a web application.Key words Linux;MySQL;Apache;PHP;Samba目录目录21 引言31.1 课程设计的背景31.2课程设计的目的41.3
4、 相关概念简介42 MySQL数据库服务器的安装及其设置62.1获得MySQL 软件 62.2 熟悉 MySQL 的安装流程62.3 MySQL数据库服务器的安装62.3 MySQL服务器的初始设置 82.4 新建数据库及其权限设置 93 Apache和PHP的安装与配置103.1 Apache和PHP软件的获得104 测试155 结束语18参考文献191 引言1.1课程设计的背景在这个信息瞬息万变社会里,网络以其惊人的速度发展,网络服务层出不穷。在众多的传统的和新型的网络服务中,web网站是目前最受欢迎的也是应用最为广泛的一种。Web网站已经成为公司或企业形象的一种标志,已经有越来越度的公司
5、或政府部门,开始搭建自己的web网站。Web网站的建设已经成为企业信息化当中非常重要的一项工作。1.2课程设计的目的本课程设计设主要目的是在Linux操作系统下完成搭建基于Linux动态网站开发平台。Linux提供了大量免费的应用软件,所以我使用了基于Linux的完全免费的PHP技术的实现方法,搭建了一个支持数据库的完全免费的动态网站开发平台 。通过该课程设计的学习,总结Linux网络系统课程的学习内容,利用apache,mysql和php以及相关的软件在Linux系统下配置一个Web服务器,并完善Web服务器的功能。1.3 相关概念简介1. MySQLMySQL是一个小型关系型数据库管理系统
6、,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前 MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网 站总体拥有成本而选择了MySQL作为网站数据库。 它的主要自身特性如下:1.使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、So
7、laris、Windows等多种操作系统 3.为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 4.支持多线程,充分利用CPU资源 5.优化的SQL查询算法,有效地提高查询速度 6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名 7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8.提供用于管理、检查、优化数据库操作的管理工具 9.可以处理拥
8、有上千万条记录的大型数据库2. Apache Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。Apache web服务器软件拥有以下特性: 1.支持最新的HTTP/1.1通信协议 2.拥有简单而强有力的基于文件的配置过程 3.支持通用网
9、关接口 4.支持基于IP和基于域名的虚拟主机 5.支持多种方式的HTTP认证 6.集成Perl处理模块 7.集成代理服务器模块 8.支持实时监视服务器状态和定制服务器日志 9.支持服务器端包含指令(SSI) 10.支持安全Socket层(SSL) 11.提供用户会话过程的跟踪 12.支持FastCGI 13.通过第三方模块可以支持Java Servlets 3. PHPPHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文
10、档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的 CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用 户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这
11、也是PHP高效率的体 现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。4.SambaSamba是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。它使执行UNIX系统的机器能与执行Windows系统的电脑分享驱动器与打印机。Samba属于GNU Public License(简称GPL) 的软件;因此,你可以合法且免费地使用它。Samba的主要功能是提供Windows NT风格的文件和打印机共享 ;解析NetBIOS名字IP;提供SMB客户功能;备份PC上的资源;提供一个命令行工具,在其上可以有
12、限制地支持NT的某些管理功能。2 MySQL数据库服务器的安装及其设置2.1获得MySQL 软件 从MySQL官方网站 下载MySQL的源代码打包文件(后缀名为tar.gz),当前最新版本为5.0.51a。2.2熟悉 MySQL 的安装流程在UNIX 上安装MySQL涉及下列步骤:(1) 创建一个用户的UNIX 账号和服务器将操纵的组(如果正在安装服务器)。(2) 获得和打开想安装的分发包。如果使用的是源代码分发包,编译并安装它。(3) 运行mysql_install_db 脚本来初始化数据目录和权限表(仅允许第一次安装)。(4) 启动服务器。(5) 熟悉一般的管理过程。特别应该阅读服务器设置
13、和关闭以及作为无特权用户运行服务器的段落。2.3 MySQL数据库服务器的安装在进行编译和安装之前,必须确认当前的Linux操作系统当中至少安装了一种C语言编译器,如cc或gcc。如果没有安装,请安装后继续下面的步骤。假设所有软件的下载目录为root用户的宿主目录,即“/root”目录。1. 解压缩包 用以下命令进行解压缩包操作: rootlocalhost root# tar zxvf mysql-5.0.51a.tar.gz图2.1 解压缩包 解压缩完成后会生成一个“mysql-5.0.51a”的源代码目录。2. 软件配置、编译和安装 切换到源代码目录,进行软件安装前的配置、编译和安装,命
14、令为: rootlocalhost root# cd mysql-5.0.51arootlocalhost mysql-5.0.51a# groupadd mysqlrootlocalhost mysql-5.0.51a# useradd -g mysql mysql rootlocalhost mysql-5.0.51a# ./configure - -prefix=/usr/local/mysqlrootlocalhost mysql-5.0.51a# makerootlocalhost mysql-5.0.51a# make installrootlocalhost mysql-5.0.
15、51a# scripts/mysql_install_dbrootlocalhost mysql-5.0.51a# chown -R root /usr/local/mysqlrootlocalhost mysql-5.0.51a# chown -R mysql /usr/local/mysql/varrootlocalhost mysql-5.0.51a# chgrp -R mysql /usr/local/mysqlrootlocalhost mysql-5.0.51a# cp support-files/my-f /etc/f图2.2 软件配置、编译和安装用如下命令启动MySQL数据库(
16、如果操作系统默认安装的有MySQL数据库,请确认其没 有启动): rootlocalhost mysql-5.0.51a# /usr/local/mysql/bin/safe_mysqld -user=mysql &图2.3 启动MySQL数据库 将上面的启动命令追加到文件“/etc/rc.d/rc.local”的尾部,使操作系统启动时就自动启动MySQL数据库服务器。2.4 MySQL服务器的初始设置 新安装的MySQL服务器没有作相关的权限设置,必须手工设置。在命令行中使用如下命令: rootlocalhost root# /usr/local/mysql/bin/mysql图2.4 进入
17、mysql操作界面进入MySQL客户端工具的操作界面,接着执行如下的操作: mysqldrop database test; mysqluse mysql; mysqldelete from user where user=; mysqldelete from user where host=%; mysqldelete from db;图 2.5 设置MySQL权限 现在MySQL数据库将只允许本机的MySQL管理员root用户(和操作系统的root用户不同)连接,用如下命令为root用户指定密码:rootlocalhost root# cd / usr/local/mysql/bin/ro
18、otlocalhost bin# ./mysqladmin -u rootlocalhost password 123456图 2.6 设置root用户密码上面命令中“123456”为root用户密码,请根据实际情况变动。2.5 新建数据库及其权限设置 用如下命令新建数据库“mydb”,并进行权限设置: rootlocalhost bin# ./mysql -u root -p mysqlcreate database mydb; mysqlgrant all privileges on mydb.* to mydblocalhost identified by mydb; mysqlexit
19、rootlocalhost bin# ./mysqladmin -u rootlocalhost -p flush-privileges;图2.7 新建数据库mydb并设置权限 上述命令创建了“mydb”数据库,并且把它的所有权限赋予“mydb”用户,密码为“mydb”,只能从本机登录数据库。 3 Apache和PHP的安装与配置3.1 Apache和PHP软件的获得从Apache官方网站 http:/www.apache.org下载Apache的源代码打包文件(后缀名为tar.gz),当前最新版本为1.3.28和2.2.8,本文主要介绍1.3.28版本。 从PHP官方网站 下载PHP的源代码
20、打包文件(后缀名为tar.gz),当前最新版本为5.2.5。3.2 Apache和PHP的安装 Apache和PHP的继承安装时,有两种模式: 1. 解压缩包 用以下命令进行解压缩包操作: rootlocalhost root# tar zxvfapache_1.3.28.tar.gzrootlocalhost root# tar zxvf php-5.2.5.tar.gz图3.1 解压缩包解压缩完成后会生成“apache_1.3.28”和“php-5.2.5”两个源代码目录。 3.软件配置、编译和安装 切换到源代码目录,进行软件的配置、编译和安装,命令为: rootlocalhost roo
21、t# cd apache_1.3.28rootlocalhost apache_1.3.28#./configure - -prefix=/usr/local/apache -enable-module=sorootlocalhost apache_1.3.28# makerootlocalhost apache_1.3.28# make installrootlocalhost apache_1.3.28# cd ./ php-5.2.5rootlocalhost php-5.2.5#./configure -enable-track-vars -with-mysql=/usr/local/
22、mysql -with-apxs=/usr/local/apache/bin/apxsrootlocalhost php-5.2.5# makerootlocalhost php-5.2.5# make installrootlocalhost php-5.2.5# cp php.ini-dist /usr/local/lib/php.ini图3.2apache和php配置、编译、安装3. Apache和PHP的基本配置和测试 编辑Apache的配置文件“/usr/local/apache/conf/httpd.conf”,添加下面一行内容: AddType application/x-htt
23、pd-php.php并且将“DirectoryIndex index.html”一行修改为: DirectoryIndex index.html index.htm index.php编辑PHP配置文件“/usr/local/lib/php.ini”,将“register_globals = Off”一行内容改为: register_globals=On用如下命令启动Apache(并且加入到文件“/etc/rc.d/rc.local”中): rootlocalhost root# /usr/local/apache/bin/apachectl start在目录“/usr/local/apach
24、e/htdocs/”下创建test.php文件,内容如下: 在浏览器中输入地址“http:/your_ip/test.php”(your_ip为服务器的IP地址),即可看到PHP的基本配置信息,并且有MySQL数据库的相关支持信息。若未看到,则配置有问题,需要检查以上步骤。 3.3搭建快速开发平台为了充分利用Windows平台下丰富的应用软件,我们将在Linux中使用Samba服务器和Windows主机通信。网页和相关的PHP程序文件在Windows下开发后直接存储在Linux服务器上,无需使用FTP等其它工具上传。 首先,确认当前的Linux操作系统安装了Samba软件包,若没有安装请安装后
25、继续下面的步骤。 编辑Samba的配置文件“/etc/samba/smb.conf”,在尾部添加如下内容: homepage path = /usr/local/apache/htdocs valid users = php public = no writable = yes printable = no create mask = 0765图3.3修改配置文件使用如下命令添加系统用户和Samba用户: rootlocalhost root#adduser phprootlocalhost root#smbadduser php:php (需要输入Samba密码,在Windows中登录Sam
26、ba服务器时使用)3.4 添加系统和Samba用户用如下命令启动Samba服务器: rootlocalhost root# /etc/rc.d/init.d/smb start使用如下命令使Samba服务器每次开机自动启动: rootlocalhost root# chkconfig -level 3 smb on 在Windows客户端(建议使用Windows NT/2000)使用服务器的IP地址“搜索计算机”。找到后,双击计算机图标,在弹出对话框的用户栏输入“php”,密码框中输入使用 “smbadduser”命令设置的Samba密码。接着,会看到Samba服务器共享出来的目录“homep
27、age”,在图标上点鼠标右键,选择“映射 网络驱动器”,即可映射为本地的一个逻辑盘符。接下来的所有网页和程序都可以通过磁盘符直接存储在Linux服务器上。 4 测试4.1基本设定 1. 激活 apache 服务:基本上,只要激活 apache 之后,应该就可以在客户端的浏览器程序上看到主机预设的网页。 同时, apachectl 还有其它的参数如下:apachectl stop:停止 WWW 的服务; apachectl restart:重新激活 WWW 的服务,这个指令比较常用在修改了 apache 的参数后,重新激活用的。 apachectl status:侦测 WWW 的状态。2. 更改
28、中文首页:由于 WWW 的原始设定中,指定首页名称为 index.html 或者是 index.htm ,然而这一版的首页支持比较多的语言,因此必须将首页文件名称修改一下: 3. 设定自动执行:另外,为了让 WWW 及 MySQL 服务可以一开机就执行,所以可以将下面两行激活的 scripts 写在 /etc/rc.d/rc.local 的最后面。4.2开始设定 httpd.conf 档案 设定 httpd.conf 档案,以 vi 来编辑。 1. 基础环境设定:以下这些在 httpd.conf 中的选项分别代表的意义为:2. 路径设定:以下的参数在设定每一个网页或者是服务的路径所在!(旧版在
29、 access.conf 中) 基本上均使用默认值也就可以了。3. 开启 PHP 与其它模块:由于需要可以支持 php 模块的 apache ,所以需要将这个模块开启。4. 开启 Apache 状态列:可以透过 IE 等浏览器来观看主机的 apache 执行情况,若需要这个服务,就要将下面的批注取消掉。5. 重新激活:只要下达 /usr/local/apache/bin/apachectl restart 即可执行 httpd 。到这里就设定完毕了,执行 IE 连上的网络。 4.3测试 MySQL 及 PHP 套件 要测试这两个套件前请先确定 MySQL 及 Apache 已经被激活了。 ph
30、p 测试: 编辑一个档案,文件名称可以为 test.php ,然后将这个档案放置在 /usr/local/apache/htdocs 当中。然后连上主机,输入 http:/vbird.adsldns.org/test.php 这样就可以看到php 状态。也就是 php 就可以执行了。MySQL 测试: 同样的, MySQL 也是编辑一个档案,执行看看可不可以即可: 然后同样的执行 http:/vbird.adsldns.org/mysqltest.html 即可知道mysql 是否可以执行。 4.4写入一个网页 网站支持给用户放置网页,在 httpd.conf 的设定中,有一项关于首页的设定,
31、通常如果不设定 httpd.conf 档案的话,它的默认值都是 public_html5 。假设以 vbird 这个帐号为例,可以这样进行: 然后在目录中,亦即 /home/vbird/public_html 当中,建立一个档名为 index.html 的 HTML 档案,例如刚刚测试的 php 的档案,然后在 IE 的网址列打入 http:/网站名称/vbird/ 则 apache 会自动将 IE 的讯息传到 /home/vbird/public_html 这个目录中,并搜寻文件名为 index.html 或 index.htm 或 index.php 的档名!所以说, index.html
32、 是 apache 第一个找寻的档名。 图4.1 网页测试运行图图4.1为在Linux下网页运行图。从测试效果来看,PHP已经可以正常运行,说明成功的在Linux下配置和完善了动态网站开发平台。5 结束语在此次的网络系统课程设计过程中,更进一步地熟悉了Linux的结构及掌握了MySQL、PHP、Samba和Apache的基本原理和其具体的使用方法.。在设计过程中也遇见了很多问题,感谢罗永红老师和同学们的热情帮助和指导,使我能够解决遇见的难题。 此次的课程设计设计重在于熟悉Linux,在Linux下能搭建出一个动态网站开发平台,虽然简单,但力求能学到各项基本知识,掌握好Linux、MySQL、PHP和Apache等相关知识。总的来说,通过这次的设计实验更进一步地增强了实验的动手能力。参考文献1 David Tansley著. 徐炎译.Linux与UNIXShell编程指南. 北京:机械工业出版社,2000.62 刘兵著Linux实用教程M.北京:中国水利水电出版社,2004.73 朱居正、高冰著. Red Hat Linux 9实用培训教程. 北京:清华大学出版社,2004.74 张炯著.Unix网络编程实用技术与实例分析北京:清华大学出版社,2002.115 顾云苏著Linux 服务器配置与优化北京:清华大学出版社,20019