logo资料库

lamp(Linux+Apache+Mysql+Perl/PHP/Python)论文.doc

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
二、Apache的概述————————————————————————— 7
三、Mysql数据库的概述———————————————————————11
Linux概述
1  Linux具有内核编程接口
2  Linux支持多用户
3  Linux支持多任务
4  Linux支持安全的分层文件系统
5  shell:命令解释器和编程语言
(1)文件名的生成
(2)设备无关的输入和输出
(3)shell函数
(4)作业控制
6  大量有用的工具集
7  进程间的通信
8  系统管理
  Linux的其他特性
1 . GUI
2  (互联)网络工具
3  软件开发
Apache的的概述 一、
三、
1、
(4)阻止用户修改系统设置  在
(5)
四、
五、
(1)建立用户库  用户名和口令列表需要存在于文件(mod_auth模块)或数据库(mod_aut
六、在
Mysql数据库的介绍:
安徽理工大学 目录: 【摘要】———————————————————————————————1 【关键字】——————————————————————————————2 一、LINUX 概述——————————————————————————— 3 1 、 Linux 具有内核编程接口——————————————————————— 3 2、 Linux 支持多用户——————————————————————————3 3 、 Linux 支持多任务——————————————————————————4 4、 Linux 支持安全的分层文件系统—————————————————————4 5 、 shell:命令解释器和编程语言————————————————————— 5 6 、 大量有用的工具集——————————————————————————5 7 、 进程间的通信——————————————————————————— 6 8、 系统管理————————————————————————————— 7 二、Apache 的概述————————————————————————— 7 1、apache 服务器的功能————————————————————————————— 8 2、apache 服务器的安全特性——————————————————————————— 8 3、apache 服务器的安全配置——————————————————————————— 8 4、apache Server 基于主机的访问控制——————————————————————— 9 5、apache Sever 的用户认证与授权———————————————————————— 10 6、在 apache 中使用 DBM 用户认证———————————————————————— 11 三、Mysql 数据库的概述———————————————————————11 1 、MySQL 的开源————————————————————————————————12 2、 MySQL 的服务器———————————————————————————————13 3、 MySQL 服务器工作环境————————————————————————————14 4 、MySQL 软件的使用————————————————————————— 14 四、PHP 的概述 —————————————————————————— 15 1、 PHP 的特性———————————————————————————————— 15 2、 PHP 3 与 PHP 4 的比较——————————————————————————— 6 五、RedHatLinux9 平台下搭建 LAMP 1、安装环境—————————————————————————————17 2、软件需求—————————————————————————————17 3、安装过程—————————————————————————————17 【结束语】——————————————————————————————17 【参考资料】—————————————————————————————17 【致谢】———————————————————————————————17
安徽理工大学 [摘要] Linux+Apache+Mysql+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软 件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共 同组成了一个强大的 Web 应用程序平台。随着开源潮流的蓬勃发展,开放源代码的 LAMP 已经与 J2EE 和.Net 商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资 成本较低,因此受到整个 IT 界的关注。LAMP 是基于 Linux,Apache,MySQL 和 PHP 的开放 资源网络开发平台,PHP 是一种有时候用 Perl 或 Python 可代替的编程语言。这个术语来自 欧洲,在那里这些程序常用来作为一种标准开发环境。名字来源于每个程序的第一个字母。 每个程序在所有权里都符合开放源代码标准:Linux 是开放系统;Apache 是最通用的网络服 务器;mySQL 是带有基于网络管理附加工具的关系数据库;PHP 是流行的对象脚本语言,它 包含了多数其它语言的优秀特征来使得它的网络开发更加有效 [关键字] Linux Apache Mysql PHP
安徽理工大学 Linux 概述 Linux 操作系统具有许多独特而强大的功能。与其他操作系统一样,它是控制计算机的 系统程序。但同时也与 UNIX 一样,是一个精心设计的工具程序的集合,而且提供了大量的 工具使得用户可连接和使用这些工具,以构建系统和应用程序。 1 Linux 具有内核编程接口 Linux 内核是 Linux 操作系统的核心,负责分配计算机资源和调度用户作业,尽可能使 得每个作业都能平等地使用系统资源,如对 CPU 的访问,对磁盘、DVD、CD-ROM 存储器、打 印机和磁带驱动器等外围设备的使用等。应用程序通过系统调用(有着大家熟知的名称的特 殊函数)与内核交互。程序员可使用一个系统调用实现与多种设备的交互。例如,系统调用 write 只有一个,但它可向多个设备实现写操作。当某个程序发出 write 请求时,内核将根 据程序的上下文把请求传递给相应的设备。这种灵活性使得一些旧版本的工具能够适用于新 出现的设备,并且使得在不重写程序的情况下,可以将程序较容易地移植到新操作系统下(假 设新旧版本的操作系统可使用相同的系统调用)。 2 Linux 支持多用户 根据硬件和计算机所执行任务的不同,Linux 操作系统可支持一个到一千个以上的用 户,其中的每个用户可同时运行不同的程序集合。若多个用户同时使用一台计算机,那么平 均到每个用户上的费用比一个用户单独使用这台计算机的费用要低。因为单个用户通常不能 充分利用计算机所提供的资源。例如任何人都不可能做到:使打印机一直处于打印状态;使 系统内存完全被占用;使磁盘一直忙于读写操作;使 Internet 联接一直处于使用状态;使 终端同时处于忙碌状态。而多用户操作系统允许多个用户可几乎同时使用所有的系统资源。 这样,系统资源可最大程度地被利用,相应地,每个用户的花费就将减到最小。这正是多用 户操作系统的根本目标所在。 3 Linux 支持多任务 Linux 是一个完全受保护的多任务操作系统,它允许每个用户同时运行多个作业。进程 间可相互通信,但每个进程是受到完全保护的,即不会受到其他进程的干扰,就如内核不会 受到其他任何进程干扰一样。用户在集中精力于当前屏幕所显示作业的同时,在后台还可运 行其他作业,而且还可以在这些作业之间来回切换。如果运行的是 X Window 系统,那么同 一屏幕上的不同窗口可运行不同的程序,并且可监视它们。这一功能提高了用户的工作效 率。 4 Linux 支持安全的分层文件系统 “文件”是指一组信息的集合。例如,备忘录或报告的文本信息、一组销售额的信息、 一张图片、一首歌曲、一个可执行程序。每个文件都以一个唯一的名称存放在存储设备(如 硬盘)上。Linux 以目录结构的方式组织文件。这里的目录类似于文件夹、文件柜。每个目 录具有一个名称,它可包含其他的文件和目录。目录按照一定的顺序组织在其他目录之下, 形成了一种树状结构的组织形式。这种结构可使用户通过将相关文件放到一个目录下,实现 对大量文件的管理。每个用户拥有一个主目录,根据需要可在该目录下建立更多的子目录, 如图 1-2 所示。
安徽理工大学 图 1-2 Linux 文件系统结构 标准 为了便于系统管理和软件开发,一些人通过网络组织在一起,开发了 Linux 文 件系统标准(Filesystem Standard,FSSTND),该标准逐渐演化为文件系统层次标准(Files ystem Hierarchy Standard,FHS)。在采用这种标准之前,关键程序在 Linux 的不同发布版 中所处的位置是不同的。现在,在装有 Linux 系统的计算机上,很容易就可以找到所需的标 准程序。 链接 Linux 文件系统提供了“链接”机制,该机制使得一个给定的文件可以通过两 个或多个不同的名称访问(Windows 系统中使用术语“快捷方式”来代替“链接”)。链接文 件与原来的文件可在相同的目录下,也可在不同的目录下。“链接”机制使同一个文件可以 出现在不同的用户目录中,这为用户间进行文件共享提供了可能。 安全 与大部分多用户操作系统类似,Linux 允许用户对各自的数据进行保护,以防 止其他用户的访问。Linux 也允许用户通过一种简单而有效的保护措施来与其他一些用户共 享被选择的数据和程序。这个安全级别可通过文件的访问权限来设定,其中文件的访问权限 包括读、写和执行。最近,Linux 内核已经加入了访问控制列表(Access Control List,AC L),该列表使得用户和管理者对文件访问权限可进行较细粒度的控制。 5 shell:命令解释器和编程语言 在文本环境下,shell 作为命令解释器,建立了用户和操作系统之间的接口。当输入一 个命令后,shell 将对命令进行解释,并调用相应的程序。Linux 中有许多 shell,其中最 常用的两个是: ● ● bash(Bourne Again Shell):是最初 UNIX shell 之一的 Bourne Shell 的增强版本。 tcsh(TC Shell):作为 BSD UNIX 系统一部分而开发的 C Shell 的增强版本。 由于用户常常喜欢选择使用各种不同的 shell,因此多用户操作系统在任何时候都在使 用多个不同的 shell。多种 shell 充分体现了 Linux 操作系统的一项重要功能——提供用户 可定制界面。 shell 除了具有解释键盘命令并发送到操作系统的功能外,它还是一种高级编程语言。 shell 命令可组织在一个文件中供以后执行,这些文件在 Linux 系统中称为 shell 脚本,在 DOS 和 Windows 系统中被称为批处理文件。这种灵活性使得用户利用相对短而简单的命令就 可进行复杂操作,并且使得用户轻而易举就可创建完成复杂操作的精巧程序。 (1)文件名的生成
安徽理工大学 在输入让 shell 处理的命令时,可使用对 shell 具有特殊意义的字符来构造模式。这些 特殊意义的字符称为通配符(wildcard)。这些模式为用户提供了一种简便方式,使用户不必 输入完整的文件名,而只输入模式,然后由 shell 将模式拓展为匹配的文件名。这些模式称 为模糊文件引用(Ambiguous File Reference),该引用可节省因输入长文件名或者一长串相 近的文件名而耗费的精力。对于只知道文件名称的一部分或不能记起文件名精确拼写的情 况,模式便非常有用。 (2)设备无关的输入和输出 重定向 设备(如打印机、终端)和磁盘文件在 Linux 程序中都以文件的形式出现。当 向 Linux 操作系统发出命令时,可指示操作系统将输出发送到任何一个设备或文件,这称为 输出重定向(redirection)。 类似地,通常来自键盘的程序输入可重定向为来自某个磁盘文件。输入和输出都是设备 无关的,输出可被重定向到任何合适的设备,来自任何设备的输入也可被重定向。 例如,cat 工具通常用于在屏幕上显示文件内容。运行 cat 命令可以很容易地将其输出 重定向到某个磁盘文件而不是屏幕上。 (3)shell 函数 shell 的一个非常重要的特性是它可作为一种编程语言来使用。因为 shell 是一个解释 器,所以它不能对为它编写的程序进行编译,而是在每次从磁盘加载这些程序时,对它们进 行解释。而程序的加载和解释都是非常耗时的。 针对此问题,许多 shell(如 Bourne Again Shell)都包含 shell 函数,shell 把这些函 数放在内存使得每次需要执行它们时,不必再从磁盘读入。shell 还以一种内部格式来存放 这些函数使得不必耗费大量时间来解释它们。 (4)作业控制 作业控制(Job Control)是 shell 的另一个特性,它允许用户同时运行多个作业,并且 根据需求可将前后台的作业进行切换。当启动某个作业时,它通常是在前台运行,因此该作 业是与终端相连接的。利用作业控制这一功能,可将正处于前台工作的作业切换到后台去, 在后台该作业可继续运行,并且在前台可以运行或监视另一个作业。如果想关注一下某个正 在后台运行的作业,那么,可将其切换到前台工作,以使其又一次与终端相连接。作业控制 的这一概念起源于 BSD UNIX,后来又出现在 C Shell 中。 6 大量有用的工具集 Linux 包括几百个工具程序,这些程序通常被称为命令(command),可以提供用户普遍 需要的功能。例如 sort 程序可以按照字母表顺序或数字顺序对列表(或者是一组列表)进行 排序,这样便于根据部件号码、姓、城市名、邮政编码、电话号码、年龄、大小、成本等关 键字进行排序。sort 工具是一个非常重要的编程工具,也是标准 Linux 操作系统中的一部 分。还有些工具则允许用户创建、显示、打印、复制、查找和删除文件,有些则允许用户对 文本进行编辑、格式化和排版。man(即手册、指南)和 info 工具可提供 Linux 的联机文档。 7 进程间的通信 管道(pipe)和过滤器(filter) Linux 允许用户在命令行上建立管道和过滤器。管道 可将一个程序的输出作为另一个程序的输入。过滤器,作为管道的一种特殊形式,对输入数 据流处理以得到输出数据流。过滤器可对程序的输出进行修改。过滤器的输出结果可作为另 一个程序的输入。 管道和过滤器经常将多个工具连接起来以完成某个特定的任务。例如,可使用管道将 c at 工具的输出作为 sort 工具的输入(此管道可称为过滤器),同时,也可使用另一个管道再 将 sort 的输出发送给第 3 个工具 lpr,即将数据打印输出。这样,在一条命令行上,使用 了 3 个工具,完成了排序和打印文件的工作。
安徽理工大学 8 系统管理 Linux 系统的系统管理员通常是系统所有者和系统唯一的用户,具有很多职责,其中首 要的应该是设置系统和安装软件。 一旦系统启动并运行,系统管理员应负责下载和安装软件(包括对操作系统的更新)、备 份和恢复文件、管理系统设备(如打印机、终端、服务器、局域网等),也应负责为新用户建 立账户(在多用户操作系统中),必要时启动和关闭系统,以及处理任何出现的问题 Linux 的其他特性 Linux 操作系统,除继承了 BSD、System V 和 Sun Microsystem 公司的 Solaris 系统的 一些特性外,还具有一些新的特性。虽然 UNIX 中的大多数工具在 Linux 中都存在,但在很 多情况下,这些工具都被更先进的工具替代。接下来,就介绍 Linux 下的许多流行的工具及 其特性。 1 . GUI X Window 系统(也称为 X)的一部分是由麻省理工学院的研究人员开发的,这为 Linux 中的图形用户界面(Graphical User Interface,GUI)奠定了基础。对于支持 X 的终端或者 工作站显示器,用户可通过屏幕上的多个窗口实现与计算机的交互,也可显示图形信息,或 者使用专门的应用程序来画图、监视进程和预览格式化的输出。X 是一种跨网络的协议,它 允许用户在工作站或者某台计算机上打开一个由远离他们的某个 CPU 生成的窗口。 桌面管理器 X 通常有两层:桌面管理器和窗口管理器。桌面管理器是一个面向图画(P icture)的用户接口,它使得通过控制图标而不用输入 shell 的对应命令,来实现与系统程 序的交互。GNOME(www.gnome.org)和 KDE(www.kde.org)是比较流行的桌面控制器。 窗口管理器 窗口管理器是运行在桌面管理器下的程序,它主要负责:窗口的打开和 关闭;程序的启动和运行;对鼠标的设置,使得系统根据点击方式和位置来完成不同的工作。 窗口管理器可实现个性化显示。微软公司的 Windows 只允许改变窗口关键元素的颜色,而 X 的窗口管理器可允许改变窗口的整个外观和感觉,如通过修改窗口的边框、按钮和滚动条来 改变窗口的外观和工作方式,还允许建立虚拟桌面和创建菜单等。 除了 Metacity(GNOME 的默认窗口)和 kwin(KDE 的默认窗口)外,X 和 Linux 系统下还存 在很多流行的窗口管理器,如 Sawfish 和 WindowMaker。 2 (互联)网络工具 Linux 系统通过提供很多有价值的工具来实现对网络的支持,使得在 Linux 系统下可通 过各种网络来访问远程系统。除了给其他系统上的用户发送电子邮件外,还可像访问本地文 件一样地访问其他计算机磁盘上的文件;也可以采用相似的方式让自己的文件对其他用户可 见,实现计算机间文件的复制;还可以在远程计算机上运行程序而在本地计算机上显示结果; 还可通过局域网和包括 Internet 在内的广域网完成许多其他的操作。 大量的应用程序都位于网络访问的顶层,它们将计算机资源拓展到全球。这样可使我们 能够同世界各地的人进行交流、可以搜集各门学科的信息、可以从 Internet 上迅速可靠地 下载新的软件。 3 软件开发 丰富的软件开发环境是 Linux 系统的又一大优势。除了 C 和 C++语言,Linux 系统也提 供了其他计算机语言的编译器和解释器,如 Ada、Fortan、Java、Lisp、Pascal、Perl 和 P ython 等。bison 工具生成的解析代码使得编译器(一种对包含结构化信息的文件进行解析的 工具)的开发工作变得容易。flex 工具用于生成扫描器或者是生成能识别文本内词汇模式的 代码。make 工具和 GNU 中进行自动配置的 configure 工具使得复杂项目的开发管理变得容
安徽理工大学 易。源代码的管理系统(如 CVS)简化了控制版本。除了 ups 和 gdb 外,还有一些调试器也可 帮助追踪和修复软件的瑕疵。GNU C 的编译器 gcc 与进行信息剖析(profiling)的工具 gpro f 协同工作,来帮助程序员识别影响程序性能的潜在瓶颈。为了提高代码的可移植性和减少 调试时间,C 语言编译器中包含了是否进行 C 语言代码深入检测的选项。 Apache 的的概述 一、apache 服务器的功能 apache Serve 的前身是 NCSA 的 httpd,曾经在 1995 年成为最为流行的万维网的服务器。 因为强大的功能和灵活的设置及平台移植性,apache Server 取得了广泛的信赖。apache Server 的主要功能有: 1、支持最新的 HTTP1.1 协议(RFC2616)。 2、极强的可配置和可扩展性,充分利用第三方模快的功能。 3、提供全部的源代码和不受限制的使用许可(License)。 4、广泛应用于 Windows 2000/NT/9x、Netware 5.x,OS/2 和 UNIX 家族极其他操作系统, 所支持的平台多达 17 余种。 5、强大的功能,涵盖了用户的需求,包括:认证中的 DBM 数据库支持;错误和问题的 可定制响应的目录导向功能;不受限的灵活的 URL 别名机制和重定向功能;虚拟主机(多 宿主主机)支持多个域主页共存一台主机;超强的日志文件功能;利用站点的分析;拓展于 维护等等。 正因为这些强大的优势,使 apache Server 与其他的 Web 服务器相比,充分展示了高效、 稳定及功能丰富的特点。apache Server 已用于超过 600 万个 Internet 站点。 二、apache 服务器的安全特性 作为最流行的 Web 服务器,apache Server 提供了较好的安全特性,使其能够应对可能 的安全威胁和信息泄漏。 1、采用选择性访问控制和强制性访问控制的安全策略 从 apache 或 Web 的角度来讲,选择性访问控制 DAC(Discretionary Access Control)仍 是基于用户名和密码的,强制性访问控制 MAC(Mandatory Access Control)则是依据发出请 求的客户端的 IP 地址或所在的域号来进行界定的。对于 DAC 方式,如输入错误,那么用户 还有机会更正,从新输入正确的的密码;如果用户通过不了 MAC 关卡,那么用户将被禁止 做进一步的操作,除非服务器作出安全策略调整,否则用户的任何努力都将无济于事。 2、apache 的安全模块 apache 的一个优势便是其灵活的模块结构,其设计思想也是围绕模块(Modules)概念 而展开的。安全模块是 apache Server 中的极其重要的组成部分。这些安全模块负责提供 apache Server 的访问控制和认证、授权等一系列至关重要的安全服务。 mod_access 模块能够根据访问者的 IP 地址(或域名,主机名等)来控制对 apache 服务 器的访问,称之为基于主机的访问控制。 mod_auth 模块用来控制用户和组的认证授权(Authentication)。用户名和口令存于纯文 本文件中。mod_auth_db 和 mod_auth_dbm 模块则分别将用户信息(如名称、组属和口令 等)存于 Berkeley-DB 及 DBM 型的小型数据库中,便于管理及提高应用效率。 mod_auth_digest 模块则采用 MD5 数字签名的方式来进行用户的认证,但它相应的需要 客户端的支持。 mod_auth_anon 模块的功能和 mod_auth 的功能类似,只是它允许匿名登录,将用户输 入的 E-mail 地址作为口令。
安徽理工大学 SSL(Secure Socket Lager),被 apache 所支持的安全套接字层协议,提供 Internet 上安 全交易服务,如电子商务中的一项安全措施。通过对通讯字节流的加密来防止敏感信息的泄 漏。但是,apache 的这种支持是建立在对 apache 的 API 扩展来实现的,相当于一个外部模 块,通过与第三方程序的结合提供安全的网上交易支持。 三、apache 服务器的安全配置 在前面的内容中提到过,apache 具有灵活的设置。所有 apache 的安全特性都要经过周 密的设计与规划,进行认真地配置才能够实现。apache 服务器的安全配置包括很多层面, 有运行环境、认证与授权设置及建立安全的电子交易链接等。 1、apache 的安装配置和运行 (1)以 Nobody 用户运行一般情况下,apache 是由 Root 来安装和运行的。如果 apache Server 进程具有 Root 用户特权,那么它将给系统的安全构成很大的威胁,应确保 apache Server 进 程以最可能低的权限用户来运行。通过修改 httpd.conf 文件中的下列选项,以 Nobody 用户 运行 apache 达到相对安全的目的。 User nobody Group# -1 (2) ServerRoot 目录的权限 为了确保所有的配置是适当的和安全的,需要严格控制 apache 主目录的访问权限,使 非超级用户不能修改该目录中的内容。apache 的主目录对应于 apache Server 配置文件 httpd.conf 的 Server Root 控制项中,应为: Server Root /usr/local/apache (3)SSI 的配置 在配置文件 access.conf 或 httpd.conf 中的确 Options 指令处加入 IncludesNOEXEC 选项, 用以禁用 apache Server 中的执行功能。避免用户直接执行 apache 服务器中的执行程序, 而造成服务器系统的公开化。 Options Includes Noexec (4)阻止用户修改系统设置 在 apache 服务器的配置文件中进行以下的设置,阻止用户建立、修改 .htaccess 文件, 防止用户超越能定义的系统安全特性。 AllowOveride None Options None Allow from all 然后再分别对特定的目录进行适当的配置。 (5)apache 服务器的确省访问特性 apache 的默认设置只能保障一定程度的安全,如果服务器能够通过正常的映射规则找 到文件,那么客户端便会获取该文件,如 http://local host/~ root/ 将允许用户访问整个文件 系统。在服务器文件中加入如下内容: order deny,ellow Deny from all 将禁止对文件系统的缺省访问。 (6)CGI 脚本的安全考虑
分享到:
收藏