环境规划

确认防火墙关闭

sestatus
systemctl status firewalld
iptables -vnL

在这里插入图片描述

确认ip

ip -4 a

在这里插入图片描述

确认端口(80/3306/443对应的进程是否存在)

ss -tulanp |grep '80|443|3306'

在这里插入图片描述
如果存在对应服务,则正常关闭该服务,并将该服务对应的开机自启一并关闭

确认服务器资源是否充足

free -g
free -m 
lscpu
df -Th

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

新建目录并将软件包上传服务器

mkdir -pv /opt/lamp

所需所有的软件包已上传,清单如下在这里插入图片描述

安装开发工具

在这里插入图片描述

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

【安装apache】

安装编译所需的依赖包

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

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

安装OpenSSL

解压到/usr/src目录

tar xvfz openssl-1.0.2m.tar.gz -C /usr/src/

配置 编译 安装

cd /usr/src/openssl-1.0.2m/
./config --prefix=/usr/local/ssl --shared ; echo $?
make && make install ; echo $?

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

安装Apache

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/apache2 \
--enable-so \
--enable-rewrite \
--enable-ssl \
--with-ssl=/usr/local/ssl \
--with-mpm=prefork ; echo $?

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

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

配置启动脚本

cp -av /usr/local/apache2/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/apache2/ 目录下
配置文件:/usr/local/apache2/conf/httpd.conf
启动命令:/usr/local/apache2/bin/apachectl
默认网站家目录:/usr/local/apache2/htdcos
在这里插入图片描述
确认进程指向的路径,必须是编译安装的路径才可以

【二进制安装MySQL】

解压包到指定目录

 tar zxvf mysql-5.7.32-el7-x86_64.tar.gz -C /usr/src

移动并修改文件名

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

创建数据库存储目录

mkdir -pv /data/mysql

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

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

设置权限

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

初始化数据库实例

cd /usr/local/mysql/

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

在这里插入图片描述
sUwQtjhkW2+ 临时密码*

数据库初始化成功的标志

在这里插入图片描述

修改系统配置文件

将my.cnf 复制到/etc 目录

cp -av /opt/lamp/my.cnf /etc/

复制改名脚本控制程序

cd /usr/local/mysql/support-files/
cp -av  mysql.server /etc/init.d/mysql

编辑修改脚本控制程序,指定程序运行命令和数据库存储目录

vim /etc/init.d/mysql

在这里插入图片描述## 启动mysql,验证

chmod 755 /etc/init.d/mysql  # 修改控制脚本执行权限
chkconfig --add mysql          # 添加服务
chkconfig --level 345 mysql on # 设置启动级别
systemctl start mysql          # 启动服务
/usr/local/mysql/bin/mysql -u root -p'初始化后给你的临时密码'
mysql>set password=password('root');//修改密码
mysql>flush privileges;

【安装php】

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

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

安装需要下载的依赖包

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是一个处理正则表达式的库
在这里插入图片描述

mkdir -pv /usr/local/lib/pkgconfig/ #pkgconfig文件夹需要手动创建
 ln -sv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig/ #创建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 #查看 库、模块 管理列表。

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

tar xvfj 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/apache2/bin/apxs ; echo $?

预编译结果
在这里插入图片描述

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

在这里插入图片描述

解析PHP 测试

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

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

配置php 和apache

目的:使apache 支持PHP 页面

复制php 配置文件

cd /usr/src/php-7.4.16/

cp  -av php.ini-production  /usr/local/php/etc/php.ini

编辑apache 配置文件,编辑/usr/local/apache2/conf/httpd.conf,添加PHP首页

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

… # probably should define those extensions to indicate media types:

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
在这里插入图片描述
#AddType 指令 作用:在给定的文件扩展名与特定的内容类型之间建立映射 (让apache支持
php文件的解释)
#AddHandler allows you to map certain file extensions to “handlers”:

#is requested.

DirectoryIndex index.html index.php #添加PHP首页 ...

添加php首页

在这里插入图片描述

停止并重启服务

systemctl stop httpd && systemctl restart httpd

测试页面

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

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

在这里插入图片描述

浏览器访问结果预览

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

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

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

创建文件并复制内容即可

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

在这里插入图片描述

浏览器访问结果

在这里插入图片描述

测试PHP,以及测试PHP连接MySQL的核心要素

如果上述测试都通过,说明:

  1. Apache 可以正确解析 .php 结尾的文件,支持动态脚本
  2. PHP 环境配置正常,可以输出详细的 PHP 环境变量信息,便于后期排错
  3. Apache 连接 MySQL 的驱动(如 mysqli)工作正常,PHP 可以通过该驱动连接 MySQL
  4. MySQL 授权配置正确,PHP 可以使用授权的账号和密码成功连接到 MySQL 数据库

【PhpMyAdmin安装】

切换到openssl扩展目录

下载并解压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/apache2/htdocs/phpMyAdmin

编译安装

yum -y install autoconf

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

mv -v config0.m4 config.m4 /usr/local/php/bin/phpize; echo $?

在这里插入图片描述

./configure --with-openssl \
--with-php-config=/usr/local/php/bin/php-config ; echo $?

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

在这里插入图片描述

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

在这里插入图片描述

配置php.ini

安装完成后,会返回一个.so文件(openssl.so)的目录。在此目录下把openssl.so 文件拷贝到你在php.ini 中指定的 extension_dir 下(在php.ini文件中查找:extension_dir =)
在这里插入图片描述

编辑php.ini文件

 cd /usr/local/php/etc/
 vim php.ini

在文件末尾添加如下内容

extension=openssl.so

在这里插入图片描述

重启Apache

systemctl stop httpd && systemctl restart httpd

PHP扩展安装与生效

cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902
cp -av openssl.so /usr/local/php/etc/
systemctl restart httpd.service

浏览器访问phpMyAdmin

在这里插入图片描述
默认账号密码都是root
在这里插入图片描述

设置phpMyAdmin 的mysql 默认连接用户和密码

find ./-type f -name "config.inc.php"
cp -av config.sample.inc.php config.inc.php
find ./-type f -name "config.inc.php"
vim config.inc.php

配置方法

找到phpMyAdmin 的配置文件config.inc.php,通常位于:
/etc/phpmyadmin/config.inc.php (Linux)
phpMyAdmin 安装目录下(Windows)
在文件中添加或修改以下配置:

$cfg['Servers'][$i]['user']='your_username';  // 默认用户名
$cfg['Servers'][$i]['password']='your_password'; // 默认密码
$cfg['Servers'][$i]['auth_type']='config'; // 认证类型设置为config

注意事项
安全警告:使用‘config’ 认证类型会将用户名和密码明文存储在配置文件中,这存在安全风
险,特别是在共享主机环境中。
更安全的替代方案是使用‘cookie’ 或‘http’ 认证类型,这样用户需要每次手动登录:

$cfg['Servers'][$i]['auth_type']='cookie';  // 或'http'

对于多服务器配置,可以为每个服务器设置不同的默认凭据。
修改后请确保配置文件权限设置正确,防止未授权访问。
在生产环境中,建议不要使用默认自动登录配置,以增强安全性。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