目录
一.LAMP架构简述
二.各组件作用
三.构建LAMP平台
3.1编译安装Apache httpd服务
3.1.1 关闭防火墙,将安装Apache所需软件包转到/opt目录下
3.1.2 安装环境依赖包
3.1.3 设置安装目录,安装模块
3.1.4 编译安装
3.1.5 优化配置文件路径
编辑 3.1.6 启动apache服务 (添加httpd系统服务)编辑
3.1.7 修改配置文件
3.2 编译安装mysql
3.2.1 将安装mysql所需要的软件包移至opt目录下
3.2.2 安装包环境依赖包
3.2.3 配置软件模块
3.2.4 编译安装
3.2.5 创建mysql用户
3.2.6 修改mysql配置文件 编辑
3.2.7 更改mysql安装目录和配置文件的属主属组
3.2.8 设置路径环境变量
3.2.9 初始化数据库
3.3 编译安装php
3.3.1 将安装php所需要的软件包移至opt目录下解压
3.3.2 安装GD库和GD库关联程序,用来处理和生成图片
3.3.3 配置软件模块
四.搭建一个论坛
4.1 登录数据库
4.2 创建数据库授权 编辑编辑
4.3 刷新数据库 编辑
4.4 压缩论坛压缩包
4.5 更改论坛目录的属主
LAMP架构是目前成熟的企业网站应用模式之一,值的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及应用环境,LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言
平台:Linux
作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows,UNIX等平台)
前台:Apache(静态页面)
作为LAMP架构的前端,是一款功能强大哦,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容。
后台:MySQL(数据库--数据存储/读取)
作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站,业务系统等应用中,各种账户信息,产品信息,客户资料,业务数据库等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息。
中间连接:PHP/Perl/Python(动态页面)
作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。
在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP,其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通web服务器和数据库系统以协同工作
关闭防火墙:systemctl stop firewalld.service
setenforce 0
将下载好的软件包包拖至opt目录下
注: apr组件包用于支持Apache上层应用跨平台,提供底层接口库,能有效的降低并发连接数、 降低进程和减少访问堵塞。
解压软件包:要在软件包所在目录解压,此处软件包所在目录为opt
解压完毕
将apr-1.6.2 、apr-util-1.6.0移动到 /httpd-2.4.29/srclib/并改名
进入/opt/httpd-2.4.29进行如下配置
cd /opt/httpd-2.4.29
./configure --prefix=/urs/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
编译安装结束后进入 /usr/local查看是否有httpd服务,有则安装成功
把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
将配置文件放入etc目录下方便查找修改
输入访问测试:访问的页面为/usr/local/httpd/htdocs/index.html里的内容
解压后将boost文件夹移动到/usr/local目录下并改名
注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧
useradd -M -s /sbin/nologin mysql
sql_mode常用值如下:
NO_ENGINE_SUBSTITUTION:如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常
STRICT_TRANS_TABLES:在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制
NO_AUTO_CREATE_USER:禁止GRANT创建密码为空的用户
NO_AUTO_VALUE_ON_ZERO:mysql中的自增长列可以从0开始。默认情况下自增长列是从1开始的,如果你插入值为0的数据会报错
NO_ZERO_IN_DATE:不允许日期和月份为零
NO_ZERO_DATE:mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告
ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。默认情况下数据被零除时MySQL返回NULL
PIPES_AS_CONCAT:将"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似
ANSI_QUOTES:启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符
3.2.10 添加mysqld系统服务
3.2.12 授权远程登录
查看当前已有的数据库
3.3.4 编译安装
3.3.6 优化把PHP的执行程序文件放入路径环境变量的目录便于系统识别
3.3.7 修改httpd服务的配置文件,让apache支持php
4.6 浏览访问验证
论坛页面访问输入:http:ip/bbs