LAMP(Linux+Apache+MySQL+PHP)基础配置、搭建

LAMP的简要介绍
web网站平台-LAMP的搭建方式
Linux+Apache+MySQL+PHP
Linux-CentOS7.9
Apache-httpd-2.4.28:实现网页共享传输
MySQL5.7:实现数据存储(数据库)
PHP7:实现页面解析的解析器

准备工作

本配置适用于Centos7.9

1.关闭防火墙,关闭selinux

#关闭防火墙和永久关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

#临时把selinux改成宽容模式和永久关闭selinux

setenforce 0
vim /etc/selinux/config

将 SELINUX=enforcing 修改为 SELINUX=disabled
在这里插入图片描述

2.使用SFTP上传所需的安装包

使用SFTP软件把所需的安装包放入/opt/LAMP
先创建一个

mkdir -pv /opt/lamp
ll /opt/lamp/

在这里插入图片描述

3.为主机配置IP地址

cat /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述

确认主机ip

ip -4 a

在这里插入图片描述

4.配置YUM源

配置阿里源

mount /dev/cdrom /media
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache

配置epel软件源

yum install -y epel-release
yum repolist

在这里插入图片描述**

5.查看是否开启服务号和资源内存**

确认80|3306|443端口对应的进程是否存在,若存在对应的服务,则正常关闭该服务,并将该服务对应的开机自启动也一并关闭

ss -tulanp | grep -E "80|443|3306"

在这里插入图片描述
ps aux | grep 进程名称
确认服务器资源是否够用

free -g
free -m

在这里插入图片描述

df -Th

在这里插入图片描述

lscpu#(建议2核心往上)

在这里插入图片描述

6.安装编译环境

yum -y install gcc* make* openssl-devel 

实际企业级环境,千万不要gcc*,一般安装gcc,gcc-c++足够了。

yum -y install gcc gcc-c++ make openssl-devel

安装Apache

安装编译所需要的信赖软件包

yum -y install apr apr-util apr-util-devel pcre pcre-devel apr-devel apr-util-devel

apr:Apache可移植运行库。
pcre:perl语言兼容正则表达式,是一个用C语言编写的正则表达式函数库。

软件包在这个里面下载

把文件放到这里
mkdir /opt/lamp/
!!!软件包下载请点击这里!!!

安装Apache

进入软件包放入的位置/opt/lamp下

cd /opt/lamp
tar xvfz httpd-2.4.28.tar.gz -C /usr/src/
cd /usr/src/httpd-2.4.28/

./configure --prefix=/usr/local/apache2428 \
--enable-so \
--enable-rewrite \
--enable-ssl \
--with-ssl=/usr/local/ssl \
--with-mpm=prefork ; 

#–prefix 指定安装路径
#–enable-so 让 apache 核心装载 DSO(动态共享目标)
#–enable-rewrite 启用重写功能
#–enable-modules 将模块编译到 apache 中
#–enable-ssl 打开 ssl 协议
#–with-mpm 指定运行模型
在这里插入图片描述

make -j`nporc`&& make install ; echo $?

编译安装后的的Apche的服务路径

ll  /usr/local/apache2428/

在这里插入图片描述

安装OpenSSL

进入软件包放入的位置/opt/lamp下

cd /opt/lamp
1.解压到/usr/src目录
tar xvfz openssl-1.0.2m.tar.gz -C /usr/src/
2. 配置 编译 安装
cd /usr/src/openssl-1.0.2m/

./config --prefix=/usr/local/ssl --shared ; echo $?
make && make install ; echo $?

编译安装后的OpenSSL的服务路径

ll /usr/local/ssl

在这里插入图片描述

–shared生成动态链接库
OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份

3.配置启动脚本
cp -av /usr/local/apache2428/bin/apachectl  /etc/init.d/httpd

//复制apachectl脚本

vim /etc/init.d/httpd
#!/bin/sh
#chkconfig:35 85 21
#description:apache!


在这里插入图片描述

35(运行级别) 85(系统开机时服务启动的顺序) 21(系统关机时服务关闭的顺序)

chkconfig --add httpd #将httpd添加为系统服务
chkconfig --list httpd #查看httpd服务的自启动状态
systemctl start httpd.service #启动httpd服务

确认进程指向的路径,必须是编译安装的路径才可以!!!

注:编译安装成功后
安装在:/usr/local/apache2428/ 目录下
配置文件:/usr/local/apache2428/conf/httpd.conf
启动命令:/usr/local/apache2428/bin/apachectl
默认网站家目录:/usr/local/apache2428/htdcos

浏览器
输入自己服务器的IP地址
在这里插入图片描述

安装Mysql5.7

