源码编译安装LAMP上;理论加实验篇

文章目录

  • LAMP平台概述:
    • 构建LAMP平台顺序
    • 编译安装的基本过程
  • Apache简介:
    • 主要特点
    • 编译安装httpd服务器
    • httpd服务的目录结构
      • httpd.conf配置文件
    • 安装apache服务
  • MySQL的编译安装:
    • MySQL的概述
    • 登录及退出MySQL操作环境
    • 安装mysql服务
  • PHP代码源码编译安装
    • PHP概述
    • 安装PHP
  • LAMP的构成组件
    • LAMP架构搭建论坛:

LAMP平台概述:

  • LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境
  • LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言

构建LAMP平台顺序

  • 在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP
  • 其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通web服务器和数据库系统以协同工作

编译安装的基本过程

源码编译安装LAMP上;理论加实验篇_第1张图片

Apache简介:

  • Apache起源源于A Patchy Server,著名的开源Web服务软件
  • 1995年时,发布Apache服务程序的1.0版本
  • 由Apache软件基金会(ASF)负责维护
  • 最新的名称为“Apache HTTP Server”
  • 官方站点:http://httpd.apache.org/

主要特点

  • 开放源代码,跨平台应用
  • 支持多种网页编程语言
  • 模块化设计,运行稳定,良好的安全性

软件版本
●1.X

  • 目前最高版本是1.3,运行稳定
  • 向下兼容性较好,但缺乏一些较新的功能

●2.X

  • 目前最高版本是2.4
  • 具有更多的功能特性
  • 与1.X相比,配置管理风格存在较大差异

编译安装httpd服务器

编译安装的优点

  • 具有较大的自由度,功能可定制
  • 可及时获得最新的软件版本
  • 普遍适用于大多数Linux版本,便于移植使用

获得Apache服务器的源码包
参考地址:http://httpd.apache.org/download.cgi

httpd服务的目录结构

主要目录和文件
服务目录:/usr/local/httpd/
主配置文件:/usr/local/httpd/conf/httpd.conf
网页目录:/usr/local/httpd/htdocs/
服务脚本:/usr/local/httpd/bin/apachectl
执行程序:/usr/local/httpd/bin/httpd
访问日志:/usr/local/httpd/log/access_log
错误日志:/usr/local/httpd/log/erro_log

httpd.conf配置文件

常用的全局配置参数:
ServerRoot:服务目录
Listen:监听的IP地址,端口号
User:运行服务的用户身份
Group:运行服务的组身份
ServerAdmin:管理员邮箱
ServerName:网站服务器的域名
DocumentRoot:网页文档的根目录
DirectoryIndex:默认的索引页文件
ErrorLog:设置错误日志文件的路径
LogLevel:记录日志的级别,默认为warn
Apache优化时会使用

安装apache服务

1.再安装服务前先将服务所需要的包利用xftp工具放到CRT软件中,如果用xhell登录的话不用
apr的工具包可以实现跨平台应用(需要先装)
源码编译安装LAMP上;理论加实验篇_第2张图片
2.清空防火墙规则,关闭防护功能,防止出错

[root@localhost opt]# iptables -F     ##关闭防火墙功能
[root@localhost opt]# setenforce 0    ##关闭防护功能

3.将apr的两个包和httpd的包进行解压

[root@localhost apache]# tar zxvf apr-1.6.2.tar.gz
[root@localhost apache]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost apache]# tar jxvf httpd-2.4.29.tar.bz2     ##这是bz格式的包,要用jxvf进行解压

4.解压完后后,将apr的工具包放到httpd的源码包中支持功能

[root@localhost apache]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost apache]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

5.因为是手工编译安装,那我们就需要安装一些环境;gcc gcc-c++ make pcre-devel(支持正则表达式) expat-devel(支持解析xmail文件) perl(perl语言)

[root@localhost apache]# yum -y install gcc  gcc-c++  make  pcre-devel  expat-devel  Perl

源码编译安装LAMP上;理论加实验篇_第3张图片
6.先./configure进行配置

[root@localhost httpd-2.4.29]# ./configure \  
> --prefix=/usr/local/httpd \     ##指定安装位置
> --enable-so \               ##开启核心功能模块      
> --enable-rewrite \           ##重写功能;开启防盗链
> --enable-charset-lite \        ##开启字符集设定
> --enable-cgi                ##通用网关接口
##公共网关接口是web服务器运行时外部程序的规范

源码编译安装LAMP上;理论加实验篇_第4张图片
7. 配置完成后,下一步执行make编译;将源码转译成二进制文件[root@localhost apache]# make
源码编译安装LAMP上;理论加实验篇_第5张图片

[root@localhost apache]#make install    ##编译安装

