HTTP服务基础及安全配置——HTTP基础、LAMP部署

HTTP基础


WEB概念

WEB是一种交互式图形界面的Internet服务,具有强大的信息连接功能,通过超文本链接( HyperText ) 的方式,将信息通过 Internet 传递到全球每个角落。 一般情况下,终端用户通过浏览器输入比较完整的URL即可以完成访问。

URL概念:

统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。

互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

基本URL包含:模式(或称协议)、服务器名称(或IP地址)、路径和文件名。如“协议://授权/路径?查询”

完整的、带有授权部分的普通统一资源标志符语法如下:

协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志

HTTP协议:

HTTP(HyperText Transfer Protocol),是目前WWW传递数据的主流协议!网站上的网页,则需要符合HyperText Markup Language(HTML)的语法。

HTTP服务原理:当我们在网址栏输入网址之后:

    1)Client经过DNS解析得到WWW主机的IP,会发出一个数据包,以http协议联接WWW主机,通知WWW主机要以http的方法来取得数据。

    2)WWW主机收到数据包后,根据Client的要求,提供相关的讯息来响应,大部分情况下用http的协议传送用HTML 语法的网页数据到Client端的浏览器;

     3)最后Client端的浏览器将 HTML的语法解析后,显示网页内容。


安装httpd服务器——LAMP环境配置


优点:

  • 具有较大的自由度,功能可定制
  • 可及时获得最新的软件版本
  • 普遍适用于大多数Linux版本,便于移植使用获得Apache服务器的源码包:http://httpd.apache.org/download.cgi

1.编译安装Apache

卸载默认的相关软件包

HTTP服务基础及安全配置——HTTP基础、LAMP部署

HTTP服务基础及安全配置——HTTP基础、LAMP部署

解压源码包

HTTP服务基础及安全配置——HTTP基础、LAMP部署

配置命令如下:

#cd /usr/src

#cd `ls -d */ | grep httpd`

#./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-chareset-lite --enable-cgi

HTTP服务基础及安全配置——HTTP基础、LAMP部署

配置选项含义如下:

  • --prefix:指定将httpd服务程序安装到哪个目录,如/usr/local/httpd。
  • --enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。
  • --enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
  • --enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
  • --enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。

编译及安装

#make && make install

HTTP服务基础及安全配置——HTTP基础、LAMP部署

优化Apache命令的执行路径

HTTP服务基础及安全配置——HTTP基础、LAMP部署

生成Apache的启动脚本

HTTP服务基础及安全配置——HTTP基础、LAMP部署

修改Apache启动脚本,使系统能识别Apache服务:在第2行处,插入2行  

HTTP服务基础及安全配置——HTTP基础、LAMP部署

HTTP服务基础及安全配置——HTTP基础、LAMP部署

添加Apache服务到系统,使其开机后自动运行

HTTP服务基础及安全配置——HTTP基础、LAMP部署

修改Apache配置文件,添加Apache服务器名称为:www.topsec.com(举例)

#vim  /usr/local/httpd/conf/httpd.conf

HTTP服务基础及安全配置——HTTP基础、LAMP部署

启动Apache服务、查看服务状态

HTTP服务基础及安全配置——HTTP基础、LAMP部署

测试

HTTP服务基础及安全配置——HTTP基础、LAMP部署


2.编译安装MySQL数据库

卸载Linux系统自带的mysql软件包

HTTP服务基础及安全配置——HTTP基础、LAMP部署

安装支持包

#yum -y install ncurses-devel

HTTP服务基础及安全配置——HTTP基础、LAMP部署

安装cmake工具

HTTP服务基础及安全配置——HTTP基础、LAMP部署

执行后结果

HTTP服务基础及安全配置——HTTP基础、LAMP部署

#gmake && gmake install

HTTP服务基础及安全配置——HTTP基础、LAMP部署

创建mysql用户

HTTP服务基础及安全配置——HTTP基础、LAMP部署

解压mysql源码包