二进制,开箱就可以用
解压后即可直接使用.[二进制主程序+配置文件]
注入:Mysql5.7安装目录:/usr/local/mysql,数据库存储目录:/data/mysql,安装包位置:/usr/src

1.解压包到/usr/src/目录

cd /opt/lamp
tar xvfz mysql-5.7.32-el7-x86_64.tar.gz -C /usr/src

2.移动并修改文件名

cd /usr/src/ 
mv -v mysql-5.7.32-el7-x86_64/ /usr/local/mysql
ll /usr/local/mysql/

在这里插入图片描述

3.创建数据库存储目录

cd
mkdir -pv /data/mysql

4.新建mysql用户、组,指定mysql账户宿主目录

useradd -r -s /sbin/nologin -d /usr/local/mysql/ mysql
id mysql
grep mysql /etc/passwd

在这里插入图片描述

5.改变/usr/local/mysql属主和属组为mysql /data/mysql 属主为mysql

chown -R mysql:mysql /usr/local/mysql/ 
ll /usr/local/mysql

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

chown -R mysql /data/mysql 
ll /usr/local/mysql

6.配置参数

cd /usr/local/mysql/
./bin/mysqld --initialize \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/data/mysql; echo $?

在这里插入图片描述

临时密码:cE_bxk02oZ_B (这里是我的临时密码要换成你自己的!!!)
//initialize初始化 basedir 安装目录 /data/mysql 数据库存储目录
MySQL数据库初始化成功的标志

ls -lhrt /data/mysql/

在这里插入图片描述

7.修改系统配置文件

1)将my.cnf另存到/etc目录
\cp -av /opt/lamp/my.cnf /etc/
2)复制改名脚本控制程序
cd /usr/local/mysql/support-files/ 
cp mysql.server /etc/init.d/mysql 
3)编辑修改脚本控制程序,指定程序运行命令和数据库存储目录
vim /etc/init.d/mysql 
##第46行补充
basedir=/usr/local/mysql 
datadir=/data/mysql 
##第46行补充

在这里插入图片描述

8.启动mysql,验证

chmod 755 /etc/init.d/mysql #修改控制脚本执行权限 
chkconfig --add mysql  #添加服务 
chkconfig --level 345 mysql on  #设置启动级别
systemctl start mysql  #启动服务 
ps axu | grep mysqld

在这里插入图片描述

ss -tulanp | grep mysqld

在这里插入图片描述

(使用上面的临时密码cE_bxk02oZ_B)要改成你自己的!!!!
#进入数据库

 /usr/local/mysql/bin/mysql -uroot -p'cE_bxk02oZ_B'

#修改密码为root

 set password=password('root');
#退出!!!重新登录
exit;
/usr/local/mysql/bin/mysql -uroot -p'root'

安装PHP

1、安装能够直接安装的依赖包

systemd-devel :systemd 开发邮件列表
Libxml2:是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的
免费开源软件。
如果你安装基于libxml2开发的软件,那么你只需要安装libxml2就可以了,如果你需要编译使用了
libxml2的软件,那就需要安装libxml2-devel
sqlite-devel:用于 sqlite3 可嵌入 SQL 数据库引擎的公共领域开发工具
libcurl:一个免费开源的,客户端url传输库
libpng:多种应用程序使用解析PNG图像格式的库

yum install -y systemd-devel libxml2-devel sqlite-devel libcurl-devel libpng-devel 

2、安装需要下载的依赖包

cd /opt/lamp
rpm -ivh oniguruma-6.8.2-1.el7.x86_64.rpm
rpm -ivh oniguruma-devel-6.8.2-1.el7.x86_64.rpm

按照顺序下载
在这里插入图片描述

(主要:oniguruma是一个处理正则表达式的库)
新建一个pkgconfig的目录

mkdir -pv /usr/local/lib/pkgconfig/

(pkgconfig是一个帮助编译器查找库文件位置和版本的工具。很多新编译的软件都会把配置文件放到这里)
建立软链接

ln -sv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig/

(这一步,默认会去/usr/local/lib/pkgconfig/里找依赖库,是为了让系统直到放在/usr/local/ssl/里的新版OpenSSL,编译是会报错OpenSSL not found)

创建OPENSSL链接

vim ~/.bash_profile
#文本添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH

在这里插入图片描述

编辑添加后,让其立即生效

source ~/.bash_profile 

查看库,模块,管理列表

pkg-config --list-all

在这里插入图片描述

3、安装php-7.4.16 ,配置、编译、安装

先安装bzip2的高效的文件压缩和解压缩工具

yum install bzip2 -y

编译,安装

