LAMP(Linux+Apache+MySQL+PHP)完整搭建过程

目录

一、准备工作

二、安装apache

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

2.2.安装OpenSSL:

2.3.安装Apache:

三、安装MySQL5.7

[3.1. 解压到/usr/src目录:](#3.1. 解压到/usr/src目录:)

3.2.移动并修改文件名:

3.3.创建数据库存储目录:

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

[3.5.改变/usr/local/mysql属主和属组为mysql /data/mysql 属主为mysql:](#3.5.改变/usr/local/mysql属主和属组为mysql /data/mysql 属主为mysql:)

3.6.配置参数:

3.7.修改系统配置文件:

3.8、启动mysql,验证:

四、安装PHP

4.1、安装能够直接安装的依赖包:

4.2、安装需要下载的依赖包:

[4.3、安装php-7.4.16 ,配置、编译、安装:](#4.3、安装php-7.4.16 ,配置、编译、安装:)

五、配置php和apache

5.1.复制php配置文件:

5.2.编辑apache配置文件:

5.3.停止并重启服务:

六、测试页面

6.1.编辑首页并测试:

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

七、PhpMyAdmin安装

7.1、切换到openssl扩展目录:

7.2、使用phpize对php进行添加扩展:

7.3、编译安装:

7.4、配置php.ini:


一、准备工作

  1. 关闭防火墙,关闭selinux

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

  3. 为主机配置IP地址

  4. 配置本地YUM源

  5. 安装编译环境

#yum -y install gcc* make* openssl-devel

二、安装apache

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

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

apr:Apache可移植运行库。

pcre:perl语言兼容正则表达式,是一个用C语言编写的正则表达式函数库。

2.2.安装OpenSSL:

  1. 解压到/usr/src目录

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

  1. 配置 编译 安装

cd /usr/src/openssl-1.0.2m/

./config --prefix=/usr/local/ssl --shared

make && make install

--shared生成动态链接库

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

2.3.安装Apache:

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

tar xvfz httpd-2.4.28.tar.gz -C /usr/src/

  1. 配置 编译 安装:

cd /usr/src/httpd-2.4.28/

./configure --prefix=/usr/local/apache2 -- enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/local/ssl --withmpm= prefork && make && make install

--prefix 指定安装路径

--enable-so 让apache核心装载DSO(动态共享目标)

--enable-rewrite 启用重写功能

--enable-modules 将模块编译到apache中

--enable-ssl 打开ssl协议

--with-mpm 指定运行模型

  1. 配置启动脚本:

cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd

vim /etc/init.d/httpd

#!/bin/sh

#chkconfig:35 85 21

#description:apache!

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

chkconfig --add httpd

chkconfig --list httpd

systemctl start httpd.service

注:编译安装成功后

安装在:/usr/local/apache2/ 目录下

配置文件:/usr/local/apache2/conf/httpd.conf

启动命令:/usr/local/apache2/bin/apachectl

默认网站家目录:/usr/local/apache2/htdcos

三、安装MySQL5.7

3.1. 解压到/usr/src目录:

tar xvfz httpd-2.4.28.tar.gz -C /usr/src/

3.2.移动并修改文件名:

cd /usr/src/

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

3.3.创建数据库存储目录:

mkdir -p /data/mysql

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

cd

useradd -r -s /sbin/nologin -d /usr/local/mysql/ mysql

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

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

chown -R mysql /data/mysql

3.6.配置参数:

cd /usr/local/mysql/

bin/mysqld --initialize --user=mysql -- basedir=/usr/local/mysql --datadir=/data/mysql

3.7.修改系统配置文件:

1、删除原有配置文件

rm --rf /etc/my.cnf

2、将my.cnf复制到/etc目录

cp my.cnf /etc/

3、复制改名脚本控制程序

cd /usr/local/mysql/support-files/

cp mysql.server /etc/init.d/mysql

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

vim /etc/init.d/mysql

basedir=/usr/local/mysql

datadir=/data/mysql

3.8、启动mysql,验证:

1.创建指向mysql命令的软链接

ln -s /usr/local/mysql/bin/mysql /usr/bin

2.修改控制脚本执行权限

chmod 755 /etc/init.d/mysql

3.添加服务:

chkconfig --add mysql

4.设置启动级别:

chkconfig --level 345 mysql on

5.启动服务,登录

systemctl start mysql

cd /usr/local/mysql/

bin/mysql -u root -p

四、安装PHP

4.1、安装能够直接安装的依赖包:

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

systemd-devel :systemd 开发邮件列表

Libxml2:是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件。

如果你安装基于libxml2开发的软件,那么你只需要安装libxml2就可以了,如果你需要编译使用了libxml2的软件,那就需要安装libxml2-devel

sqlite-devel:用于 sqlite3 可嵌入 SQL 数据库引擎的公共领域开发工具

libcurl:一个免费开源的,客户端url传输库

libpng:多种应用程序使用解析PNG图像格式的库

4.2、安装需要下载的依赖包:

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 /usr/local/lib/pkgconfig/

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

vim ~/.bash_profile

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH

source ~/.bash_profile

pkg-config --list-all

4.3、安装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-configfile- 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

make && make install

五、配置php和apache

目的:使apache支持PHP页面

5.1.复制php配置文件:

cd /usr/src/php-7.4.16/

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

5.2.编辑apache配置文件:

编辑/usr/loca/apache2/conf/httpd.conf,添加PHP首页

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

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

<IfModule dir_module>

DirectoryIndex index.html index.php

</IfModule>

5.3.停止并重启服务:

systemctl stop httpd.service

systemctl start httpd.service

六、测试页面

6.1.编辑首页并测试:

vim /usr/local/apache2/htdocs/index.php

<?php

Phpinfo();

?>

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

vim /usr/local/apache2/htdocs/test2.php

<?php

$link = mysqli_connect(

'localhost',

'root', /*账户*/

'root', /*密码*/

'mysql'); /*数据库*/

if($link){

printf("Congratulations!");

}

?>

七、PhpMyAdmin安装

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

unzip phpMyAdmin-5.1.0-all-languages.zip

mv phpMyAdmin-5.1.0-all-languages /usr/local/apache2/htdocs/phpMyAdmin

7.1、切换到openssl扩展目录:

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

7.2、使用phpize对php进行添加扩展:

mv config0.m4 config.m4

/usr/local/php/bin/phpize

7.3、编译安装:

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

make && make install

7.4、配置php.ini:

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

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

cp openssl.so /usr/local/php/etc/

编辑php.ini文件,在文件最后添加 extension=openssl.so

vim php.ini

...

;ffi.preload=

extension=openssl.so

重启Apache

systemctl restart httpd.service

浏览器访问 http://127.0.0.1/phpMyAdmin/

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

...

is requested.

<IfModule dir_module>

DirectoryIndex index.html index.php

</IfModule>

...

systemctl restart httpd.service

浏览器访问 http://127.0.0.1/phpMyAdmin/

相关推荐
文弱书生6562 小时前
3-electronbot舵机板电路分析
linux·单片机·嵌入式硬件
balalawb2 小时前
docker构建镜像并上传到服务器
服务器·docker
LaoWaiHang2 小时前
Linux操作环境的获得
linux
gjc5922 小时前
MySQL全实例备份脚本 (用于从库部署)
mysql·adb
leo_2322 小时前
从开发语言角度来谈谈SMP(下)--SMP(软件制作平台)语言基础知识之十三
linux·运维·开发语言·开发工具·smp(软件制作平台)·应用系统
小林有点嵌2 小时前
UML之活动图学习
服务器·学习·uml
_Orch1d2 小时前
《网络攻击与防御》复习笔记
笔记·安全·php
Lynnxiaowen2 小时前
今天我们继续DevOps内容Jenkins自动化部署PHP项目
linux·自动化·jenkins·php·devops
咕噜企业分发小米2 小时前
Linux嵌入式系统在智能家居中的具体应用案例有哪些?能否详细介绍其技术实现?
linux·运维·智能家居