源码安装LAMP,并搭建blog博客论坛

一、LAMP源码构建

1.项目背景

初创公司,随着业务不断增长,用户基数越来越大,为更好满足用户体验,开发人员提一个工单过来,需要运维人员给开发人员部署一套预发布环境(和生产环境保持一致),能够保证开发人员高效的进行预发布测试等工作。

为企业内部的开发人员,部署一套“预发布系统”,要求其环境与线上环境一模一样。

由于项目是基于PHP + MySQL进行开发设计的,所以我们需要选配环境。

LAMP = Linux + Apache + MySQL + PHP

LNMP = Linux + Nginx + MySQL + PHP

经过开发人员的沟通确认 => LAMP作为预发布环境!

在这里插入图片描述

2.任务要求

  • 源码部署LAMP环境,和生产保持一致
  • 静态资源文件同步生产环境(生产发生改变立马同步到预发布平台)

3.环境准备

系统环境:CentOS7.6

软件环境:AMP(Apache、MySQL以及PHP)

Apache——>2.4.37(2.2与2.4)
MySQL——>5.6.31(5.5、5.6与5.7)
PHP——>7.2.17(5.2、5.4、5.6、7.0、7.1、7.2)

一定要和开发人员沟通好环境,即软件的版本信息

否则会出现,环境部署好了,但是系统报错的情况

4.系统环境

编号主机名称IP地址备注信息
1web.ceshi.cn192.168.116.113LAMP预发布环境

① 更改主机名称、配置IP地址(静态IP、更改UUID编号、关闭NetworkManager)

② 关闭防火墙、SELinux

③ 配置YUM源(有网配公网,没网配光盘或自建YUM源)

5.依赖软件安装

yum install cmake pcre-devel ncurses-devel openssl-devel libcurl-devel

6、AMP软件安装注意事项

在这里插入图片描述

编译安装顺序:

Linux+Apache(2.4)+MySQL(5.6.31)+PHP(7.2.17)

Apache——>MySQL——>PHP 或者  MySQL——>Apache——>PHP

二、编译安装MySQL软件

1、安装需求

软件版本安装目录数据目录端口
mysql-5.6.31/usr/local/mysql/usr/local/mysql/data3306

2、MySQL安装详解

第一步:创建一个mysql系统账号(没有这个账号mysql无法运行)

useradd -r -s /sbin/nologin mysql

-r: 创建系统账号
-s:设置账号是否可登录

第二部:对软件进行解压

tar -zxf mysql-5.6.31.tar.gz
cd mysql-5.6.31

mysql-5.6.31.tar.gz 是提前下载好的MySQL源码包

第三步:使用cmake配置MySQL的安装向导

在CentOS 7中配置MySQL时,cmake.sh 是一个脚本文件,通常用于执行 CMake 工具来生成 Makefile。CMake 是一个跨平台的开源工具,用于自动化地配置和生成编译系统的软件。在MySQL的编译和安装过程中,使用CMake是非常常见的。

具体来说,cmake.sh 脚本的作用是通过调用 CMake 来配置 MySQL 的编译环境,生成适合当前系统的 Makefile,并生成编译所需的配置文件。这个脚本通常包含了设置编译选项、路径和依赖项的指令,以确保 MySQL 能够在目标系统上顺利编译和安装。

在安装 MySQL 时,你会下载 MySQL 的源代码,解压后进入源码目录,然后运行 cmake.sh 脚本来初始化编译环境。这个过程会为你提供一个配置好的环境,以便后续进行编译和安装操作。

总之,cmake.sh 脚本在配置 MySQL 编译环境时起到了重要的作用,它通过调用 CMake 工具来自动化配置编译过程,使得编译和安装 MySQL 变得更加高效和便捷

参数说明:
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \			安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \				数据目录
-DENABLED_LOCAL_INFILE=1 \							开启加载外部文件功能;1开启,0关闭
-DWITH_INNOBASE_STORAGE_ENGINE=1 \					将InnoDB存储引擎静态编译到服务器
-DMYSQL_TCP_PORT=3306 \								端口
-DDEFAULT_CHARSET=utf8mb4 \							字符集
-DDEFAULT_COLLATION=utf8_general_ci \				字符校验规则
-DWITH_EXTRA_CHARSETS=all \							扩展字符集
-DMYSQL_USER=mysql									用户身份mysql
 cd mysql-5.6.31		//进入目录
 
 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_USER=mysql
					//配置各种参数
make && make install		//编译并安装

在这里插入图片描述

第四步:编译安装(时间较长,二十分钟左右)

make && make install

在这里插入图片描述
第五步:更改目录权限以及初始化数据库

chown -R mysql.mysql /usr/local/mysql

 cd /usr/local/mysql

删除/etc/my.cnf文件,如果不删除此文件,会导致初始化失败
 rm -f /etc/my.cnf