HTTP服务基础及安全配置——HTTP基础、LAMP部署

配置mysql

#cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DSYSCONFDIR=/etc  -DDEFAULT_CHARSET=utf8     

-DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EXTRA_CHARSETS=all

HTTP服务基础及安全配置——HTTP基础、LAMP部署

选项含义如下

  • -DCMAKE_INSTALL_PREFIX= 指定mysql的安装路径
  • -DSYSCONFDIR= 指定mysql配置文件的所在目录
  • -DDEFAULT_CHARSET 指定默认的字符集
  • -DDEFAULT_COLLATION= 指定字符集的默认排序
  • -DWITH_EXTRA_CHARSETS= 支持扩展字符集

编译及安装mysql

#make && make install

HTTP服务基础及安全配置——HTTP基础、LAMP部署

修改mysql安装目录的所有者权限

HTTP服务基础及安全配置——HTTP基础、LAMP部署

删除默认的mysql配置文件,拷贝生成新的配置文件

HTTP服务基础及安全配置——HTTP基础、LAMP部署

初始化mysql数据库

#/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

HTTP服务基础及安全配置——HTTP基础、LAMP部署

修改环境变量PATH的值,将mysql命令追加到默认搜索路径中

HTTP服务基础及安全配置——HTTP基础、LAMP部署

.重新加载环境变量

HTTP服务基础及安全配置——HTTP基础、LAMP部署

优化mysql执行路径

HTTP服务基础及安全配置——HTTP基础、LAMP部署

生成mysql启动脚本,并赋予执行权

HTTP服务基础及安全配置——HTTP基础、LAMP部署

将mysql服务添加到开机自启动中

HTTP服务基础及安全配置——HTTP基础、LAMP部署

启动mysql服务,并查看运行端口

HTTP服务基础及安全配置——HTTP基础、LAMP部署

测试

HTTP服务基础及安全配置——HTTP基础、LAMP部署


3.编译安装PHP

卸载默认的php相关软件包

HTTP服务基础及安全配置——HTTP基础、LAMP部署

安装支持包:

#yum -y install zlib-devel

HTTP服务基础及安全配置——HTTP基础、LAMP部署

#yum -y install libxml2-devel

HTTP服务基础及安全配置——HTTP基础、LAMP部署

安装扩展工具库(libmcrypt、mhash、mcrypt)

HTTP服务基础及安全配置——HTTP基础、LAMP部署

#./configure

HTTP服务基础及安全配置——HTTP基础、LAMP部署

make && make install

HTTP服务基础及安全配置——HTTP基础、LAMP部署

优化链接库

HTTP服务基础及安全配置——HTTP基础、LAMP部署

./configure

HTTP服务基础及安全配置——HTTP基础、LAMP部署

make && make install

HTTP服务基础及安全配置——HTTP基础、LAMP部署

HTTP服务基础及安全配置——HTTP基础、LAMP部署

定义变量LD_LIBRARY_PATH,并提升为全局变量

HTTP服务基础及安全配置——HTTP基础、LAMP部署

./configure

HTTP服务基础及安全配置——HTTP基础、LAMP部署

make && make install

HTTP服务基础及安全配置——HTTP基础、LAMP部署

安装php

HTTP服务基础及安全配置——HTTP基础、LAMP部署

配置

HTTP服务基础及安全配置——HTTP基础、LAMP部署

HTTP服务基础及安全配置——HTTP基础、LAMP部署

选项含义如下:

  • --prefix:指定将php程序安装到哪个目录,如/usr/local/php5。
  • --with-mcrypt:加载数据加密等扩展工具支持。
  • --with-apxs2:设置Apache HTTP Server提供的apxs模块支持程序的文件位置。
  • --with-mysql:设置MySQL数据库服务程序的安装位置。
  • --with-config-file-path:设置PHP的配置文件php.ini将要存放的位置。
  • --enable-mbstring:启用多字节字符串功能,以便支持中文等代码。

编译:make

