LAMP(Linux+Apache+MySQL+PHP)基础配置、搭建,适配于CentOS7
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
更多推荐

所有评论(0)