LAMP环境搭建

LAMP环境搭建

1、LAMP是什么?

LAMP是协同工作的一整套系统和相关软件,能够提供动态Web站点服务以及应用开发环境,是目前最为成熟也是比较传统的一种企业网站应用模式。

LAMP 环境搭建指的是在 Linux 操作系统中分别安装 Apache 网页服务器、MySQL 数据库服务器和 PHP 开发服务器,以及一些对应的扩展软件。

在这里插入图片描述

2、为什么需要LAMP?

手动逐个编译安装各个组件,需要输入各种命令,且有可能会中途出错。
对于想要成功搭建 LAMP 建站环境来说,可以节约大量时间和精力。

3、LAMP有什么优点?

LAMP 环境是当前极为流行的搭建动态网站的开源软件系统,拥有良好的稳定性及兼容性。而且随着开源软件的蓬勃发展,越来越多的企业和个人选择在 LAMP 开发平台上搭建自己的网站。

主要体现在以下五个方面:

(1)成本低廉: 开源,可快速获得免费使用;
(2)可定制: 拥有大量的额外组件和扩展功能模块,可以根据需要定制或者自行开发添加新功能;
(3)易于开发: 代码简洁,与HTML语言结合度高,容易修改网页代码;
(4)方便易用: PHP、Perl属于解释性语言,开发的程序不需要编译,可以直接移植使用;
(5)安全和稳定: 开源优势,发现问题能够很快解决。

4、各组件的主要作用:

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

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

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

(中间连接)PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。

5、LAMP环境搭建的前期准备:

(1) 搭建方式:采用源码包方式搭建 LAMP 环境。

我们知道,如果我们安装的是应用服务软件,这个软件是给外网用户访问和使用的,那么应该使用源码包安装,因为源码包安装的软件经过了本机编译,性能更好。

(2) 获取源码包:
软件包说 明下载地址
httpd-2.4.7.tar.gzApache 包http://www.apache.org/
mysql-5.5.23.tar.gzMySQL数据库http://dev.mysql.com/downloads/
php-5.4.25.tar.gzPHP语言http://www.php.net/downloads.php
phpMyAdmin-4.1.4-all-languages.iar.gzWeb方式的MySQL管理工具http://www.phpmyadmin.com/
libxml2_2.9.1.tar.gz用来解析XML文档的函数库http://www.linuxfromscratch.org/blfs/view/svn/general/libxml2.html
libmerypt-2.5.8.tar.gz加密算法扩展库http://prdownloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?use_mirror=peterhost
mhash-0.9.9.9.tar.gz加密算法扩展库http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/
mcrypt-2-6.8-tar.gz加密算法扩展库http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/
zlib-1.2.3.tar.gz数据压缩函数库http://www.zlib.net/
gd-2.0.35.tar.gzPHP处理用形的扩展库https://bitbucket.org/libgd/gd-libgd/downloads
freetype-2.3.5-tar-gz字体引擎库http://download.savannah.gnu.org/releases/freetype/
libpng-1.2.31.tar.gz用于解码.png格式的图片ftp://ftp.simplesystems.org/pub/libpng/png/src/
jpegsrc.v6b.tar.gz用于解码.jpg和.jpeg格式的图片http://www.ijg.org/files/jpegsrc.v6b.tar.gz
apr-1.4.6.tar.gzApache支持镆块http://archive.apache.org/dist/apr/
apr-util-1.4.1.tar.gzApache支持模块http://archive.apache.org/dist/apr/
pcre-8.34.tar.gzApache支持模块,使Apache支持pcre正则表达式规则http://sourceforge.net/projects/pcre/files/pcre/8.34/pcre-8.34.tar.gz/stats/map
ncurses-5.9.tar.gz使应用程序直接控制终端屏幕显示的函数库http://ftp.gnu.org/pub/gnu/ncurses/
memcache-3.0.8.tgzmemcache函数库(客户端)http://pecl.php.net/package/memcache
memcached-1.4.17.tar.gzmemcached服务器端http://memcached.org/
(3) 源码快捷获取:网盘分享

由于自己一个一个的去获取源码比较麻烦且浪费时间,这里博主良心的为大家准备了源码。

在这里插入图片描述

百度连接及提取码:

链接:https://pan.baidu.com/s/1Kc-cUrUJlM9Lk3ZbfYaIrw
提取码:swl0

下载下来后有LAMP搭建的源码包及相关代码;

在这里插入图片描述

(4) 把软件包传送到Linux服务器上:

我们要把下好的软件包从win10上拖到Linux上,也可以利用小工具上传,这里我们直接拖拽更简单;

这里先亮亮图,具体操作在后面的代码;

在这里插入图片描述

在这里插入图片描述

6、LAMP平台搭建:

(1)安装顺序:

Linux系统——Apache服务器——Mysql数据库——PHP环境
(PHP一般放在最后,其他的没有严格要求)

(2)安装Linux系统,可以参考下面这篇博客,只需要把磁盘,处理器内核及内存改下即可;

https://blog.csdn.net/weixin_53060366/article/details/118977419?spm=1001.2014.3001.5502