HTTP服务基础及安全配置——HTTP基础、LAMP部署

安装:make install

HTTP服务基础及安全配置——HTTP基础、LAMP部署

拷贝生成php配置文件php.ini

HTTP服务基础及安全配置——HTTP基础、LAMP部署

优化php的执行命令

HTTP服务基础及安全配置——HTTP基础、LAMP部署

修改php.ini文件

启用默认字符集“default_charset = "iso-8859-1”,并修改默认字符集为:utf-8,如下所示:

HTTP服务基础及安全配置——HTTP基础、LAMP部署

开启short_open_tag功能,修改其值为:On

HTTP服务基础及安全配置——HTTP基础、LAMP部署

解压ZendGuardLoader文件

HTTP服务基础及安全配置——HTTP基础、LAMP部署

在php.ini文件中增加Zend功能(PHP加速)

vim  /usr/local/php5/php.ini

HTTP服务基础及安全配置——HTTP基础、LAMP部署

修改Apache配置文件,使其支持php动态网站功能

在httpd.conf文件的54行插入:

HTTP服务基础及安全配置——HTTP基础、LAMP部署

修改DirectoryIndex行,并添加index.php

vim  /usr/local/httpd/conf/httpd.conf

HTTP服务基础及安全配置——HTTP基础、LAMP部署

重新启动Apache服务

HTTP服务基础及安全配置——HTTP基础、LAMP部署

建立PHP功能测试网页test1.php

vim  /usr/local/httpd/htdocs/test1.php

HTTP服务基础及安全配置——HTTP基础、LAMP部署

建立PHP连接MySQL的测试网页test2.php

修改mysql管理员用户root的密码为:123456

HTTP服务基础及安全配置——HTTP基础、LAMP部署

建立test2.php页面文件

vim  /usr/local/httpd/htdocs/test2.php

HTTP服务基础及安全配置——HTTP基础、LAMP部署

测试问题

HTTP服务基础及安全配置——HTTP基础、LAMP部署


4.部署PhpMySQL站点包

解压phpMyAdmin网页文件

HTTP服务基础及安全配置——HTTP基础、LAMP部署

建立配置文件config.inc.php

HTTP服务基础及安全配置——HTTP基础、LAMP部署

访问phpMyAdmin站点

1)打开火狐浏览器在地址栏中输入:http://站点服务器IP/bbs/install/index.php

2)在登录页面中输入:mysql管理员用户:root;密码:123456

3)在图形界面下,实现数据库的基本操作(增、删、查、改)

部署Discuz论坛BBS站点包

创建Discuz论坛BBS站点数据库bbsdb

以mysql管理员root身份登录mysql,并创建数据库bbsdb

HTTP服务基础及安全配置——HTTP基础、LAMP部署

创建runbbs数据库用户有,并授权其对bbsdb库拥有所有权限

HTTP服务基础及安全配置——HTTP基础、LAMP部署

解压Discuz站点包

unzip /root/lamp/web/Discuz_7.2_FULL_SC_UTF8.zip -d DiscuzPkg

HTTP服务基础及安全配置——HTTP基础、LAMP部署

HTTP服务基础及安全配置——HTTP基础、LAMP部署

修改相关站点目录的所有者为daemon

HTTP服务基础及安全配置——HTTP基础、LAMP部署

请注意:

1)论坛站点部署成功后,请打开火狐浏览器

在地址栏中输入:http://站点服务器IP/bbs/install/index.php进行论坛安装

2)安装界面中,数据库用户名为:runbbs;数据库为:bbsdb;数据库类型为:mysql

3)安装界面中,管理员用户名、密码、邮箱可任意指定。

例如:管理员用户名:admin,密码:123456,邮箱:[email protected]

4)测试bbs站点功能正常,请将/usr/local/httpd/htdocs/bbs下的install移除或修改install目录权限为:600,以防止他人再次访问install目录,进行二次安装"

HTTP服务基础及安全配置——HTTP基础、LAMP部署