LAMP平台概述

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

LAMP平台的构成组件

在LAMP平台的四个构成组件中,每一个组件都承担着一部分关键应用。经过十几年的发展,各组件间的兼容性得到了不断的完善,协作能力和稳定性也不断增强,可以构建出非常优秀的Web应用系统。各组件的主要作用如下:

linux操作系统: 作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性、兼容性(LAMP组件也支Windows、UNIX等操作系统)。

Apache网站服务器: 作为LAMP架构的前端,是一款功能强大、稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页、图片等文件内容。

MYSQL数据库服务器: 作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息、客户资料、业务数据等都可以存储到 MySQL数据库,其他程序可以通过SQL语句来查询、更改这些信息。

PHP/Perl/Python网页编程语言:作为三种开发动态网页的编程语言,负责解释动态网页文件,并提供web应用程序的开发和运行环境。其中,PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。

LAMP平台应用优势

构成LAMP平台的四个组件,每一个组件都经历了数十年之久的企业应用的考验,各自都是同类软件中的佼佼者,从而成为典型的“黄金搭档”。其主要优势体现在以下几个方面:
● 成本低廉: 构成组件都是开放源代码的软件,可以自由获得和免费使用,在技术上和许可证 方面没有太严格的限制,大大降低了企业的实施成本。
● 可定制: 拥有大量的额外组件和可扩展功能的模块,能够满足大部分企业应用的定制需求, 甚至可以自行开发、添加新的功能。
● 易于开发:基于LAMP平台的动态网站中,页面代码简洁,与HTML标记语言的结合度非常 好,即使是非专业的程序员也能够轻松读懂乃至修改网页代码。
● 方便易用:PHP、Perl等属于解释性语言,开发的各种Web程序不需要编译,方便进行移植 使用。整套的网站项目程序,通常只要复制到网站目录中,就可以直接访问。
● 安全和稳定:得益于开源的优势,大量的程序员在关注并持续改进LAMP平台的各个组件, 发现的问题能够很快得到解决。LAMP架构已经历了数十年的验证,在安全性和稳定性方 面表现得非常优秀。

实验环境

操作系统:CentOS 7
服务器IP地址:192.168.65.173
宿主机IP地址:192.168.65.160
软件包链接:https://pan.baidu.com/s/1dS3e7ORbLC2KkGiyBe06iw
提取码:20cu

实验目标

安装Apache服务器
安装Mysql数据库
安装PHP
搭建Discuz论坛

实验步骤

搭建顺序

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

Apache 简介

Apache Http Server是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在Web服务器领域中长期保持着超过半数的份额。 Apache服务器可以运行在 Linux、UNIX、 Windows 等多种操作系统平台中。

一、安装apache服务

1 .解压各种软件包

tar xf apr-1.6.2.tar.gz -C /opt
tar xf apr-util-1.6.0.tar.gz -C /opt
tar jvxf httpd-2.4.29.tar.bz2 -C /opt
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

2.安装编译环境工具

yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

3 .编译安装

cd /opt/httpd-2.4.29
./configure \
--prefix=/usr/local/httpd \ #指定安装目录
--enable-so \ #启用动态加载模块支持
--enable-rewrite \ #启用网页地址重写功能,实现伪静态
--enable-charset-lite \ #启动字符集支持,以便支持使用各种字符集编码的网页
--enable-cgi #启用CGI脚本程序支持(通用网关接口)
make && make install #编译安装

4.添加系统服务

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #将启动脚本拷贝服务程序目录下
vim /etc/init.d/httpd #修改启动脚本
#chkconfig: 35 85 21 #35级别自动运行 第85个启动 第21个关闭
#description: Apache is a World Wide Web server.

5.修改配置文件

vim /usr/local/httpd/conf/httpd.conf
ServerName www.yun.com:80 #填写完全主机名
Listen 192.168.65.173:80 #监听本地IP