注意事项:

Linux系统安装时,磁盘要不小于60G,内存大于等于4G,处理器内核最好大于4个。

这里注意:你的虚拟机处理器内核不能大于真机的处理器内核;

真机处理器内核在任务管理器中查看;

在这里插入图片描述

在这里插入图片描述

(3)关闭防火墙和selinux:

[root@localhost ~]#systemctl stop firewalld.service    #关闭防火墙
[root@localhost ~]#setenforce 0    #关闭selinux

在这里插入图片描述

(4)安装Apache服务器软件:

1、上传软件压缩包
[root@localhost ~]#cd /opt   #cd到/opt目录下
[root@localhost opt]#ls
rh
[root@localhost opt]#rm -rf *   #清空/opt目录
#接下来把软件压缩包拖进来
[root@localhost opt]#ls
apr-1.6.2.tar.gz       Discuz_X2.5_SC_UTF8.zip  mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2     php-5.6.11.tar.bz2
2、安装Apache:
[root@localhost opt]#tar -zxf apr-1.6.2.tar.gz    #解压文件
[root@localhost opt]#tar -zxf apr-util-1.6.0.tar.gz 
[root@localhost opt]#tar -jxf httpd-2.4.29.tar.bz2 
[root@localhost opt]#ls
apr-1.6.2         apr-util-1.6.0.tar.gz    httpd-2.4.29.tar.bz2
apr-1.6.2.tar.gz  Discuz_X2.5_SC_UTF8.zip  mysql-5.6.26.tar.gz
apr-util-1.6.0    httpd-2.4.29             php-5.6.11.tar.bz2
[root@localhost opt]#cd httpd-2.4.29/
[root@localhost httpd-2.4.29]#ls
ABOUT_APACHE     buildconf       httpd.dsp       libhttpd.mak   README.cmake
acinclude.m4     CHANGES         httpd.mak       LICENSE        README.platforms
Apache-apr2.dsw  CMakeLists.txt  httpd.spec      Makefile.in    ROADMAP
Apache.dsw       config.layout   include         Makefile.win   server
apache_probes.d  configure       INSTALL         modules        srclib
ap.d             configure.in    InstallBin.dsp  NOTICE         support
build            docs            LAYOUT          NWGNUmakefile  test
BuildAll.dsp     emacs-style     libhttpd.dep    os             VERSIONING
BuildBin.dsp     httpd.dep       libhttpd.dsp    README

#移动并改名apr相关文件并改名
[root@localhost opt]#mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]#mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util  

#安装一下编译器,perl的接口开发包,用于支持网站解析HTML、XML文件
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

在这里插入图片描述

[root@localhost opt]#cd httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

#进行make编译
[root@localhost httpd-2.4.29]#make && make install -j6

#优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
[root@localhost httpd-2.4.29]#ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]#ln -s /usr/local/httpd/bin/* /usr/local/bin/

#便于service管理
[root@localhost httpd-2.4.29]#cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.4.29]#vim /etc/init.d/httpd   #将下面两个注释信息放进去
# chkconfig: 35 85 21  //35级别自动运行  第85个启动 第21个关闭
# description: Apache is a World Wide Web server

[root@localhost httpd-2.4.29]#chkconfig --add httpd    #将httpd加入到SERVICE管理器
[root@localhost httpd-2.4.29]#vim /usr/local/httpd/conf/httpd.conf
Listen 192.168.111.128:80           #第52行
ServerName www.apple.com:80      #域名第197行
#检查语法
[root@localhost httpd-2.4.29]#httpd -t
Syntax OK
[root@localhost httpd-2.4.29]#service httpd start   #开启httpd服务
[root@localhost httpd-2.4.29]#netstat -anpt | grep 80   #查看80端口
tcp        0      0 192.168.111.128:80      0.0.0.0:*               LISTEN      84221/httpd    

测试一下,看看Apache服务是否安装成功:

在这里插入图片描述

上面的文字还可以修改,配置文件在 /usr/local/httpd/htdocs/ 下

#cd到修改HTML页面的文件
[root@localhost srclib]#cd /usr/local/httpd/htdocs/
[root@localhost htdocs]#ls
index.html
#下面HTML最好不要写中文,会乱码
[root@localhost htdocs]#vim index.html 
<html><body><h1>good good study,day day up!</h1></body></html>

在这里插入图片描述

(5)安装MySQL服务

提供持久化存储

#安装相应的软件包
[root@localhost htdocs]#yum install -y ncurses-devel autoconf cmake
#cd 到/opt下解MySQL压缩包
[root@localhost htdocs]#cd /opt
#解压数据库相关包
[root@localhost opt]#tar -zxf mysql-5.6.26.tar.gz 
[root@localhost opt]#ls
apr-1.6.2.tar.gz         httpd-2.4.29          mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz    httpd-2.4.29.tar.bz2  php-5.6.11.tar.bz2
Discuz_X2.5_SC_UTF8.zip  mysql-5.6.26

