390 likes | 593 Views
第 4 章内容回顾. DNS 提供了 IP 地址与主机名之间的相互转换服务 BIND 服务器 BIND 服务器程序在 UNIX/LINUX 系统中实现了域名服务器功能 BIND 服务器可配置成为高速缓存域名服务器、主域名服务器和从域名服务器等类型的 DNS DNS 服务器的区域文件中可包括 A 、 NS 、 CNAME 、 PTR 和 MX 等类型的资源记录 nslookup 和 dig 命令可用于 DNS 服务器进行测试. 第 5 章. 网络服务. 本章目标. 掌握 Apache 服务器的安装 掌握 Apache 安装后的基本配置 掌握基于域名的虚拟主机配置
E N D
第4章内容回顾 • DNS提供了IP地址与主机名之间的相互转换服务 • BIND服务器 • BIND服务器程序在UNIX/LINUX系统中实现了域名服务器功能 • BIND服务器可配置成为高速缓存域名服务器、主域名服务器和从域名服务器等类型的DNS • DNS服务器的区域文件中可包括A、NS、CNAME、PTR和MX等类型的资源记录 • nslookup和dig命令可用于DNS服务器进行测试 Page 1/39
第5章 网络服务
本章目标 • 掌握Apache服务器的安装 • 掌握Apache安装后的基本配置 • 掌握基于域名的虚拟主机配置 • 掌握LAMP环境的配置和应用程序的安装 Page 3/39
网站服务 Apache简介 Apache的起源 Apache的主要特点和版本 RPM安装 编译安装 Apache的日志 LAMP网页应用架构 Apache与其他应用程序的协作 Apache的启动和停止 配置Apache、PHP、MySQL协同工作 Apache的安装 Apache基本配置 Apache的配置 本章结构 Page 4/39
Apache服务器的起源 • Apache是著名的开源软件项目 • Apache是著名的Web服务器软件 • Apache名称的原型为A Patchy Server • Apache项目由Apache软件基金会(ASF)负责管理和开发 Page 5/39
Apache的主要特点 • Apache服务器的特点 • 开放源代码 • 跨平台应用,可运行于Windows和大多数UNIX\Linux 系统 • 支持Perl、PHP、Python和Java等多种网页编程语言 • 采用模块化设计 • 运行非常稳定 • 具有相对较好的安全性 Page 6/39
Apache的版本分支 • Apache服务器的两个版本分支 • Apache服务器目前同时维护1.X和2.X两个版本分支 • 1.X • 目前最高版本是1.3,系统运行稳定 • 缺乏一些较新的功能 • 2.X • 具有新的功能特性 • 与1.X的配置存在较大差别 • 没有1.X运行稳定 Page 7/39
Apache的RPM包安装2-1 • Apache的RPM软件包 • RHEL4系统中包括Apache服务器的RPM软件包 • httpd软件包 • 是Apache服务器的程序软件包 • httpd-manual软件包 • 是Apache服务器的手册文档 Page 8/39
Apache的RPM包安装2-2 • Apache服务器RPM安装后的目录和文件 Page 9/39
Apache编译安装3-1 • 编译安装的优点 • 具有较大的自由度,功能可定制 • 可及时获得新版本 • 普遍适用于大多数Linux版本 • 获得Apache服务器的源码包 • 从Apache的官方网站下载源码包 http://httpd.apache.org/download.cgi • 源码包文件 httpd-2.0.59.tar.gz Page 10/39
Apache编译安装3-2 • 确认Linux系统中的编译环境 • 编译安装需要系统中具备gcc等编译工具 • 可使用图形界面的软件包管理程序安装完整的编译环境 # system-config-packages • 编译安装的步骤 • 释放源码包文件 • 编译前的配置 • 编译服务器程序 • 安装已编译完成的程序 Page 11/39
Apache编译安装3-3 • 编译步骤操作 • 使用tar命令释放源代码安装包 # tar zxvf httpd-2.0.59.tar.gz • 使用./configure命令进行编译前的配置工作 # ./configure --prefix=/usr/local/apache2 \ > --enable-so --enable-rewrite • 使用make命令进行程序的编译 # make • 使用make install命令将已经编译的文件安装到系统中 # make install 使用“--prefix”选项指定Apache服务器程序将要安装到的系统目录 使用“--enable-so”选项设置Apache服务器可以使用动态加载模块功能 使用“--enable-rewrite”选项设置Apache服务器具有rewrite功能 Page 12/39
Apache服务器的目录结构 • “/usr/local/apache2/”目录中的子目录 Page 13/39
Apache服务器的启动和停止 • 使用apachectl脚本控制服务程序 • apachectl脚本文件 /usr/local/apache2/bin/apachectl • 启动httpd服务程序 apachectl start • 重新启动httpd服务程序 apachectl restart • 停止httpd服务程序运行 apachectl stop • 测试httpd.conf的语法 apachectl -t Page 14/39
httpd.conf配置文件解析4-1 • httpd.conf配置文件的结构 • 注释行以“#”开始 • 不以“#”开始的行是配置文件中真正有效的设置内容 • 获得完整的有效配置清单 • 使用grep命令去除文件中以#开始的行 grep -v "^#" conf/httpd.conf Page 15/39
httpd.conf配置文件解析4-2 • httpd.conf中的全局配置 Page 16/39
httpd.conf配置文件解析4-3 • httpd.conf中的全局配置(续) Page 17/39
httpd.conf配置文件解析4-4 • httpd.conf中的区域设置 • 除全局设置外,httpd.conf文件中的大多数设置都是包括在“区域”中的 <Directory /> Options FollowSymLinks AllowOverride None </Directory> 使用<Directory />定义根区域的开始 使用</Directory>定义根区域的结束 Page 18/39
建立系统用户的个人主页 • httpd.conf文件配置 • 在httpd.conf文件中需要进行UserDir的设置 UserDir public_html • 用户目录设置 • 用户宿主目录需设置为其他用户可以进入 $ chmod o+x ~ • 用户宿主目录中需要建立public_html目录 $ mkdir public_html • public_html目录中需要建立index.html文件 • 访问用户个人主页 http://192.168.1.2/~st02/ Page 19/39
域名虚拟主机的配置 • httpd.conf文件中添加虚拟主机 NameVirtualHost 192.168.1.2 <VirtualHost 192.168.1.2:80> ServerName www.ltest.com DocumentRoot /home/ltest.com </VirtualHost> NameVirtualHost用于设置域名虚拟主机使用的IP地址 使用<VirtualHost 192.168.1.2:80>和</VirtualHost>建立在地址“192.168.1.2:80”上的虚拟主机区域 使用ServerName设置当前虚拟主机所使用的域名 使用DocumentRoot设置当前虚拟主机所使用的文档根目录 Page 20/39
Apache的日志 • Apache的两类日志文件 • httpd.conf中对日志文件的设置 ErrorLog logs/error_log CustomLog logs/access_log common • 访问日志文件 • 用于记录对Apache服务器的访问事件 /usr/local/apache2/logs/access_log • 错误日志文件 • 用于记录Apache服务器中的错误事件 /usr/local/apache2/logs/error_log Page 21/39
阶段总结 • Apache是著名的Web服务器软件,可运行在多种操作系统平台 • 在RHEL4系统中,Apache服务器可采用RPM和源码编译两种方式进行安装 • apachectl是Apache服务器的启动脚本程序,可以对httpd服务程序进行启动控制 • Apache服务器的主配置文件是httpd.conf,用于对Apache服务器进行功能和性能的配置管理 Page 22/39
阶段练习 • 在RHEL4系统中编译安装Apache服务器 • 在Apache服务器中创建域名是“www.benet.com”的虚拟主机 Page 23/39
LAMP网页应用架构 • LAMP的组成 • Linux作为操作系统 • Apache作为Web服务器 • MySQL作为数据库服务器 • PHP/Perl/Python作为编程语言 • LAMP的特点 • 全部组成部分都采用开源软件 • 适合于构建各种类型的网页应用系统 • 具有广泛的应用系统支持 Page 24/39
配置LAMP应用8-1 • 安装并管理MySQL服务器 • 获得MySQL软件包 http://dev.mysql.com/downloads/ • 添加mysql用户和组 # groupadd -g 200 mysql # useradd -u 200 -g mysql -d /usr/local/mysql/data \ > -M mysql • 释放MySQL软件包 # tar zxvf mysql-3.23.58-pc-linux-i686.tar.gz \ > -C /usr/local/ # cd /usr/local/ # ln -s mysql-3.23.58-pc-linux-i686/ mysql Page 25/39
配置LAMP应用8-2 • 安装并管理MySQL服务器(续) • 初始化MySQL服务器中的数据库 # ./scripts/mysql_install_db • 启动mysql服务程序 # /usr/local/mysql/bin/safe_mysqld --user=mysql & • 设置数据库管理员用户口令 # /usr/local/mysql/bin/mysqladmin -u root \ >password 'myrootpw' • 登录数据库 # /usr/local/mysql/bin/mysql -u root -p Page 26/39
配置LAMP应用8-3 • 安装并管理PHP环境 • 获取php源码包 http://www.php.net/downloads.php • 释放php源码包 # tar zxvf php-4.4.4.tar.gz -C /usr/local/src/ • 完成编译前的配置 # cd /usr/local/src/php-4.4.4 # ./configure --prefix=/usr/local/php4 \ > --with-apxs2=/usr/local/apache2/bin/apxs \ > --with-mysql=/usr/local/mysql \ > --with-config-file-path=/usr/local/php4 --with-mysql设置mysql服务器程序的安装位置 --with-config-file-path设置php程序的配置文件所在的位置 --with-apxs2设置php为Apache服务器提供的模块的安装位置 --prefix设置php程序的安装路径 Page 27/39
配置LAMP应用8-4 • 安装并管理PHP环境(续) • 编译并安装php程序 # make; make install • 建立php的配置文件 # cp php.ini-dist /usr/local/php4/php.ini Page 28/39
配置LAMP应用8-5 • 进行Apache服务器中的设置 • httpd.conf中对php的配置 LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php .php DirectoryIndex index.html index.html.var index.php • 停止并再次启动httpd服务程序 # /usr/local/apache2/bin/apachectl stop # /usr/local/apache2/bin/apachectl start Page 29/39
配置LAMP应用8-6 • 测试php网页 • 建立php测验页 # vi /usr/local/apache2/htdocs/test.php <?php phpinfo( ); ?> • 访问测试页 http://192.168.1.2/test.php Page 30/39
配置LAMP应用8-7 • 安装phpBB论坛系统 • 获得phpBB安装包 http://www.phpbb.com/downloads.php • 释放phpBB安装包 # tar zxvf phpBB-2.0.21.tar.gz \ > -C /usr/local/apache2/htdocs/ • 设置目录属主和属组 # chown -R nobody:nobody phpBB2/ • 访问phpBB安装向导页面 http://192.168.1.2/phpBB2/ • 删除配置目录 # cd /usr/local/apache2/htdocs/phpBB2/ # rm -rf install/ contrib/ Page 31/39
配置LAMP应用8-8 • 访问phpBB论坛首页 http://192.168.1.2/phpBB2/ Page 32/39
阶段总结 • LAMP环境由Linux、Apache、MySQL和PHP/Perl/Python组成 • LAMP环境的构建需要配置Apache、MySQL和PHP进行协同工作 • phpBB是典型的LAMP应用,可实现论坛系统的功能 Page 33/39
阶段练习 • 以编译安装的Apache服务器为基础,构建LAMP运行环境 • 在已构建的LAMP环境中使用phpBB搭建论坛应用系统 Page 34/39
LAMP平台具有数量众多的成熟的应用系统,例如论坛程序phpBBLAMP平台具有数量众多的成熟的应用系统,例如论坛程序phpBB apachectl脚本用于控制Apache服务器的启动和停止 在大多数Linux系统中都可以编译安装Apache服务器 RHEL4系统中提供了Apache服务器的RPM安装包 Apache服务器目前有1.X和2.X两个版本分支同时开发维护 Apache项目由Apache软件基金会负责管理 LAMP平台由Linux、Apache、MySQL和PHP等共同组成 Apache服务器的主配置文件是httpd.conf Apache具有access_log和error_log两个日志文件 网站服务 Apache基本配置 Apache简介 Apache与其他应用程序的协作 Apache的安装 本章总结 Apache的起源 Apache的主要特点和版本 RPM安装 编译安装 Apache的启动和停止 Apache的配置 Apache的日志 LAMP网页应用架构 配置Apache、PHP、MySQL协同工作 Page 35/39
实验 • 任务1:Apache安装与验证 • 任务2:Apache的启动和停止的配置,查看Apache的日志 • 任务3:配置Apache、PHP、Mysql协同工作 Page 36/39
任务1 • 注意事项 • 提示1:在进行Apache的源码编译安装之前,需要先确认RHEL4系统中已经安装了完整的编译环境,如果编译环境不存在可以使用图形界面的应用程序管理工具进行安装 • 提示2:在对Apache的源代码进行配置和编译的过程需要较长的时间,同时操作界面会显示执行任务的过程信息 Page 37/39
任务2 • 注意事项 • 提示1:使用Apache缺省配置文件启动时会提示服务器缺少完整的主机域名,但是服务程序仍然会正常启动;在httpd.conf文件中设置ServerName配置项可以解决此问题 • 提示2:Apache服务器的两个日志文件access_log和error_log具有不同的功能, access_log用于记录正常的访问事件, error_log用于记录服务器的运行错误事件 Page 38/39
任务3 • 注意事项 • 提示1:在使用TAR包安装MySQL服务器时,如果Linux系统中已经安装了mysql的RPM包,则需要重新建立“/etc/my.cnf ”配置文件,否则MySQL服务器无法正常启动 • 提示2:构建LAMP运行环境的操作步骤较多,对Apache、MySQL和PHP等各部分的验证需要分阶段进行,待验证成功后再安装phpBB应用系统 Page 39/39