课程设计论文基于Linux的动态网站开发平台的搭建.docx
《课程设计论文基于Linux的动态网站开发平台的搭建.docx》由会员分享,可在线阅读,更多相关《课程设计论文基于Linux的动态网站开发平台的搭建.docx(49页珍藏版)》请在冰豆网上搜索。
课程设计论文基于Linux的动态网站开发平台的搭建
基于Linux的动态网站开发平台的搭建
学生姓名:
xxx指导老师:
xxx
摘要本文介绍如何对基于linux的动态网站开发平台的搭建。
详细的介绍了MySQL数据库,并对其安装配置做了大体的说明。
另外对Apache、PHP的配置也进行了说明,还介绍了Samba服务器的相关知识。
我们将使用MySQL搭建数据库服务器,而用Apache和PHP构建动态网站,最后再用Samba服务器实现网站程序的快速开发。
关键词Linux;MySQL;Apache;PHP;Samba
Linux-basedplatformtobuilddynamicwebdevelopment
Studentname:
HuLiangAdvisor:
ZHOUShu-Ren
AbstractThisarticledescribeshowadynamicweb-baseddevelopmentplatformforlinuxstructures.DetailedintroductiontotheMySQLdatabaseanditsinstallationandconfigurationmadearoughdescription.InadditiontotheApache,PHPconfigurationalsodescribed,butalsointroducestheknowledgeofSambaserver.WewillusetheMySQLdatabaseserversetup,butwithApacheandPHPtobuilddynamicWebsite,Sambaserverandthenfinallyrealizetherapiddevelopmentofawebapplication.
KeywordsLinux;MySQL;Apache;PHP;Samba
目录2
1引言3
1.1课程设计的背景3
1.2课程设计的目的4
1.3相关概念简介4
2MySQL数据库服务器的安装及其设置6
2.1获得MySQL软件6
2.2熟悉MySQL的安装流程6
2.3MySQL数据库服务器的安装6
2.3MySQL服务器的初始设置8
2.4新建数据库及其权限设置9
3Apache和PHP的安装与配置10
3.1Apache和PHP软件的获得10
4测试15
5结束语18
参考文献19
1引言
1.1课程设计的背景
在这个信息瞬息万变社会里,网络以其惊人的速度发展,网络服务层出不穷。
在众多的传统的和新型的网络服务中,web网站是目前最受欢迎的也是应用最为广泛的一种。
Web网站已经成为公司或企业形象的一种标志,已经有越来越度的公司或政府部门,开始搭建自己的web网站。
Web网站的建设已经成为企业信息化当中非常重要的一项工作。
1.2课程设计的目的
本课程设计设主要目的是在Linux操作系统下完成搭建基于Linux动态网站开发平台。
Linux提供了大量免费的应用软件,所以我使用了基于Linux的完全免费的PHP技术的实现方法,搭建了一个支持数据库的完全免费的动态网站开发平台。
通过该课程设计的学习,总结Linux网络系统课程的学习内容,利用apache,mysql和php以及相关的软件在Linux系统下配置一个Web服务器,并完善Web服务器的功能。
1.3相关概念简介
1.MySQL
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
它的主要自身特性如下:
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统
3.为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.支持多线程,充分利用CPU资源
5.优化的SQL查询算法,有效地提高查询速度
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
8.提供用于管理、检查、优化数据库操作的管理工具
9.可以处理拥有上千万条记录的大型数据库
2.Apache
Apache是世界使用排名第一的Web服务器。
它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。
Apache取自“apatchyserver”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
Apacheweb服务器软件拥有以下特性:
1.支持最新的HTTP/1.1通信协议
2.拥有简单而强有力的基于文件的配置过程
3.支持通用网关接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成代理服务器模块
8.支持实时监视服务器状态和定制服务器日志
9.支持服务器端包含指令(SSI)
10.支持安全Socket层(SSL)
11.提供用户会话过程的跟踪
12.支持FastCGI
13.通过第三方模块可以支持JavaServlets
3.PHP
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:
HypertextPreprocessor)的缩写。
PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。
PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
它可以比CGI或者Perl更快速的执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。
PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
4.Samba
Samba是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。
它使执行UNIX系统的机器能与执行Windows系统的电脑分享驱动器与打印机。
Samba属于GNUPublicLicense(简称GPL)的软件;因此,你可以合法且免费地使用它。
Samba的主要功能是提供WindowsNT风格的文件和打印机共享;解析NetBIOS名字IP;提供SMB客户功能;备份PC上的资源;提供一个命令行工具,在其上可以有限制地支持NT的某些管理功能。
2MySQL数据库服务器的安装及其设置
2.1获得MySQL软件
从MySQL官方网站下载MySQL的源代码打包文件(后缀名为tar.gz),当前最新版本为5.0.51a。
2.2熟悉MySQL的安装流程
在UNIX上安装MySQL涉及下列步骤:
(1)创建一个用户的UNIX账号和服务器将操纵的组(如果正在安装服务器)。
(2)获得和打开想安装的分发包。
如果使用的是源代码分发包,编译并安装它。
(3)运行mysql_install_db脚本来初始化数据目录和权限表(仅允许第一次安装)。
(4)启动服务器。
(5)熟悉一般的管理过程。
特别应该阅读服务器设置和关闭以及作为无特权用户运行服务器的段落。
2.3MySQL数据库服务器的安装
在进行编译和安装之前,必须确认当前的Linux操作系统当中至少安装了一种C语言编译器,如cc或gcc。
如果没有安装,请安装后继续下面的步骤。
假设所有软件的下载目录为root用户的宿主目录,即“/root”目录。
1.解压缩包
用以下命令进行解压缩包操作:
[root@localhostroot]#tarzxvfmysql-5.0.51a.tar.gz
图2.1解压缩包
解压缩完成后会生成一个“mysql-5.0.51a”的源代码目录。
2.软件配置、编译和安装
切换到源代码目录,进行软件安装前的配置、编译和安装,命令为:
[root@localhostroot]#cdmysql-5.0.51a
[root@localhostmysql-5.0.51a]#groupaddmysql
[root@localhostmysql-5.0.51a]#useradd-gmysqlmysql
[root@localhostmysql-5.0.51a]#./configure--prefix=/usr/local/mysql
[root@localhostmysql-5.0.51a]#make
[root@localhostmysql-5.0.51a]#makeinstall
[root@localhostmysql-5.0.51a]#scripts/mysql_install_db
[root@localhostmysql-5.0.51a]#chown-Rroot/usr/local/mysql
[root@localhostmysql-5.0.51a]#chown-Rmysql/usr/local/mysql/var
[root@localhostmysql-5.0.51a]#chgrp-Rmysql/usr/local/mysql
[root@localhostmysql-5.0.51a]#cpsupport-files/my-f/etc/f
图2.2软件配置、编译和安装
用如下命令启动MySQL数据库(如果操作系统默认安装的有MySQL数据库,请确认其没有启动):
[root@localhostmysql-5.0.51a]#/usr/local/mysql/bin/safe_mysqld
--user=mysql&
图2.3启动MySQL数据库
将上面的启动命令追加到文件“/etc/rc.d/rc.local”的尾部,使操作系统启动时就自动启动MySQL数据库服务器。
2.4MySQL服务器的初始设置
新安装的MySQL服务器没有作相关的权限设置,必须手工设置。
在命令行中使用如下命令:
[root@localhostroot]#/usr/local/mysql/bin/mysql
图2.4进入mysql操作界面
进入MySQL客户端工具的操作界面,接着执行如下的操作:
mysql>dropdatabasetest;
mysql>usemysql;
mysql>deletefromuserwhereuser='';
mysql>deletefromuserwherehost='%';
mysql>deletefromdb;
图2.5设置MySQL权限
现在MySQL数据库将只允许本机的MySQL管理员root用户(和操作系统的root用户不同)连接,用如下命令为root用户指定密码:
[root@localhostroot]#cd/usr/local/mysql/bin/
[root@localhostbin]#./mysqladmin-uroot@localhostpassword'123456'
图2.6设置root用户密码
上面命令中“123456”为root用户密码,请根据实际情况变动。
2.5新建数据库及其权限设置
用如下命令新建数据库“mydb”,并进行权限设置:
[root@localhostbin]#./mysql-uroot-p
mysql>createdatabasemydb;
mysql>grantallprivilegesonmydb.*tomydb@localhostidentifiedby'mydb';
mysql>exit
[root@localhostbin]#./mysqladmin-uroot@localhost-pflush-privileges;
图2.7新建数据库mydb并设置权限
上述命令创建了“mydb”数据库,并且把它的所有权限赋予“mydb”用户,密码为“mydb”,只能从本机登录数据库。
3Apache和PHP的安装与配置
3.1Apache和PHP软件的获得
从Apache官方网站http:
//www.apache.org下载Apache的源代码打包文件(后缀名为tar.gz),当前最新版本为1.3.28和2.2.8,本文主要介绍1.3.28版本。
从PHP官方网站下载PHP的源代码打包文件(后缀名为tar.gz),当前最新版本为5.2.5。
3.2Apache和PHP的安装
Apache和PHP的继承安装时,有两种模式:
1.解压缩包
用以下命令进行解压缩包操作:
[root@localhostroot]#tarzxvf
apache_1.3.28.tar.gz
[root@localhostroot]#tarzxvfphp-5.2.5.tar.gz
图3.1解压缩包
解压缩完成后会生成“apache_1.3.28”和“php-5.2.5”两个源代码目录。
3.软件配置、编译和安装
切换到源代码目录,进行软件的配置、编译和安装,命令为:
[root@localhostroot]#cdapache_1.3.28
[root@localhostapache_1.3.28]#./configure--prefix=/usr/local/apache\
--enable-module=so
[root@localhostapache_1.3.28]#make
[root@localhostapache_1.3.28]#makeinstall
[root@localhostapache_1.3.28]#cd../php-5.2.5
[root@localhostphp-5.2.5]#./configure--enable-track-vars\
--with-mysql=/usr/local/mysql--with-apxs=/usr/local/apache/bin/apxs
[root@localhostphp-5.2.5]#make
[root@localhostphp-5.2.5]#makeinstall
[root@localhostphp-5.2.5]#cpphp.ini-dist/usr/local/lib/php.ini
图3.2apache和php配置、编译、安装
3.Apache和PHP的基本配置和测试
编辑Apache的配置文件“/usr/local/apache/conf/httpd.conf”,添加下面一行内容:
AddTypeapplication/x-httpd-php.php
并且将“DirectoryIndexindex.html”一行修改为:
DirectoryIndexindex.htmlindex.htmindex.php
编辑PHP配置文件“/usr/local/lib/php.ini”,将“register_globals=Off”一行内容改为:
register_globals=On
用如下命令启动Apache(并且加入到文件“/etc/rc.d/rc.local”中):
[root@localhostroot]#/usr/local/apache/bin/apachectlstart
在目录“/usr/local/apache/htdocs/”下创建test.php文件,内容如下:
php
phpinfo();
?
>
在浏览器中输入地址“http:
//your_ip/test.php”(your_ip为服务器的IP地址),即可看到PHP的基本配置信息,并且有MySQL数据库的相关支持信息。
若未看到,则配置有问题,需要检查以上步骤。
3.3搭建快速开发平台
为了充分利用Windows平台下丰富的应用软件,我们将在Linux中使用Samba服务器和Windows主机通信。
网页和相关的PHP程序文件在Windows下开发后直接存储在Linux服务器上,无需使用FTP等其它工具上传。
首先,确认当前的Linux操作系统安装了Samba软件包,若没有安装请安装后继续下面的步骤。
编辑Samba的配置文件“/etc/samba/smb.conf”,在尾部添加如下内容:
[homepage]
path=/usr/local/apache/htdocs
validusers=php
public=no
writable=yes
printable=no
createmask=0765
图3.3修改配置文件
使用如下命令添加系统用户和Samba用户:
[root@localhostroot]#adduserphp
[root@localhostroot]#smbadduserphp:
php
(需要输入Samba密码,在Windows中登录Samba服务器时使用)
3.4添加系统和Samba用户
用如下命令启动Samba服务器:
[root@localhostroot]#/etc/rc.d/init.d/smbstart
使用如下命令使Samba服务器每次开机自动启动:
[root@localhostroot]#chkconfig--level3smbon
在Windows客户端(建议使用WindowsNT/2000)使用服务器的IP地址“搜索计算机”。
找到后,双击计算机图标,在弹出对话框的用户栏输入“php”,密码框中输入使用“smbadduser”命令设置的Samba密码。
接着,会看到Samba服务器共享出来的目录“homepage”,在图标上点鼠标右键,选择“映射网络驱动器”,即可映射为本地的一个逻辑盘符。
接下来的所有网页和程序都可以通过磁盘符直接存储在Linux服务器上。
4测试
4.1基本设定
1.激活apache服务:
基本上,只要激活apache之后,应该就可以在客户端的浏览器程序上看到主机预设的网页。
同时,apachectl还有其它的参数如下:
apachectlstop:
停止WWW的服务;
apachectlrestart:
重新激活WWW的服务,这个指令比较常用在修改了apache的参数后,重新激活用的。
apachectlstatus:
侦测WWW的状态。
2.更改中文首页:
由于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.路径设定:
以下的参数在设定每一个网页或者是服务的路径所在!
(旧版在access.conf中)
基本上均使用默认值也就可以了。
3.开启PHP与其它模块:
由于需要可以支持php模块的apache,所以需要将这个模块开启。
4.开启Apache状态列:
可以透过IE等浏览器来观看主机的apache执行情况,若需要这个服务,就要将下面的批注取消掉。
5.重新激活:
只要下达/usr/local/apache/bin/apachectlrestart即可执行httpd。
到这里就设定完毕了,执行IE连上的网络。
4.3测试MySQL及PHP套件
要测试这两个套件前请先确定MySQL及Apache已经被激活了。
php测试:
编辑一个档案,文件名称可以为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的设定中,有一项关于首页的设定,通常如果不设定httpd.conf档案的话,它的默认值都是public_html[5]。
假设以vbird这个帐号为例,可以这样进行:
然后在目录中,亦即/home/vbird/public_html当中,建立一个档名为index.html的HTML档案,例如刚刚测试的php的档案,然后在IE的网址列打入http:
//网站名称/~vbird/则apache