源码编译安装LAMP上;理论加实验篇_第6张图片
8.将启动脚本放到/etc/init.d的目录下,便于service管理

[root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

在这里插入图片描述
9.做一些优化,修改httpd文件,在#!/bin/bash底行加入
#chkconfig:35 85 21 35行级别自动运行 第85个启动 第21个关闭#description: Apache is a World Wide Web server
10.添加名称便于service去识别

[root@localhost init.d]# chkconfig --add httpd 

11.将配置文件建立软链接便于修改

[root@localhost init.d]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf

12.编辑/etc/httpd.conf文件,将监听端口改为本地地址
源码编译安装LAMP上;理论加实验篇_第7张图片
修改域名
在这里插入图片描述
13.将命令建立软链接;并用httpd-t命令验证语法

[root@localhost init.d]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

14.启动服务
源码编译安装LAMP上;理论加实验篇_第8张图片

MySQL的编译安装:

MySQL的概述

  • MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。
  • MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
  • MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

登录及退出MySQL操作环境

连接并登录到MySQL操作环境

mysql -u 用户名[-p]
提示符:mysql>

设置数据库用户的密码

mysqladmin -u root [-p] password 新密码

退出MySQL操作环境

Mysql>exit

安装mysql服务

1.在安装服务前先将服务所需要的包利用xftp工具放到CRT软件中
源码编译安装LAMP上;理论加实验篇_第9张图片
2.安装环境包

[root@localhost mysql]# yum -y install ncurses-devel autoconf cmake   ##终端包;处理shell工具包 ; cmake等同于configure

在这里插入图片描述
3.将mysql软件包进行解压

[root@localhost mysql]# tar zxvf mysql-5.6.26.tar.gz

源码编译安装LAMP上;理论加实验篇_第10张图片
4.进行cmake手动编译安装

[root@localhost mysql-5.6.26]# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \      ##指定安装路径
> -DDEFAULT_CHARSET=utf8 \                     ##字符集设定
> -DDEFAULT_COLLATION=utf8_general_ci \          ##字符集设定
> -DEXTRA_CHARSETS=all \                       ##字符集设定
> -DSYSCONFIDIR=/etc \                         ##配置指定配置文件所在位置
> -DMYSQL_DATADIR=/home/mysql/ \            ##配置数据文件所在位置放在mysql当中
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock    ##配置外界想访问数据库必须读取这个文件

源码编译安装LAMP上;理论加实验篇_第11张图片
5.编译和编译安装

[root@localhost mysql-5.6.26]# make
[root@localhost mysql-5.6.26]# make install

源码编译安装LAMP上;理论加实验篇_第12张图片
6.将配置文件覆盖原有的配置文件

[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? yes
[root@localhost mysql-5.6.26]# cp support-files/mysql.server 
/etc/init.d/mysqld  ##将启动脚本指定到/etc/init.d文件夹中
[root@localhost init.d]# chmod +x mysqld  ##给予执行权限
[root@localhost init.d]# chkconfig --add /etc/init.d/mysqld     ##让service能够管理服务
[root@localhost init.d]# chkconfig --level 35 mysqld on       ##设置开机自启动

7.将命令添加到环境变量当中让其能够声明
[root@localhost init.d]# vim /etc/profile
源码编译安装LAMP上;理论加实验篇_第13张图片

[root@localhost init.d]# source /etc/profile    
[root@localhost init.d]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

8.添加管理mysql的用户,设置属主属组都属于mysql

[root@localhost init.d]# useradd -s /sbin/nologin mysql

在这里插入图片描述

[root@localhost init.d]# chown -R mysql.mysql /usr/local/mysql/    ##设置属主属组都属于mysql

9.配置数据库初始化

[root@localhost scripts]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \       ##指定用户为mysql
> --ldata=/var/lib/mysql \    ##指定数据库的库文件所在位置
> --basedir=/usr/local/mysql \     ##数据库服务文件位置
> --datadir=/home/mysql         ##数据存放位置

10.编辑启动脚本
[root@localhost scripts]# vim /etc/init.d/mysqld
源码编译安装LAMP上;理论加实验篇_第14张图片
11.启动mysqld服务
源码编译安装LAMP上;理论加实验篇_第15张图片
12.设定数据库的管理员用户密码

[root@localhost scripts]# mysqladmin -u root -p password "123456"    ##设置密码为123456

源码编译安装LAMP上;理论加实验篇_第16张图片
底行意思为密码不要设置在控制台上,不安全
13.登录数据库;退出的话使用exit也可以quit退出

[root@localhost scripts]# mysql -u root -p

源码编译安装LAMP上;理论加实验篇_第17张图片

PHP代码源码编译安装

PHP概述

  • PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域
  • PHP支持绝大多数流行的数据库,在数据库层面的操作功能十分强大,而且能够支持Unix,Windows,Linux等多种操作系统

安装PHP

在安装服务前先将服务所需要的包利用xftp工具放到CRT软件中
源码编译安装LAMP上;理论加实验篇_第18张图片

1.先安装一些环境工具:gd库:可以提供图片处理工具 libpng:png扩展图片 libpng-develpng开发 pcre支持正则 libxml2支持xml文件 libjpeg-level:图片处理

[root@localhost scripts]# yum -y install gd libpng libpng-devel pcre pcre-devel libxml2-devel libjpeg-devel

源码编译安装LAMP上;理论加实验篇_第19张图片
2.解压php的工具包,这边是bz2的格式,要用jxvf去解压

[root@localhost php]# tar jxvf php-5.6.11.tar.bz2 

3…/configure配置安装路径

[root@localhost php-5.6.11]# ./configure \
> --prefix=/usr/local/php5 \         ##配置工作目录
> --with-gd \                   ##指定GD库> --with-zlib \                   ##支持数据压缩函数库
> --with-apxs2=/usr/local/httpd/bin/apxs \          ##设置Apache服务提供的apxs模块支持程序的文件位置
> --with-mysql=/usr/local/mysql/ \            ##设置MySQL数据库服务程序的安装位置
> --with-config-file-path=/usr/local/php5 \       ##设置PHP配置文件存放的位置
> --enable-mbstring                       ##启用多字节字符串功能,以便支持中文等代码

源码编译安装LAMP上;理论加实验篇_第20张图片
4.编译和编译安装

[root@localhost php-5.6.11]# make
[root@localhost php-5.6.11]# make install

5.编辑配置文件

[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini  ##移动启动脚本
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/     ##创建命令软链接

6.配置apache可以支持php
[root@localhost php-5.6.11]# vim /etc/httpd.conf
源码编译安装LAMP上;理论加实验篇_第21张图片
7.重启httpd服务,配置PHP首页

[root@localhost php-5.6.11]# service httpd stop
[root@localhost php-5.6.11]# service httpd start

8.源文本删除可以添加东西

[root@localhost php-5.6.11]# cd /usr/local/httpd/htdocs/      
[root@localhost htdocs]# lsindex.html
[root@localhost htdocs]# vim index.html     ##将原本的内容删除,添加底行新的字段

源码编译安装LAMP上;理论加实验篇_第22张图片

[root@localhost htdocs]# mv index.html index.php    ##将文件格式改为php结尾

9.检查PHP是否搭建成功
源码编译安装LAMP上;理论加实验篇_第23张图片

LAMP的构成组件

Linux Apache MysQL PHP/Perl/Python
LAMP的优势

  • 成本低廉
  • 可定制,易于开发
  • 方便易用,安全和稳定

LAMP架构搭建论坛:

在安装服务前先将服务所需要的包利用xftp工具放到CRT软件中
源码编译安装LAMP上;理论加实验篇_第24张图片
1.先用unzip对论坛压缩包进行解压缩

[root@localhost opt]# unzip Discuz_X2.5_SC_UTF8.zip 

解压完成后会生成图片中的目录
在这里插入图片描述
2.将目录递归复制到根目录站点下

[root@localhost opt]# cp -r upload/ /usr/local/httpd/htdocs/bbs

源码编译安装LAMP上;理论加实验篇_第25张图片
3.这是我们需要给./config ./data ./uc_client ./uc_server/data权限

[root@localhost bbs]# chown -R daemon ./config/
[root@localhost bbs]# chown -R daemon ./data/
[root@localhost bbs]# chown -R daemon ./uc_client/
[root@localhost bbs]# chown -R daemon ./uc_server/data/

源码编译安装LAMP上;理论加实验篇_第26张图片
4.这时网页的状态都显示可写
源码编译安装LAMP上;理论加实验篇_第27张图片
5.为他单独创建管理数据库的用户
[root@localhost bbs]# mysql -u root -p ##先进入数据库
源码编译安装LAMP上;理论加实验篇_第28张图片
mysql> grant all on bbs.* to ‘bbsuser’@’%’ identified by ‘123456’;提升权限,指定bbs数据库当中的所有表格,给指定用户,用户可以从任意终端去登陆,使用“123456”密码
源码编译安装LAMP上;理论加实验篇_第29张图片
6. 这时我们就可以去安装论坛了
源码编译安装LAMP上;理论加实验篇_第30张图片
源码编译安装LAMP上;理论加实验篇_第31张图片
源码编译安装LAMP上;理论加实验篇_第32张图片
源码编译安装LAMP上;理论加实验篇_第33张图片
切换后台登录
源码编译安装LAMP上;理论加实验篇_第34张图片

你可能感兴趣的:(企业平台架构,apache,http)