初始化就是给mysql数据库一些初始化的数据(如账号、密码、数据文件,ll data)
 ./scripts/mysql_install_db --user=mysql

 ll data
这个目录如果产生了一个mysql的文件夹就代表初始化成功了

第六步:把mysql的启动脚本copy到/etc/init.d目录下,起一个名称叫做mysql

 cp support-files/mysql.server /etc/init.d/mysql
 service mysql start

第七步:设置密码

 cd /usr/local/mysql
 bin/mysqladmin -u root password '1234'

第八步:把/usr/local/mysql/bin目录添加到环境变量

 echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
 source /etc/profile		//立即生效

 mysql -u root -p 
Enter password:1234			//在这里输入密码
mysql> exit;				//退出

三、编译安装Apache软件

1.源码安装依赖软件apr

cd 			//到软件包位置
安装apr软件:
tar jxf apr-1.5.2.tar.bz2
cd apr-1.5.2
./configure && make && make install

安装apr-util软件:
tar -jxf apr-util-1.5.4.tar.bz2
cd apr-util-1.5.4/
./configure --with-apr=/usr/local/apr/bin/apr-1-config    指定软件apr的路径
make && make install

2、编译安装Apache软件

第一步:解压软件

 yum remove httpd -y		//卸载之前的apache服务,之前没有安装可以不用执行

 tar xf httpd-2.4.37.tar.bz2		//解压
 cd httpd-2.4.37					//进入

第二步:编写apache.sh脚本进行软件安装

 vim apache.sh
./configure \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite \
--with-pcre \
--enable-ssl \
--with-mpm=prefork \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr/bin/apu-1-config

配置参数说明:

apache默认啥功能都没有,必须通过模块的进行添加!

 ./configure 
--enable-modules=all 			 	加载所有支持模块
--enable-mods-shared=all  		 	共享方式加载大部分常用的模块
--enable-so 				      	启动动态模块加载功能
--enable-rewrite  					启用url地址重写功能
--enable-ssl 							编译ssl模块,支持https
--with-pcre 							支持正则表达式
--with-apr=/usr/local/apr/bin/apr-1-config 	指定依赖软件apr路径
--with-apr-util=/usr/local/apr/bin/apu-1-config
--with-mpm=prefork    插入式并行处理模块,称为多路处理模块,Prefork 是类UNIX平台上默认的MPM
(1)prefork
    多进程模型,每个进程响应一个请求
(2)worker
    多进程多线程模型,每个线程处理一个用户请求 
(3)event(最优)
    事件驱动模型,多进程模型,每个进程响应多个请求

第三步:给予x权限,然后make && make install

 chmod +x apache.sh
 ./apache.sh
 
 make && make install

第四步:运行Apache软件

 cd /usr/local/apache2/
 bin/apachectl

