LAMP(Linux+Apache+MySQL+PHP)基础配置、搭建
LAMP的简要介绍
web网站平台-LAMP的搭建方式
Linux+Apache+MySQL+PHP
Apache:实现网页共享传输
MySQL:实现数据存储(数据库)
PHP:实现页面解析的解析器
准备工作
本配置适用于Centos7.9
1.关闭防火墙,关闭selinux
#关闭防火墙和永久关闭防火墙
systemctl stop firewalld systemctl disable firewalld#临时把selinux改成宽容模式和永久关闭selinux
setenforce0vim/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-4a4.配置YUM源
配置阿里源
mount/dev/cdrom /mediacurl-o/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache配置epel软件源
yuminstall-yepel-release yum repolist**
5.查看是否开启服务号和资源内存**
确认80|3306|443端口对应的进程是否存在,若存在对应的服务,则正常关闭该服务,并将该服务对应的开机自启动也一并关闭
ss-tulanp|grep-E"80|443|3306"
ps aux | grep 进程名称
确认服务器资源是否够用
free-gfree-mdf-Thlscpu#(建议2核心往上)6.安装编译环境
yum-yinstallgcc* make* openssl-devel实际企业级环境,千万不要gcc*,一般安装gcc,gcc-c++足够了。
yum-yinstallgcc gcc-c++makeopenssl-devel安装Apache
安装编译所需要的信赖软件包
yum-yinstallapr apr-util apr-util-devel pcre pcre-devel apr-devel apr-util-develapr:Apache可移植运行库。
pcre:perl语言兼容正则表达式,是一个用C语言编写的正则表达式函数库。
软件包在这个里面下载
把文件放到这里
mkdir /opt/lamp/
https://download.csdn.net/download/2502_94124179/92890925
安装Apache
进入软件包放入的位置/opt/lamp下
cd/opt/lamptarxvfz 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`&&makeinstall;echo$?编译安装后的的Apche的服务路径
ll /usr/local/apache2428/安装OpenSSL
进入软件包放入的位置/opt/lamp下
cd/opt/lamp1.解压到/usr/src目录
tarxvfz 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&&makeinstall;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--addhttpd#将httpd添加为系统服务chkconfig--listhttpd#查看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/lamptarxvfz mysql-5.7.32-el7-x86_64.tar.gz-C/usr/src2.移动并修改文件名
cd/usr/src/mv-vmysql-5.7.32-el7-x86_64/ /usr/local/mysql ll /usr/local/mysql/3.创建数据库存储目录
cdmkdir-pv/data/mysql4.新建mysql用户、组,指定mysql账户宿主目录
useradd-r-s/sbin/nologin-d/usr/local/mysql/ mysqlidmysqlgrepmysql /etc/passwd5.改变/usr/local/mysql属主和属组为mysql /data/mysql 属主为mysql
chown-Rmysql:mysql /usr/local/mysql/ ll /usr/local/mysqlchown-Rmysql /data/mysql ll /usr/local/mysql6.配置参数
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/cpmysql.server /etc/init.d/mysql3)编辑修改脚本控制程序,指定程序运行命令和数据库存储目录
vim/etc/init.d/mysql##第46行补充basedir=/usr/local/mysqldatadir=/data/mysql##第46行补充8.启动mysql,验证
chmod755/etc/init.d/mysql#修改控制脚本执行权限chkconfig--addmysql#添加服务chkconfig--level345mysql on#设置启动级别systemctl start mysql#启动服务psaxu|grepmysqldss-tulanp|grepmysqld(使用上面的临时密码cE_bxk02oZ_B)要改成你自己的!!!!
#进入数据库
/usr/local/mysql/bin/mysql-uroot-p'cE_bxk02oZ_B'#修改密码为root
setpassword=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图像格式的库
yuminstall-ysystemd-devel libxml2-devel sqlite-devel libcurl-devel libpng-devel2、安装需要下载的依赖包
cd/opt/lamprpm-ivhoniguruma-6.8.2-1.el7.x86_64.rpmrpm-ivhoniguruma-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/pkgconfigexportPKG_CONFIG_PATH编辑添加后,让其立即生效
source~/.bash_profile查看库,模块,管理列表
pkg-config --list-all3、安装php-7.4.16 ,配置、编译、安装
先安装bzip2的高效的文件压缩和解压缩工具
yuminstallbzip2-y编译,安装
cd/opt/lamptarxvjf 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;统计编译和安装时长
timemake-j`nproc`&&makeinstall配置php和apache
目的:使用apache支持PHP页面
1.复制php配置文件
cd/usr/src/php-7.4.16/ ll php.ini-productioncpphp.ini-development /usr/local/php/etc/php-ini2.编辑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"; ?> EOFcat/usr/local/apache2428/htdocs/index.php浏览器里输入:10.16.6.129/index.php
cat>/usr/local/apache2428/htdocs/info.php<<'EOF' <?php phpinfo(); ?> EOFcat/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-yinstallunzipcd/opt/lamp/unzipphpMyAdmin-5.1.0-all-languages.zipmv-vphpMyAdmin-5.1.0-all-languages /usr/local/apache2428/htdocs/phMyAdminls-lhrt/usr/local/apache2428/htdocs/phpMyAdmin1.切换到openssl扩展目录
cd/usr/src/php-7.4.16/ext/openssl/2.使用phpize对php进行添加扩展
mvconfig0.m4 config.m4#先下载这个autoconf的编译工具包
yuminstallautoconf-y/usr/local/php/bin/phpize3.编译安装
./configure --with-openssl --with-php-config=/usr/local/php/bin/php-configmake-j`nproc`&&makeinstall;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/lsvimphp-iniextension=openssl.socd/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902ls-lhrt(把编译好的 openssl.so 文件复制到了 PHP 的配置文件目录 /usr/local/php/etc/)
cp-avopenssl.so /usr/local/php/etc/ systemctl restart httpd.service登录测试
`
10.16.6.129/phMyAdmin/
登录用户:root 登录密码:root