cd /opt/lamp
tar xvjf php-7.4.16.tar.bz2 -C /usr/src/
cd /usr/src/php-7.4.16
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-mysqlnd \
--with-pdo-mysql \
--with-mysqli \
--with-openssl-dir=/usr/local/ssl \
--with-openssl \
--enable-gd \
--with-zlib-dir \
--with-curl \
--with-pear \
--enable-inline-optimization \
--enable-soap \
--enable-sockets \
--enable-mbstring \
--enable-fpm \
--with-fpm-user=mysql \
--with-fpm-group=mysql \
--with-fpm-systemd \
--with-apxs2=/usr/local/apache2428/bin/apxs ;

统计编译和安装时长
在这里插入图片描述

time make -j `nproc` && make install

在这里插入图片描述

配置php和apache

目的:使用apache支持PHP页面

1.复制php配置文件

cd /usr/src/php-7.4.16/
ll php.ini-production 
cp php.ini-development /usr/local/php/etc/php-ini

2.编辑apache配置文件

编辑/usr/local/apache2428/conf/httpd.conf ,添加PHP首页

vim /usr/local/apache2428/conf/httpd.conf
AddType application/x-httpd-php .php 
AddType application/x-httpd-php-source .phps 
#(第391行添加)

在这里插入图片描述

#AddType 指令 作用:在给定的文件扩展名与特定的内容类型之间建立映射 (让apache支持 php文件的解释)

index.php
#(第255行添加PHP首页)

在这里插入图片描述

3.停止并重启服务

systemctl stop httpd.service
systemctl start httpd.service

测试页面

1.编辑首页并测试

cat > /usr/local/apache2428/htdocs/index.php<<'EOF'
<?php
	echo "Hello World";
?>
EOF
cat /usr/local/apache2428/htdocs/index.php

在这里插入图片描述

浏览器里输入:10.16.6.129/index.php
在这里插入图片描述

cat > /usr/local/apache2428/htdocs/info.php<<'EOF'
<?php
	phpinfo();
?>
EOF
cat /usr/local/apache2428/htdocs/info.php

在这里插入图片描述

浏览器里输入:10.16.6.129/info.php
在这里插入图片描述

2.测试数据库连接的账户和密码

vim /usr/local/apache2428/htdocs/linkdb.php
<?php
	$link = mysqli_connect(
	'localhost',
	'root',
	'root',
	'mysql');
		if($link){
		printf("Congratulations!");
	}
?>

cat  /usr/local/apache2428/htdocs/linkdb.php

在这里插入图片描述

浏览器里输入:10.16.6.129/linkdb.php
在这里插入图片描述

测试PHP以及PHP连接MySQL的核心要素
如果上述都OK,说明
①Apache可以解析php结尾的文件,Apache支持动态脚本
②打印输出了PHP的N多环境变量,方便后期排错
③Apache连接MySQL的驱动,比如mysql是okde ,PHP可以基于此启动连接MySQL
④MySQL授权是ok的,PHP可以通过权限的账号和密码连接到MySQL示例的MySQL数据库

PhpMyAdmin安装

下载并解压 PhpMyAdmin,将包复制到网站根目录下,并重命名为 phpmyadmin 文件夹

yum -y install unzip
cd /opt/lamp/
unzip phpMyAdmin-5.1.0-all-languages.zip
mv -v phpMyAdmin-5.1.0-all-languages /usr/local/apache2428/htdocs/phMyAdmin
ls -lhrt /usr/local/apache2428/htdocs/phpMyAdmin

1.切换到openssl扩展目录

cd /usr/src/php-7.4.16/ext/openssl/

在这里插入图片描述

2.使用phpize对php进行添加扩展

mv config0.m4 config.m4

#先下载这个autoconf的编译工具包

yum install autoconf -y
/usr/local/php/bin/phpize

在这里插入图片描述

3.编译安装

./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config

在这里插入图片描述

make -j `nproc` && make install ; echo $?

在这里插入图片描述

 ls -lhrt /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/

在这里插入图片描述

(命令是用来查看 PHP 扩展目录下的文件列表,目的是确认 openssl.so 文件是否已经编译安装成功)

4.配置php.ini

安装完成后,会返回一个.so文件(openssl.so)的目录。在此目录下把openssl.so 文件拷贝到你在php.ini 中指定的 extension_dir 下(在php.ini文件中查找:extension_dir =)
编辑php.ini文件,在文件最后添加 extension=openssl.so ,然后重启Apache
命令:

cd /usr/local/php/etc/
ls

在这里插入图片描述

vim php-ini
extension=openssl.so

在这里插入图片描述

cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902
ls -lhrt

在这里插入图片描述

(把编译好的 openssl.so 文件复制到了 PHP 的配置文件目录 /usr/local/php/etc/)

cp -av openssl.so /usr/local/php/etc/
systemctl restart httpd.service

登录测试

`
10.16.6.129/phMyAdmin/

在这里插入图片描述

登录用户:root 登录密码:root
在这里插入图片描述

更多推荐