Linux-LAMP搭建
2022-10-07 08:21:30 0 举报
AI智能生成
Linux-lamp搭建流程 yum 和编译安装流程
作者其他创作
大纲/内容
准备一个,干净的,初始化刚装好系统的机器
不能使用之前的机器了
前面的机器安装的依赖都是根据版本来的
你再去安装其他版本,依赖不同,直接安装可能出错
安装一个最小化的初始系统
因为最小化安装安装,缺少很多基础系统工具包,导致你编译安装或者运行软件时会报错。
拍好快照方便下次使用
新机器初始化
1.建议用最新的阿里云yum源
先安装好一些需要的基础命令 vim wget
yum install wget -y
配置阿里云的源
基础的软件源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
第三方软件源,epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
清空yum缓存,生成新的缓存
yum clean all
rm -rf /var/cache/yum
yum makecache
生成新缓存
方便后续的下载,下载更快
2.关闭防火墙
这是俩大坑 404 403 目录数据无法读写
这是俩大坑 404 403 目录数据无法读写
关闭自带的防火墙,selinux
查看防火墙状态
getenfroced
Enforcing
开启
Permissive
宽容模式,基本不生效
setenforce 0
临时修改
Disable
关闭
修改/etc/selinux/config文件
sed -i -c 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
使用sed时最好使用的是加上-c 参数,否则会破坏软链接
-c ∶取代
-c ∶取代
也可以手动修改
vim /etc/selinux/config
关闭并且禁用,firewalld服务
systemctl stop firewalld
关闭服务
systemctl disable firewalld
开机禁止自启动
清空iptables 的规则
iptables -F
删除规则
iptables -L
查看规则
3.安装基础的软件和依赖
一些底层的依赖需要进行安装
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel
ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel
xz-devel net-tools vim -y
ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel
xz-devel net-tools vim -y
底层编译库的安装
yum install cmake make pcre-devel ncurses-devel openssl-devel libcurl-devel -y
编译php可能缺少的一些依赖或软件
yum install libxml2-devel libjpeg-devel libpng-devel freetype-devel libcurl-devel wget -y
常见踩坑点
1.编译的过程如果出现报错,安装完成了需要的依赖后,
请删除掉编译生成的目录,重新根据当前的基础环境再次编译
请删除掉编译生成的目录,重新根据当前的基础环境再次编译
之前的编译里会缺少依赖和软件,你按照了对应依赖后,重新编译才会加进去
2.关于压缩的报错
#前提是机器有tar命令 -x参数调用tar命令
# -z参数调用gzip命令,进行解压
# 注意压缩的格式,下载对应的格式软件
yum install bzip2-devel
yum install bzip2-devel
3.编译mysql,编译httpd都遇见了这个报错
系统中缺少openssl相关,以及curses相关
系统中缺少openssl相关,以及curses相关
【先装好工具包,再去编译安装】
yum install openssl-devel ncurses-devel
yum install openssl-devel ncurses-devel
4.如果下载太慢yum,,wget等太慢
yum 源更换
更换dns
网络环境问题
5.注意软件的安装顺序
apache必须要先于php安装,因为php中自定义会去调用一些apache中的内容
apache和mysql之间并没有直接先后顺序的依赖,所以谁先谁后没所谓。
在php-5.3版本前,mysql必须先于php的编译;
6.可以清空历史记录,防止留下密码等信息
子主题
MySQL安装
安装需求
软件版本 安装目录 数据目录 端口
mysql-5.6.31 /usr/local/mysql /usr/local/mysql/data 3306
mysql-5.6.31 /usr/local/mysql /usr/local/mysql/data 3306
㈠ 创建mysql用户
useradd -r -s /sbin/nologin mysql
-r 用来建立系统账号
-s 指定shell的解释器,为不登录
验证一下
id mysql
㈡ 解压软件,进入目录
创建一个指定的源码目录,下载对应软件
cd /usr/local ; mkdir software-mysql;cd software-mysql
#用分号隔开表示,执行完成上一条再执行下一条
下载MySQL源码
wget -c https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.6/mysql-5.6.50.tar.gz
解压缩文件,查看源码
tar -zxf mysql-5.6.50.tar.gz
提供了另一种配置脚本,叫做cmake脚本
需要安装cmake这个命令才行
㈢ 根据需求配置编译参数
1.进行编译配置,也就安装定制化的操作
#注意先安装cmake
#注意先安装cmake
# 创建编译脚本,设置编译参数,
需要在MySQL的源码目录下
需要在MySQL的源码目录下
cat cmake.sh
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \ #指定安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据存放
-DENABLED_LOCAL_INFILE=1 \ # 开启加载外部文件功能;1开启,0关闭
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \ #设置端口
-DDEFAULT_CHARSET=utf8mb4 \ #mysql的编码
-DDEFAULT_COLLATION=utf8mb4_general_ci \ #大小写的规则
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_USER=mysql #运行用户,指定的为我们进行创建的mysql用户
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \ #指定安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据存放
-DENABLED_LOCAL_INFILE=1 \ # 开启加载外部文件功能;1开启,0关闭
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \ #设置端口
-DDEFAULT_CHARSET=utf8mb4 \ #mysql的编码
-DDEFAULT_COLLATION=utf8mb4_general_ci \ #大小写的规则
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_USER=mysql #运行用户,指定的为我们进行创建的mysql用户
关于报错信息如何看
常常主要需要关注的是warnging (不那么重要)和error(严重错误)
error 严重及错误,程序是无法运行
warnging 警告,没那么太严重,不影响程序继续,但是你后续的使用,可能会有报错
info ,输出程序正常日志的
warnging 警告,没那么太严重,不影响程序继续,但是你后续的使用,可能会有报错
info ,输出程序正常日志的
添加执行权限
chmod +x cmake.sh
#执行脚本
./cmake.sh
./cmake.sh
㈣ 编译并安装
make && make install
install才是生成数据文件夹的步骤
㈤ 安装mysql后续配置
1.由于是自己编译的,需要将路径加入到PATH环境变量中
命令的目录在/usr/local/mysql/bin/
tail -1 /etc/profile
export PATH=$PATH:/usr/local/mysql/bin/
export PATH=$PATH:/usr/local/mysql/bin/
重新登录,或者手动source读取该文件配置,使配置生效
source /etc/profile
打印检查变量: echo $PATH
2.修改mysql的文件权限,属主,属组
chown -R mysql:mysql /usr/local/mysql/
应用创建了使用者是mysql
3.数据库初始化
3.1移除默认的mysql配置文件,改名即可
mv /etc/my.cnf /etc/my.cnf.bak
3.2确保没有mysql进程
ps -ef|grep mysql
3.3进入mysql安装目录,开始初始化
cd /usr/local/mysql/
一定要进入文件夹后执行
./scripts/mysql_install_db --user=mysql
注意所处的文件夹
4.因为是编译安装,需要手动创建启动脚本
#拷贝脚本,放入linux一个固定的服务启动目录
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
使用service命令,会去读取/etc/init.d目录下的脚本文件
5.启动脚本
#启动mysql
service mysql start
service mysql start
#查询状态,此时表示成功
service mysql status
service mysql status
6.设置用户和密码,此时可以修改mysql的密码,用如下命令,注意语法
# -u -p参数后面不得有空格,是直接跟上用户名或者密码的
# -p 不写密码的话,会让你交互式输入密码
# password 跟上你的新的mysql密码
# -p 不写密码的话,会让你交互式输入密码
# password 跟上你的新的mysql密码
/usr/local/mysql/bin/mysqladmin -uroot -p password 'lxh123123'
编译安装Apache
1.安装依赖包apr
1.下载源码,且解压缩,然后编译安装即可
建立文件夹
mkdir /usr/local/software-apache
下载
wget -c http://archive.apache.org/dist/apr/apr-1.5.2.tar.bz2
解压
tar -xf apr-1.5.2.tar.bz2
2.要对apr软件进行编译配置,编译三部曲
#可能由于其1.5.2的bug,存在一个配置错误
vim configure
29605 RM='$RM -f'
29605 RM='$RM -f'
#修改 第29605行
#次执行配置脚本
./configure
# 然后进行编译且安装
make
make
# 安装
make install
make install
2.安装基础库apr-util
#下载 解压
wget -c https://archive.apache.org/dist/apr/apr-util-1.5.4.tar.bz2
tar -xf apr-util-1.5.4.tar.bz2
#进入目录
cd apr-util-1.5.4
cd apr-util-1.5.4
开始进行配置动作
#从配置可见,该文件的定义,必须依赖第一个软件包
./configure --with-apr=/usr/local/apr/bin/apr-1-config
./configure --with-apr=/usr/local/apr/bin/apr-1-config
编译安装
make && make install
安装完成之后,告诉系统已经有这些库可以使用了,不用重启机器
把编译安装的apr工具,写入系统的动态库
配置文件中,然后更新这些基础动态库即可
配置文件中,然后更新这些基础动态库即可
echo "/usr/local/apr/lib/" >> /etc/ld.so.conf
动态库配置文件/etc/ld.so.conf
执行ldconfig命令,让linux能找到你安装的这个apr即可
ldconfig
版本 安装路径
httpd-2.4.37 /usr/local/
httpd-2.4.37 /usr/local/
4.安装apache
下载解压
先回到software-apache,下载源码
wget -c https://archive.apache.org/dist/httpd/httpd-2.4.37.tar.bz2
wget -c https://archive.apache.org/dist/httpd/httpd-2.4.37.tar.bz2
#对压缩文件进行解压缩
tar -xf httpd-2.4.37.tar.bz2
tar -xf httpd-2.4.37.tar.bz2
配置参数
修改配置参数,可以做成脚本,由于参数过多,写成sh文件
cat config.sh
./configure \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite \
--with-pcre \
--enable-ssl \
--with-mpm=prefork \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr/bin/apu-1-config
./configure \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite \
--with-pcre \
--enable-ssl \
--with-mpm=prefork \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr/bin/apu-1-config
--enable-modules=all 加载所有支持模块
--enable-mods-shared=all 共享方式加载大部分常用的模块
--enable-so 启动动态模块加载功能
--enable-rewrite 启用url地址重写功能
--enable-ssl 编译ssl模块,支持https
--with-pcre 支持正则表达式
--with-apr=/usr/local/apr/bin/apr-1-config 指定依赖软件apr路径
--with-apr-util=/usr/local/apr/bin/apu-1-config
--with-mpm=prefork 插入式并行处理模块,称为多路处理模块,Prefork 是类UNIX平台上默认的MPM
--enable-mods-shared=all 共享方式加载大部分常用的模块
--enable-so 启动动态模块加载功能
--enable-rewrite 启用url地址重写功能
--enable-ssl 编译ssl模块,支持https
--with-pcre 支持正则表达式
--with-apr=/usr/local/apr/bin/apr-1-config 指定依赖软件apr路径
--with-apr-util=/usr/local/apr/bin/apu-1-config
--with-mpm=prefork 插入式并行处理模块,称为多路处理模块,Prefork 是类UNIX平台上默认的MPM
修改配置文件的权限
chmod +x config.sh
chmod +x config.sh
执行该脚本,开始配置
./config.sh
./config.sh
编译且安装
make && make install
检查安装路径
ls /usr/local/apache2/
ls /usr/local/apache2/bin
ls /usr/local/apache2/bin
编译安装php
先装好php,再去修改apache配置文件
不然会有很多的参数无法找到
建立文件夹,下载php压缩文件
mkdir software-php && cd software-php
wget -c https://museum.php.net/php7/php-7.2.17.tar.xz
tar -xf php-7.2.17.tar.xz
配置编译过程,即编译脚本文件
cat configure_php.sh
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysqli \
--with-pdo-mysql \
--with-zlib \
--with-curl \
--enable-zip \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-opcache \
--enable-mbstring \
--enable-mbregex \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-calendar \
--enable-bcmath
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysqli \
--with-pdo-mysql \
--with-zlib \
--with-curl \
--enable-zip \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-opcache \
--enable-mbstring \
--enable-mbregex \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-calendar \
--enable-bcmath
chmod +x configure_php.sh
添加执行权限
开始编译、且安装
make && make install
结合php和apache
修改apache配置文件支持php
配置文件路径
/usr/local/apache2/conf/
httpd.conf 这个表示了是主配置文件
extra 额外模块的配置文件,将其分开,更加的明朗清晰,便于管理
打开主配置文件,修改如下参数
配置语言支持
159 LoadModule negotiation_module modules/mod_negotiation.so 去掉这一行的注释
482 Include conf/extra/httpd-languages.conf 打开此选项,扩展配置文件就生效了
159 LoadModule negotiation_module modules/mod_negotiation.so 去掉这一行的注释
482 Include conf/extra/httpd-languages.conf 打开此选项,扩展配置文件就生效了
让apache支持php语言的插件,当有用户访问php程序时,apache自动转发给php程序去解析。
166 LoadModule php7_module modules/libphp7.so
#在166行下面添加下面两行数据
167 AddHandler php7-script .php
168 AddType text/html .php
166 LoadModule php7_module modules/libphp7.so
#在166行下面添加下面两行数据
167 AddHandler php7-script .php
168 AddType text/html .php
#添加一个默认的网站首页,添加为php的文件
267 <IfModule dir_module>
268 DirectoryIndex index.php index.html
269 </IfModule>
#那个写在前面表示就是先去加载那一个文件,这里会先去加载我们添加的php文件
267 <IfModule dir_module>
268 DirectoryIndex index.php index.html
269 </IfModule>
#那个写在前面表示就是先去加载那一个文件,这里会先去加载我们添加的php文件
#关于网站默认的首页html文件,存放的目录路径,由以下参数控制
234 DocumentRoot "/usr/local/apache2/htdocs"
235 <Directory "/usr/local/apache2/htdocs">
#这个目录在那就去那找首页文件
234 DocumentRoot "/usr/local/apache2/htdocs"
235 <Directory "/usr/local/apache2/htdocs">
#这个目录在那就去那找首页文件
修改apache的子配置文件,优先支持中文,需要做如下两步操作
vim /usr/local/apache2/conf/extra/httpd-languages.conf
vim /usr/local/apache2/conf/extra/httpd-languages.conf
19 DefaultLanguage zh-CN
#修改第19行的参数,默认语言未中文
#修改第19行的参数,默认语言未中文
#修改第78行,将中文放在第一个的位置,语言的优先级
LanguagePriority zh-CN en ca ...
LanguagePriority zh-CN en ca ...
#这一步可以不做,保留
#修改apache的域名,也就是我们网站的域名配置
210 ServerName yuchao-lamp.cc
#修改apache的域名,也就是我们网站的域名配置
210 ServerName yuchao-lamp.cc
测试apache是否支持php
进入apache网页根目录
cd /usr/local/apache2/htdocs
#写一个php的测试网页
cat index.php
<?php
phpinfo();
?>
<?php
phpinfo();
?>
启动apache
拷贝apache默认提供的一个脚本即可,就是启动apache的命令
cp /usr/local/apache2/bin/apachectl /etc/init.d/apache
#启动apache
service apache start
如果没有启动脚本,可以使用如下技巧,进行创建
用另一台机器,yum install httpd
查看yum给你生成的httpd.service脚本,
然后模仿该脚本写法,修改你编译的http路径即可
然后模仿该脚本写法,修改你编译的http路径即可
测试LAMP架构
直接去访问: ip:端口 即可
如果出现了PHP的页面,表示配置成功!
- 表示你的LAMP的环境已经搭建好了
- 表示你的LAMP的环境已经搭建好了
安装wordpress
安装源码
先创建文件夹,并且下载到对应的路径
mkdir /opt/wordpress && cd /opt/wordpress
下载
wget -c https://cn.wordpress.org/wordpress-4.7.3-zh_CN.tar.gz
进行解压缩,可以直接 -xf
tar -zxvf wordpress-4.7.3-zh_CN.tar.gz
将解压缩的文件放入到apache的网页根目录中
先将原来的测试文件删除
rm -rf /usr/local/apache2/htdocs/index.php
解压文件移动到目录(/usr/local/apache2/htdocs/)
mv wordpress/* /usr/local/apache2/htdocs/
修改完成后不需要重启,但是要注意
httpd 服务的使用者
httpd 服务的使用者
ps -ef | grep httpd
去看当前进程的用户是谁:daemon
修改wordpress源码文件的属主、属组,防止出现无权访问
chown -R daemon.daemon /usr/local/apache2/htdocs/
此时去访问这个网站
ip:端口
ip:端口
mysql的坑
在这里需要注意mysql中,是否配置了对应的数据库
需要去创建数据库
#先登录数据库
mysql -uroot -p
mysql -uroot -p
#创建存储博客的数据库
mysql> create database wordpress default charset utf8;
Query OK, 1 row affected (0.16 sec)
mysql> create database wordpress default charset utf8;
Query OK, 1 row affected (0.16 sec)
yum源安装
什么是LAMP
LAMP是公认的最常见、最古老的黄金Web技术栈
Linux 操作系统
Apache/Nginx web服务器
Mysql/Mariadb
Perl/Php/Python
LAMP的核心
Linux
Linux系统主要是以开发者为中心,
从底层的编译器,make编译工具,到bash脚本,git代码管理,vim编辑器,依赖管理工具等等都很齐全。
apache
虽然称之为`web服务器`,但是不是意味着他是一个`物理服务器`,是一个软件
Web服务器的作用是将HTTP请求从前端转发到后端应用上
php
主要用于web开发,常用PHP脚本嵌入HTML源码中执行。
MySQL
是一款数据库管理系统,也就是一个存储数据的工具
用户可以自行对数据库进行增加、删除、修改、查询等操作。
LAMP环境准备
买一台云服务器
了解使用的流程
查看对应的公网ip
使用xshell连接自己的服务器
公网ip的查看方法
1.直接可以在腾讯云上查看
2.由于我们现实在2个公网中的机器,互相访问
curl ifconfig.me
110.40.184.57
110.40.184.57
1.关闭防火墙(很重要!!!)
关闭内置的selinux
一般使用的都是centos8,centos7基本不使用,而且会后台阻止很多的东西
1.检查seLinux状态
[root@localhost ~]# getenforce
Permissive
Permissive
三种模式的解释
#运行中
enforcing:严格模式,所有的规则都会被执行
enforcing:严格模式,所有的规则都会被执行
#永久关闭
disabled:关闭模式,SELINUX的所有规则不起作用
disabled:关闭模式,SELINUX的所有规则不起作用
#临时关闭,下次开机还会启动
permissive:宽容模式,实际不起作用,但是会发送警告信息
permissive:宽容模式,实际不起作用,但是会发送警告信息
2.修改对应状态
临时修改
setenforce 选项
setenforce 0
选项:
0: 切换成 permissive(宽容模式)
1: 切换成 enforcing(强制模式)
0: 切换成 permissive(宽容模式)
1: 切换成 enforcing(强制模式)
永久修改
修改/etc/selinux/config/文件
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
注意,修改后需要重启电脑生效
关闭内置的firewalld
systemctl stop firewalld
关闭firewall的防火墙
systemctl disable firewall
#禁止开机启动
以及清空iptables规则
iptables -F
2.安装apache
查看是否安装apache
rpm -qa
没有安装,可以直接安装
yum install -y httpd
注意:apache在yum里面的名字叫做httpd
修改apache的端口设置
#修改apache配置文件,设置为80端口
vim /etc/httpd/conf/httpd.conf
第95行,其实也可以不修改
启动apache
查看是都启动
systemctl status httpd
启动apache
systemctl start httpd
查看运行的端口和进程
ps -ef | grep httpd
netstat -tunlp | grep httpd
y验证httpd是否启动成功
#curl -I -I/--head 只显示文档信息
curl -I 127.0.0.1:80
访问本地,就相当于访问公网地址
当可以拿到apache的信息,表示搭建成功了
可以直接使用浏览器进行访问
ip:端口
3.安装MySQL
注意点:由于mysql被收购了
公有云上一般没有MySQL,只有mariadb(改名版),你可以去自己配置mysql的yum仓库
配置mysql的源
需要找对包,注意看文件的后缀。
需要找对包,注意看文件的后缀。
安装这个rpm包,只会生成一些配置文件,并不是软件本身
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
#安装rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
#安装完成后目录下多了两个yum源
mysql-community.repo
mysql-community-source.repo
mysql-community.repo
mysql-community-source.repo
接下来使用yum安装MySQL即可,注意要写mysql-community-server
yum -y install mysql-community-server
安装完毕后,启动mysql
systemctl start mysqld
systemctl status mysqld
netstat -tunlp | grep mysqld
mysql的初始化以及基础配置
.确保mysql启动后,初始化数据,进行使用
默认的mysql没有密码,没数据,得初始化使用
默认的mysql没有密码,没数据,得初始化使用
mysql_install_db
生成基础数据库的,用于测试
#初始化数据库密码
mysql_secure_installation
(没有设置密码就直接回车就行)
设置的密码为:lxh123123
#是否要移除匿名用户
Remove anonymous users? [Y/n] #为了安全考虑,移除 y
#是否禁止root远程登录
Disallow root login remotely? [Y/n] #移除了就无法使用root进行登录的了 n
#是否移除测试数据库
Remove test database and access to it? [Y/n] #移除
#是否刷新权限表,让之前的修改生效
Reload privilege tables now? [Y/n] # yes
#是否要移除匿名用户
Remove anonymous users? [Y/n] #为了安全考虑,移除 y
#是否禁止root远程登录
Disallow root login remotely? [Y/n] #移除了就无法使用root进行登录的了 n
#是否移除测试数据库
Remove test database and access to it? [Y/n] #移除
#是否刷新权限表,让之前的修改生效
Reload privilege tables now? [Y/n] # yes
使用新密码登录数据库
mysql -uroot -p
-uroot #表示使用root进行登录
-p # 输入密码
-p # 输入密码
show databases;
注意数据的命令最后都是带有;的
查看有那些库
select version();
查看版本信息
mysql> exit;
退出MySQL
一些常见的报错解决
可能是之前安装过MySQL
已经下载了其他依赖包,版本不匹配
需要删除系统中已经安装的MySQL依赖
注意,不能在yum源的目录下进行操作,不然会将之前的安装包删除
先到家目录再去执行,靠谱点
cd
yum remove mysql* -y
4.安装php
安装php
yum install php -y
安装完成php之后,会默认的和apache结合工作
创建php的代码index.php,放到apache的网页目录下
rpm -ql httpd | grep html
/var/www/html
找到html文件放置的位置
在目录中写入如下php脚本
# cat index.php
<?php
phpinfo();
?>
<?php
phpinfo();
?>
完成之后,需要重启apache
需要重启让apache去加载php
systemctl restart httpd
访问网址,看是否加载成功
http://110.40.184.57:80
5.部署Discuz论坛
当我们把环境搭建好之后,有了这个环境,只需要准备各种php写的程序,即可运行了
比如国内主流的disucz论坛代码
.下载论坛的源码
https://www.dismall.com/forum.php?mod=attachment&aid=MTA0fGZlYmVhN2ZlfDE2NDg3ODQ3ODV8MHw3Mw%3D%3D
.传输工具,上传压缩包
安装 lrzsz
yum install lrzsz -y
安装完成后直接上传即可
删除之前的文件
rm -rf ./index.php
将测试文件删除
解压压缩包到html目录中
解压缩
下载unzip命令
yum install unzip -y
解压文件
unzip -d /var/www/html/ /opt/Discuz_X3.4_SC_UTF8_20220811.zip
使用-d参数,可以指定解压缩的位置
可以将upload目录下的文件,移动到当前目录下
mv ./upload/* ./
#因为我们需要的是php文件!!!
再次访问对应的网页,开始进行安装(ip:端口)
第一个错误:出现文件目录不可写
此处指的目录是当前所处的目录是/var/www/html
需要对这些文件进行权限修改,加入写的权限,暴力点全加,777
chmod -R 777 ./*
第二个错误是,php需要去连接MySQL,
PHP到MySQL需要一个连接驱动,
PHP到MySQL需要一个连接驱动,
发现缺少mysql的驱动
安装该驱动即可
安装该驱动即可
yum install php-mysqli -y
安装了php的驱动
需要重新启动apache才行
需要重新启动apache才行
systemctl restart httpd
此时php的跟新已经加载
6.总结
1.使用lamp架构,成功搭建了这个网站,但是这只是最简单的yum部署。
2.学习了 apache 的安装,mysql的安装 ,以及php的下载使用
3.学会了一步步解决报错的思路。细心,外加下载安装了新的服务或软件,或修改了配置文件
你一点要记住,需要去重启服务,确保新的东西生效。
关于yum
yum是简易版安装,所有的安装目录都是固定的,安装简单、易用,但是缺少定制化,在性能、自动化配置上不够靠谱
yum自动的安装软件到 /etc /var /usr 等路径,很可能与别人冲突,或者被yum remove卸载
当你服务器批量管理的时候,你也无法批量操作,很容易出问题
不同的机器可能配置不一,安装的软件和依赖可能存在冲突
这些问题的解决办法就都在编译安装中
源码编译安装,通过脚本对服务器批量化操作,如安装到/opt/自定义文件夹下
而且编译可扩展很多功能,都是yum无法比拟的
因此掌握编译安装是一个重点
0 条评论
下一页