[root@localhost opt]#cd mysql-5.6.26/
[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/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock

[root@localhost mysql-5.6.26]#make && make install -j6
... 这里要经过漫长的等待

[root@localhost mysql-5.6.26]#cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@localhost mysql-5.6.26]#cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.6.26]#chmod 755 /etc/init.d/mysqld
[root@localhost mysql-5.6.26]#chkconfig --add /etc/init.d/mysqld
[root@localhost mysql-5.6.26]#chkconfig  mysqld --level 35 on

#设置环境变量,申明/宣告mysql命令便于系统识别
[root@localhost mysql-5.6.26]#echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.6.26]#
[root@localhost mysql-5.6.26]#source /etc/profile
[root@localhost mysql-5.6.26]#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

#创建普通用户管理mysql
[root@localhost mysql-5.6.26]#useradd -s /sbin/nologin mysql
#更改属主/和所属组
[root@localhost mysql-5.6.26]#chown -R mysql:mysql /usr/local/mysql/

#初始化数据库
[root@localhost mysql-5.6.26]#/usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \
> --ldata=/var/lib/mysql \
> --basedir=/usr/local/mysql \
> --datadir=/home/mysql
[root@localhost mysql-5.6.26]#vim /etc/init.d/mysqld
#46-47行
basedir=/usr/local/mysql     
datadir=/home/mysql

[root@localhost mysql-5.6.26]#service mysqld start
Starting MySQL.. SUCCESS! 
[root@localhost mysql-5.6.26]#netstat -anpt | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      99772/mysqld 

#
[root@localhost mysql-5.6.26]#mysqladmin -u root -p password "root"
#这里回车即可

(6)安装PHP服务:

php 处理动态请求,在此处他是一个后台的代码程序,不是一个服务(所以不需要启动脚本)

#cd 到/opt目录下
[root@localhost mysql-5.6.26]#cd /opt
#
[root@localhost opt]#yum -y install \
> gd \
> libpng \
> libpng-devel \
> pcre \
> pcre-devel \
> libxml2-devel \
> libjpeg-devel
#解压相关文件
[root@localhost opt]#tar -jxf php-5.6.11.tar.bz2 
[root@localhost opt]#ls
apr-1.6.2.tar.gz         httpd-2.4.29          mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz    httpd-2.4.29.tar.bz2  php-5.6.11
Discuz_X2.5_SC_UTF8.zip  mysql-5.6.26          php-5.6.11.tar.bz2

[root@localhost opt]#cd php-5.6.11/
[root@localhost 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 

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

[root@localhost php-5.6.11]#cp php.ini-development /usr/local/php5/php.ini

#优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
[root@localhost php-5.6.11]#ln -s /usr/local/php5/bin/* /usr/local/bin/
#修改Apache配置文件让Apache支持PHP
[root@localhost php-5.6.11]#vim /etc/httpd.conf
#添加index.php
255 <IfModule dir_module>
256     DirectoryIndex index.html index.php
257 </IfModule>
#在393行下方插入一下内容,让Apache可以支持.php的网页文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

[root@localhost php-5.6.11]#vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
#重启服务
[root@localhost php-5.6.11]#service httpd stop
[root@localhost php-5.6.11]#service httpd start

接下来在网页测试:http://192.168.111.128/index.php

在这里插入图片描述

(7)安装论坛:

#进入数据库,创建一个数据库
[root@localhost php-5.6.11]#mysql -u root -p
Enter password: 
mysql> CREATE DATABASE swl;   #创建数据库swl
Query OK, 1 row affected (0.00 sec)

mysql> GRANT all ON swl.* TO 'swluser'@'%' IDENTIFIED BY '1234';   #把swl数据库里面所有表的权限授予给swluser,并设置密码
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;    #刷新数据库
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;   #查看数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| swl                |
| test               |
+--------------------+
5 rows in set (0.00 sec)
mysql> quit   #退出
Bye

[root@localhost mysql-5.6.26]#cd /opt
#解压相关文件
[root@localhost opt]#unzip Discuz_X2.5_SC_UTF8.zip -d /opt/dis
[root@localhost opt]#cd dis
[root@localhost dis]#cp -r upload/ /usr/local/httpd/htdocs/swl
[root@localhost dis]#cd /usr/local/httpd/htdocs/swl

这时候我们去网页看看:http://192.168.111.128/swl

在这里插入图片描述

在这里插入图片描述

因为swl目录下的文件都是 root属主,root所属组,所以上面显示红叉叉。

这里我们要改下文件属主,如下所示:

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

到这里,LAMP实验成功完成,有不会的小伙伴可以多看几遍哦,耐心做实验,才能体会其中的乐趣。

在这里插入图片描述

总结:

1、实验要理清思路,按照步骤一步一步走,耐心仔细,理解每一步的作用,相信你一定有超大的收获。

2、注意实验中的易错点,像做软连接,改文件内容等,一定要细心仔细,不可马虎。

3、最重要的还是自己动手做实验,光看看收获不大,只有自己尝试了才能体会其中的快乐,这样记忆也深刻。

4、好好学习,好好生活。。。come on!

靓仔,喜欢的话,别忘点赞评论哦!

在这里插入图片描述

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值