6.优化服务

ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd #优化配置文件路径
ln -s /usr/local/httpd/bin/* /usr/local/bin/ #优化命令路径
chkconfig --add httpd #将httpd加入到service管理器

7.重启服务,关闭防火墙

systemctl stop firewalld.service
setenforce 0
systemct httpd start
netstat -anpt | grep “:80”

企业应用---部署LAMP平台 + Discuz论坛【赠安装包】

8.去网页测试Apache网页
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第1张图片

MySQL简介

MySQL是一个真正的多线程、多用户的SQL数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008年以前, MySQL项目由 MySQL AB公司进行开发、发布和支持,之后历经Sun公司收购 MySQL AB公司, Oracle公司收购Sun公司的过程,目前 MySQL项目由 Oracle公司负责运营和维护。

二、安装MYSQL数据库

1.解压软件包,安装编译环境工具

yum -y install ncurses-devel bison libaio-devel cmake
tar xzvf mysql-5.6.26.tar.gz -C /opt

2.编译安装

cd /opt/mysql-5.6.26
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #软件安装位置
-DDEFAULT_CHARSET=utf8 \ #默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \ #默认字符校验
-DEXTRA_CHARSETS=all \ #额外的编码,请使用all来编译
-DSYSCONFIDIR=/etc \ #数据目录
-DMYSQL_DATADIR=/home/mysql/ \ #指定mysql的运行用户
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
make && make install #编译安装

3.添加系统服务

cp support-files/mysql.server /etc/init.d/mysqld #添加系统服务
chmod 755 /etc/init.d/mysqld #添加执行权限
chkconfig --add /etc/init.d/mysqld #将mysqld添加为系统服务
chkconfig mysqld --level 235 on #
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile #重新读取系统环境变量
useradd -s /sbin/nologin mysql #创建进程用户mysql
chown -R mysql:mysql /usr/local/mysql/ #修改mysql安装目录的所有者,所属组

4.初始化数据库

/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql

5.建立软连接

ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock

6.修改配置文件

cp support-files/my-default.cnf /etc/my.cnf 
vim /etc/init.d/mysqld
basedir=/usr/local/mysql 
datadir=/home/mysql

7.启动服务

systemctl start mysqld
mysqladmin -u root password "abc123" //给数据库root账号设置密码
netstat -anpt | grep 3306

企业应用---部署LAMP平台 + Discuz论坛【赠安装包】

PHP简介

PHP(外文名:PHP: Hypertext Preprocessor,中文名:超文本预处理器)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

三、安装PHP

1.安装编译环境

yum -y install \
gd \
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel

2.解压软件包

tar xjvf php-5.6.11.tar.bz2 -C /opt #解压软件包

3.编译安装

cd /opt/php-5.6.11 #进入编译目录下
./configure \
--prefix=/usr/local/php5 \ #安装目录
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring
make && make install #编译安装

3.创建PHP配置文件

cp php.ini-development /usr/local/php5/php.ini

4.建立软链接

ln -s /usr/local/php5/bin/ /usr/local/bin/ #优化命令路径(软连接)
ln -s /usr/local/php5/sbin/ /usr/local/sbin/

5.修改Apache配置文件

vim /etc/httpd.conf //
约143行检查下面这条语句是否存在,
LoadModule php5_module modules/libphp5.so

企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第2张图片

#约242行添加php首页识别:
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第3张图片
#约348行添加支持PHP后缀:
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第4张图片

6.添加PHP测试内容

vim /usr/local/httpd/htdocs/index.php
phpinfo();
?>

7.重启httpd服务,在网页测试“http://192.168.65.173/index.php”
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第5张图片

Discuz 简介

Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的套通用的社区论坛软件系统。自2001年6月面世以来, Discuz!已拥有15年以上的应用历史和200多万个网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。目前最新版本 DIScuz!X3.2正式版于2015年6月9日发布,首次引入应用中心的开发模式。

Discuz 优势

用户可以在不需要任何编程经验的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可髙度定制的论坛服务。 Discuz!的基础架构采用世界上最流行的Web编程组合PHP+ MySQL实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。

四、Discuz论坛安装

1、创建相关数据库
mysql -uroot -p123 #登录mysql
mysql> create database bbs; #创建一个数据库bbs
mysql> grant all on bbs.* To 'bbsuser'@'%' identified BY 'admin123'; #把bbs数据库里面所有表的权限授予给bbsuser,并设置密码
mysql>flush privileges; #刷新数据库

2.修改站点内容

vim /usr/local/httpd/htdocs/index.php
$link=mysql_connect('192.168.65.173','bbsuser','admin123');
if($link) echo "Success!!";
else echo "Fail!!";
mysql_close();
?>

3.在网页测试连接数据库
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第6张图片

4.解压论坛软件包

mount.cifs //192.168.65.1/ww /abc #挂载共享文件
unzip Discuz_X2.5_SC_UTF8.zip -d /opt #解压软件包到/opt
mkdir -p /usr/local/httpd/htdocs/bbs/
cp -r /opt/upload/ /usr/local/httpd/htdocs/bbs/ #upload复制到站点目录下

5.修改文件属主

cd /usr/local/httpd/htdocs/bbs/
chown -R daemon ./config/
chown -R daemon ./data/
chown -R daemon ./uc_client/
chown -R daemon ./uc_server/data/
vim /usr/local/php5/php.ini
date.timezone = UTC #约927行,将注释去掉,否则使用URL安装会报错

6.安装论坛
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第7张图片
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第8张图片
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第9张图片
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第10张图片
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第11张图片
企业应用---部署LAMP平台 + Discuz论坛【赠安装包】_第12张图片

总结

● LAMP架构组件包括Linux操作系统、Mhe网站服务器、 MySQL数据库
服务器、PHP(或Perl、 Python)网页编程语言。
● htpd服务器的主配置文件是httpdconf,通过ncud配置项可以加载其他配
置文件
● hpd服务支持三种类型的虚拟Web主机,分别是基于域名、基于P地址、
基于端口的虚拟主机。
●安装PHP软件包时,通过-with-apxs2、-with- mysql配置选项分别可指定
httd、 mysql的相关路径。
● 要使httd服务支持PHP网页,应编辑htpd.conf文件,确认加载 libphp5.s0
模块,并添加“php”类型文件的识别
● phpMyAdmin是一个使用PHP语言编写,用来管理 MySQL数据库的Web应
用系统。
● 安装时一定要特别注意版本号,不同版本会出错!