源码构建LAMP
目录
一、安装Apache
二、安装Mysql
三、安装PHP
四、安装论坛
一、安装Apache
1.cd 到opt目录下面,将压缩包拉进Xhell

2.解压缩apr和httpd压缩包
tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf httpd-2.4.29.tar.bz2
3.将apr-1.6.2 移动到httpd-2.4的srclib的apr目录下
mv apr-1.6.2 httpd-2.4.29/srclib/apr
4.将apr-2.4 移动到srclib的apr-util目录下
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
5.然后移动到httpd-.4.29下面,并且要安装相关依赖包
cd httpd-2.4.29/
yum install gcc gcc-c++ make pcre pcre-devel expat-devel perl -y
6.编辑一些配置
./configure --prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
7.然后安装,因为我有4核,所以make -j 4
make -j 4 && make install
8.切换目录
cd /usr/local/httpd
cd conf/
9.做软链接
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
10.做验证,看命令可不可以用

11.下面开始加入系统服务
cd /lib/systemd/system
将下面内容填写到httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
systemctl start httpd.service //启动服务
12.切换目录,做备份
cd /usr/local/httpd/conf/
cp httpd.conf{,_bak}
13.修改httpd.conf的配置文件
vim httpd.conf

14.
ls /usr/local/httpd/htdocs/
cat /usr/local/httpd/htdocs/index.htmlnetstat -antulp|grep 80
15.接下来可以登录192.168.234.55登录看看
二、安装Mysql
1.安装依赖包
yum install ncurses ncurses-devel bison cmake -y
2.创建程序用户管理
useradd -s /sbin/nologin mysql
3.然后我们再解压自己的包(注意在有压缩包的目录下面)
tar zxvf mysql-5.7.17.tar.gztar zxvf boost_1_59_0.tar.gz
4.移动目录
mv boost_1_59_0 /usr/local/boost
5.去mysql目录下,安装东西
cd mysql-5.7.17/cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DSYSCONFDIR=/etc \-DSYSTEMD_PID_DIR=/usr/local/mysql \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS=all \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DMYSQL_DATADIR=/usr/local/mysql/data \-DWITH_BOOST=/usr/local/boost \-DWITH_SYSTEMD=1最后安装make && make install
6.要给权限
chown -R mysql:mysql /usr/local/mysql/chown mysql:mysql /etc/my.cnf
7.修改配置文件
vim /etc/my.cnf------------------------------[client]port = 3306default-character-set=utf8socket=/usr/local/mysql/mysql.sock[mysql]port = 3306default-character-set=utf8socket=/usr/local/mysql/mysql.sockauto-rehash[mysqld]user = mysqlbasedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport = 3306character-set-server=utf8pid-file = /usr/local/mysql/mysqld.pidsocket=/usr/local/mysql/mysql.sockbind-address = 0.0.0.0skip-name-resolvemax_connections=2048default-storage-engine=INNODBmax_allowed_packet=16Mserver-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
8.设置环境变量,申明/宣告mysql命令便于系统识别
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profilesource /etc/profile
9.初始数据库
cd /usr/local/mysql/bin/./mysqld \--initialize-insecure \--user=mysql \--basedir=/usr/local/mysql \--datadir=/usr/local/mysql/data
10.
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/systemctl daemon-reload #刷新识别 systemctl start mysqld.service #开启服务systemctl enable mysqld #开机自启动netstat -anpt | grep 3306 #查看端口
11.#给root账号设置密码
mysqladmin -u root -p password "123456"————》直接回车
12.可以用这个远程登录试一下
mysql -u root -p
三、安装PHP
1.先安装各种依赖包
yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
2.去压缩包的所在目录,解压缩,不要忘记后缀tar.gz
cd /opt
tar zxvf php-7.1.24.tar.gz
3.移动到php-7.1.24,然后配置,然后安装
cd /opt/php-7.1.24/
./configure \
--prefix=/usr/local/php7 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php7 \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizermake && make install
4.复制模板文件,并修改
cp /opt/php-7.1.24/php.ini-development /usr/local/php/php.inivim /usr/local/php/php.ini
--1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
--939行--取消注释,修改
date.timezone = Asia/Shanghai
5.做软连接
ln -s /usr/local/php/bin/* /usr/local/bin/
6.修改Apache配置文件让Apache支持PHP
vi /etc/httpd.conf
#添加index.php
255 <IfModule dir_module>
256 DirectoryIndex index.html index.php
257 </IfModule>
#在392行下方插入一下内容,让Apache可以支持.php的网页文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
##检查156行默认支持php7的模块是否存在
LoadModule php7_module modules/libphp7.sowq保存
7.创建、编辑php页面文件,并且重启http服务
rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
8.最后可以在网页测试
http://192.168.234.55/index.php
四、安装论坛
1.首先切换到opt下面,给解压压缩包
cd /opt/
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis

2.移动但dir_的目录,进入mysql数据库
cd dis/cd dir_SC_UTF8/mysql -u root -p123456
3.查看当前数据库有哪些,并创建一个新的数据库
show databases;create database bbs;
4.把bbs数据库里面所有表的权限授予给bbsuser,并设置密码,刷新数据库
grant all on bbs.* TO 'bbsuser'@'%' identfied by 'admin123';
flush privileges;
5.退出,拷贝文件
exitcp -r upload/ /usr/local/httpd/htdocs/bbs
6.切换论坛目录
cd /usr/local/httpd/htdocs/bbs
7.然后切到浏览器,安装
http://192.168.234.55/bbs/install/
8.有很多东西不能写,要自己授权
chown -R daemon ./configchown -R daemon ./datachown -R daemon ./uc_clientchown -R daemon ./uc_server/data
然后就可以就可写了
9.模拟按照这个配置
数据库服务器: localhost #本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
数据库名字: bbs
数据库用户名: bbsuser
数据库密码: admin123
管理员账号: admin
管理员密码: admin123
10.最后登录一下
http://192.168.10.80/bbs/
相关文章:
源码构建LAMP
目录 一、安装Apache 二、安装Mysql 三、安装PHP 四、安装论坛 一、安装Apache 1.cd 到opt目录下面,将压缩包拉进Xhell 2.解压缩apr和httpd压缩包 tar xf apr-1.6.2.tar.gz tar xf apr-util-1.6.0.tar.gz tar xf httpd-2.4.29.tar.bz2 3.将apr-1.6.2 移动到ht…...
Java:封装树结构
实体类 public class DictTreeselectVO {private String value;private String label;/*** 节点*/private String parentId;private List<DictTreeselectVO> children new ArrayList<DictTreeselectVO>();public String getValue() {return value;}public void s…...
linux内核 pintrl子系统
1、什么是pinctrl子系统 在 Linux 内核中,pinctrl子系统是一个专门用于管理和控制 SoC引脚复用和配置的子系统。SoC 通常具有大量的引脚(pin),这些引脚可以被配置为不同的功能,比如 GPIO(通用输入输出&…...
网络通信要素
网络介绍 定义:将具有独立功能的多台计算机通过通信线路和通信设备连接起来,在网络管理软件及网络通信协议下,实现资源共享和信息传递的虚拟平台。 学习网络的目的: 能够编写基于网络通信的软件或程序,通常来说就是网…...
day03_作业
一、简答题 继承的格式与好处 格式:class A extends B 好处:1.可以实现代码的复用,将共性的代码向上抽取,抽取到父类中。需要使用这些属性和行为的类,通过继承即可使用。2.当需要添加新的功能时,可以通过…...
pyinstaller程序打包,资源嵌入exe
参考:https://blog.csdn.net/qq_48979387/article/details/132359366 一、参数说明 -F 最终打包为一个可执行文件。-w 取消Windows显示窗口-add-data ‘dll;dll’,将当前目录dll下的文件打包到可执行文件的dll中,最终会在解压文件的dll文件…...
如何使用 OCR 和 GPT-4o mini 轻松提取收据信息
利用 OCR 和强大的 GPT-4o 迷你模型对收据进行信息提取 利用 OCR 和强大的 GPT-4o 迷你模型对收据进行信息提取 欢迎来到雲闪世界。,我将向您展示如何从收据中提取信息,并提供收据的简单图像。首先,我们将利用 OCR 从收据中提取信息。然后&a…...
go 事务
事务处理 首先启动事务时一定要做错误判断建议在启动事务之后马上写defer方法在defer方法内对err进行判断,如果全局中有err!nil就回滚全局中err都为nil则提交事务在提交事务之后我们可以定义一个钩子函数afterCommit,来统一处理事务提交后的逻辑。 示例…...
C,数据结构,多进程线程,网络编程面试题总结
目录 1.指针数组和数组指针 2.结构体字节对齐 3.Tcp和Udp的区别 4.同步通信和异步通信的区别 5.多线程理解 6.大小端验证 7.互斥锁相关问题 8.共享内存特点 9.c中的指针 10.Gcc编译 11.Socket的了解 12.Ip地址和子网掩码如何决定网卡所在的网段 13.数据结构中栈与…...
【Cesium学习】着色器详解【待进一步总结】
在Cesium中,drawCommand 和 CustomShader 是与渲染管线和自定义渲染效果相关的两个重要概念,但它们各自有不同的作用和应用场景。下面我将分别详解这两个概念。 drawCommand drawCommand 是 Cesium 渲染引擎内部使用的一个概念,它代表了单个…...
【3】静态路由(Static routing)
目录 一、有类路由和无类路由 二、路由的基本知识 三、配置 路由的组成: 四、特殊——默认路由 五、优点和缺点 六、实验 数据通信是双向的,路由器不同的接口属于不同的广播域和冲突域 一、有类路由和无类路由 有类路由:有ABC类别之…...
阿里声音项目Qwen2-Audio的部署安装,在服务器Ubuntu22.04系统——点动科技
阿里声音项目Qwen2-Audio的部署安装,在服务器Ubuntu22.04系统——点动科技 一、ubuntu22.04基本环境配置1.1 更换清华Ubuntu镜像源1.2 更新包列表:2. 安装英伟达显卡驱动2.1 使用wget在命令行下载驱动包2.2 更新软件列表和安装必要软件、依赖2.2 卸载原有…...
RAG(检索增强生成)
RAG (Retrieval-Augmented Generation) 是一种自然语言处理的模型架构,主要用于生成性任务,如文本生成、对话系统等。RAG 将检索和生成两个任务结合起来,以提高生成结果的质量和相关性。 RAG 模型的主要思想是通过检索阶段获取相关的上下文信…...
AcWing848有向图的拓扑排序
拓扑排序的流程: 插入(a,b),表示a->b的关系,调用add(a,b),每次吧b的入度1,d[b]; 然后调用topsort,返回1表示存在拓扑序列,返回0表示不存在拓扑序列。判断是否存在拓扑…...
猫咪掉毛很严重,家中猫毛该如何清理?快来看资深铲屎官经验分享
想必铲屎官们都见识过换毛季的威力。拿我家举例,养了一只长毛,一只短毛,打扫完不用半天,家里就能重新出现不少猫毛。严重的时候,每天都要扫地机器人扫三次,拖一次。 最近两天外出,回来给它们梳…...
Midjourney进阶-反推与优化提示词(案例实操)
Midjourney中提示词是关键,掌握提示词的技巧直接决定了生成作品的质量。 当你看到一张不错的图片,想要让Midjourney生成类似的图片,却不知道如何描述画面撰写提示词,这时候Midjourney的/describe指令,正是帮助你推…...
大公报发表欧科云链署名文章:发行港元稳定币,建Web3.0新生态
欧科云链研究院资深研究员蒋照生近日与香港科技大学副校长兼香港Web3.0协会首席科学顾问汪扬、零壹智库创始人兼CEO柏亮,在大公报发布联合署名文章 ——《Web3.0洞察 / 发行港元稳定币,建Web3.0新生态》,引发市场广泛讨论。 文章就香港稳定币…...
Mybatis的一些常用知识点(面试)
什么是MyBatis? Mybatis 是⼀个半 ORM(对象关系映射)框架,它内部封装了 JDBC。 它让开发者在开发时只需要关注 SQL 语句本身,不需要花费精⼒去处理加载驱动、创建连接等繁杂的过程 缺点: SQL语句的编写⼯作量较⼤ SQ…...
stm32—ADC
1. 什么是ADC 生活中我们经常会用到ADC这种器件,比如说,当我们在使用手机进行语音通信时,ADC器件会将我们的声信号转换为电信号 (模拟信号 ---> 数字信号) 模拟信号: 模拟信号是指用连续变化的物理量表示的信息,其信…...
【微信小程序】吐槽生态之云开发服务端能力不足
回想起来,笔者开发小程序的经历也有4年多了,以前因为技术积累接触不到比较深层次的东西,也不理解软件生态这个概念,现在开发小程序的过程中,越来越觉得很多生态微信的进步空间很大。 问题引入 比如说,在迭…...
告别手动配置:用快马AI生成openclaw自动化安装与环境管理脚本
作为一名经常需要配置各种开发环境的程序员,我深刻体会到手动安装工具的繁琐。最近在搭建一个爬虫项目时需要用到openclaw,发现传统安装方式存在几个明显的效率痛点: 版本查找耗时:需要反复在官网和文档间切换,确认最…...
5步轻松打造随身游戏库:Playnite便携版终极配置指南
5步轻松打造随身游戏库:Playnite便携版终极配置指南 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址: https…...
从宇宙到地面:解析ICRS、GCRS、CIRS、TIRS和ITRS坐标系统的层级关系与应用场景
1. 从宇宙到地球:坐标系统的层级关系 想象一下你站在夜晚的旷野中仰望星空。那些闪烁的星星看似固定不动,但实际上它们的精确位置需要用一套复杂的坐标系统来描述。从天文学研究到日常导航,不同的坐标系统就像一套精密的俄罗斯套娃࿰…...
3款高效AI答题工具助力B站硬核会员试炼
3款高效AI答题工具助力B站硬核会员试炼 【免费下载链接】bili-hardcore bilibili 硬核会员 AI 自动答题脚本,直接调用 B 站 API,非 OCR 实现 项目地址: https://gitcode.com/gh_mirrors/bi/bili-hardcore B站硬核会员试炼要求用户在100道专业题目…...
保姆级教程:用C# WinForm给STM32写个Modbus固件升级工具(附完整源码)
从零构建STM32固件升级工具:C# WinForm与Modbus协议深度实践 1. 开发环境与项目初始化 在Visual Studio 2022中新建Windows窗体应用项目时,建议选择.NET Framework 4.7.2或更高版本以获得最佳兼容性。项目创建后,首先需要配置NuGet包管理器安…...
《基于S7-1200PLC的全自动洗衣机控制系统设计》 一、设计任务书 1.任务描述
《基于S7-1200PLC的全自动洗衣机控制系统设计》 一、设计任务书 1.任务描述:洗衣机的进水和排水分别由进水电磁阀和排水电磁阀来执行 进水时,通过电控系统时进水阀打开,将水由外桶排到机外 洗涤正转、反转由洗涤电动机驱动波盘正、反转来实现…...
G-Helper:轻量级华硕硬件控制的性能优化解决方案
G-Helper:轻量级华硕硬件控制的性能优化解决方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, a…...
【转子】基于matlab转子型线对机油泵性能影响【含Matlab源码 15264期】
💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞Ὁ…...
国内开发者如何高效集成Nano Banana Pro与Sora2?——API中转站选型与实战避坑指南
1. 为什么需要API中转站? 对于国内开发者来说,想要直接调用Nano Banana Pro和Sora2的官方API,面临着几个现实问题。首先是网络访问的稳定性,Google和OpenAI的API服务器都部署在海外,国内直连经常会出现高延迟、丢包甚至…...
Qwen3.5-2B企业应用案例:制造业设备手册图像问答系统搭建全流程
Qwen3.5-2B企业应用案例:制造业设备手册图像问答系统搭建全流程 1. 项目背景与需求分析 在制造业生产现场,设备操作手册是工人日常工作的必备参考资料。传统纸质手册或PDF文档存在以下痛点: 查找效率低:遇到问题时需要手动翻阅…...