//这里可以设置一个软连接或者环境变量二选一,使用apache命令时可以在任意位置使用
ln -s /usr/local/apache2/bin/*  /usr/local/bin	//设置软连接
 echo 'export PATH=$PATH:/usr/local/apache2/bin' >> /etc/profile	//写入环境变量
 source /etc/profile		//立即生效		
 bin/apachectl				//运行apache

在这里插入图片描述

这个错误消息是 Apache HTTP 服务器在启动时发出的一个警告,而不是一个致命错误。它告诉你 Apache 无法可靠地确定服务器的完全限定域名(FQDN),因此它使用了 IPv6 地址 fe80::20c:29ff:fe20:4a8e 作为回退。

要消除这个警告,你需要在 Apache 的配置文件中设置 ServerName 指令。这通常是在 httpd.conf 文件或者某个包含在 httpd.conf 中的其他配置文件中完成的。

在这里插入图片描述
重启

/usr/local/apache2/bin/apachectl  restart

四、源码安装PHP软件

1、安装说明

第一步:对软件进行解压缩

找到php安装包
cd

 tar xf php-7.2.17.tar.xz  
或
  tar -Jxf ./php-7.2.17.tar.xz
 cd php-7.2.17

第二步:对php源码进行一个配置

 vim php.sh
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysqli \
--with-pdo-mysql \
--with-zlib \
--with-curl \
--enable-zip \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-opcache \
--enable-mbstring \
--enable-mbregex \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-calendar \
--enable-bcmath

 chmod +x php.sh
 ./php.sh

配置说明:

--with-apxs2=/usr/local/apache2/bin/apxs
指定apxs路径,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具
--with-mysql		php7中已被废弃
--with-mysqli	
--with-pdo-mysql
以上三个是php的扩展,用于连接mysql数据库的
--with-iconv-dir
--with-freetype-dir
--with-jpeg-dir
--with-png-dir
--with-gd
--with-zlib
--with-libxml-dir
这些都是在启用对某种文件的支持
--with-curl 和 --with-curlwrappers
用于支持 curl 函数,此函数允许你用不同的协议连接和沟通不同的服务器
--with-openssl,--with-mhash,--with-mcrypt
这都是和加密有关的参数,启用它们是为了让php可以更好的支持各种加密。
--enable-bcmath							高精度数学运算组件。
--enable-shmop和 --enable-sysvsem		
使得你的PHP系统可以处理相关的IPC函数.IPC是一个Unix标准通讯机制,它提供了使得在同一台主机不同进程之间可以互相通讯的方法。
--enable-inline-optimization		栈堆指针和优化线程。
--enable-pcntl							多线程优化。

with-apxs2		调用apache加载模块支持PHP
gd 	 			画图库
libiconv 		字符变换转换
libmcrypt 		字符加密
mcrypt  			字符加密
mhash   			哈希运算

第三步:解决PHP依赖关系
在这里插入图片描述
出现以上提示,代表php与其他软件存在依赖关系:

 yum install libxml2-devel -y

除了以上这个依赖以外,还存在其他依赖:

 yum install libjpeg-devel libpng-devel freetype-devel -y

第四步:编译+安装

./php.sh
 make && make install

第五步:检查php有没有安装成功

ls /usr/local/apache2/modules/libphp7.so

2、配置Apache与PHP

第一步:打开Apache的配置文件

vim /usr/local/apache2/conf/httpd.conf
209行 ServerName localhost:80

第二步:配置Apache语言支持(支持中文)

159行 LoadModule negotiation_module modules/mod_negotiation.so 此模块打开注释
482行 Include conf/extra/httpd-languages.conf  打开此选项,扩展配置文件就生效了

第三步:开启对PHP的支持

166行 LoadModule php7_module modules/libphp7.so
AddHandler php7-script .php			//添加
AddType text/html .php				//添加

在这里插入图片描述

第四步:添加index.php默认首页

//默认主页加上index.php,并放在index.html前,支持php的首页文件
<IfModule dir_module>
268行    DirectoryIndex index.php index.html
</IfModule>

第五步:让Apache优先支持中文

vim /usr/local/apache2/conf/extra/httpd-languages.conf
19行 DefaultLanguage zh-CN	  打开注释,默认语言集改为中文
78行 LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-TW		语言集优先集,把zh-CN 写到前面

在这里插入图片描述

设置完成后,重启Apache软件

 cd /usr/local/apache2
 bin/apachectl -k restart
 bin/apachectl -k restart

备注:如果还不行,直接pkill httpd,然后bin/apachectl启动

3、编写php测试脚本

cd /usr/local/apache2/htdocs				   htdocs就是apache的默认项目目录
 rm -f index.html
 vim index.php
<?php
        phpinfo();
?>
 cd /usr/local/apache2/
 bin/apachectl -k restart

在这里插入图片描述

到此,LAMP源码编译安装就结束了!

五、使用LAMP部署Web项目

1、下载wordpress博客系统

wordpress-4.7.3-zh_CN.tar.gz

2、解压

tar zxf wordpress-4.7.3-zh_CN.tar.gz

3、创建一个项目目录

 mkdir /www
 mv wordpress /www/blog		//剪切到www目录下,改名为blog

 chown -R daemon.daemon /www/blog/		//更改属主与属主

4、配置虚拟主机(一台服务器多个项目)

正常情况下:/usr/local/apache2/htdocs目录下(相当于/var/www/html)

一台服务器多个项目:使用虚拟主机

第一步:在httpd.conf配置文件中开启虚拟主机的配置文件

vim /usr/local/apache2/conf/httpd.conf
493行 Include conf/extra/httpd-vhosts.conf		//打开加载虚拟主机配置文件

第二步:在/usr/local/apache2/conf/extra/httpd-vhosts.conf定义项目

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

在这里插入图片描述
第三步:重启Apache

 cd /usr/local/apache2
 bin/apachectl -k stop
 bin/apachectl

5、在数据库中创建一个blog数据库

mysql -u root -p			//登录数据库
 Enter password:123
 mysql> create database blog default charset utf8;
//↑创建数据库,字符格式为utf8
 mysql> exit

6、在Windows中配置本地DNS

运行(Windows + R) => drivers + 回车:C:\Windows\System32\drivers\etc\hosts

在这里插入图片描述
进入etc目录
在这里插入图片描述
Windows的DNS文件 => 可以劫持域名,自定义域名指向:

注意:以记事本方式打开,打开的时候,以管理员身份运行记事本
在这里插入图片描述

7、使用Google浏览器或Firefox浏览器安装博客

在这里插入图片描述
第一次访问:报403 Forbidden

原因:默认情况下,httpd不允许其他主机访问项目目录

解决方案:

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

在这里插入图片描述
重启apache

 cd /usr/local/apache2
 bin/apachectl -k stop
 bin/apachectl

配置数据库:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 12
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值