源码编译安装LAMP(安装apeche mysql php 论坛 网站 巨详细版)

news2024/12/25 9:28:17

目录

一.LAMP架构相关概述

1.各组件作用

Linux(平台)

Apache(前台)

MySQL(后台)

PHP/Perl/Python(中间连接)

总结

二.编译安装Apache httpd服务

1.关闭防火墙,将安装Apache所需软件包传到/opt目录下

2.安装环境依赖包

3.配置安装模块

4.编译及安装

5.优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变

量的目录中便于系统识别

6.添加httpd系统服务

7.修改httpd 服务配置文件

8.浏览器访问验证

三.编译安装mysqld服务

1.将安装mysql 所需软件包传到/opt目录下

​2.安装环境依赖包

​3.配置软件模块

4.编译及安装

5.创建mysql用户

​6.修改mysql 配置文件

7.更改mysql安装目录和配置文件的属主属组

8.设置路径环境变量

​9.初始化数据库

​10.添加mysqld系统服务

​11.修改mysql 的登录密码

四.编译安装PHP解析环境

1.将安装PHP 所需软件包传到/opt目录下

2.安装GD库和GD库关联程序,用来处理和生成图片

​3.配置软件模块

4.编译及安装

5.复制模版文件作为PHP 的主配置文件,并进行修改

6.优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识

​7.修改httpd 服务的配置文件,让apache支持PHP

8.验证PHP 测试页

五.安装论坛

1.创建数据库,并进行授权

2.解压论坛压缩包

3.更改论坛目录的属主

4.浏览器访问验证

六.安装网站

1.将所需软件包传入编辑

2.创建wordpress专属数据库编辑

3.浏览器访问验证


一.LAMP架构相关概述

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够

提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、

Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言

1.各组件作用

Linux(平台)

作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定

性,兼容性(AMP组件也支持Windows、UNIX等平台)

Apache(前台)

作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提

供网站访问,发送网页,图片等文件内容

MySQL(后台)

作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各

种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过

SQL语句来查询,更改这些信息

PHP/Perl/Python(中间连接)

作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以

协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多

用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发

总结

在构建LAMP平台时,各组件的安装顺序依次为Linux、Apache、MySQL、PHP。其中Apache和

MySQL的安装并没有严格的顺序,PHP环境的安装一般放到最后安装,负责沟通 Web 服务器和数

据库系统以协同工作

二.编译安装Apache httpd服务

1.关闭防火墙,将安装Apache所需软件包传到/opt目录下

systemctl disable --now firewalld

setenforce 0

vim /etc/selinux/config

cd /opt

mkdir apache

cd apache

2.安装环境依赖包

yum install -y gcc gcc-c++ make pcre pcre-devel expat-devel perl            

3.配置安装模块

[root@localhost apache]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost apache]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost apache]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ls

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

4.编译及安装

make -j 2

make install

5.优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变

量的目录中便于系统识别

ls /usr/local/

cd /usr/local/httpd/

6.添加httpd系统服务

[root@localhost bin]# vim apachectl 
[root@localhost bin]# cp apachectl /etc/init
init.d/  inittab  
[root@localhost bin]# cp apachectl /etc/init.d/httpd
[root@localhost bin]# cd /etc/init.d/
[root@localhost init.d]# ls
functions  httpd  netconsole  network  README
[root@localhost init.d]# vim httpd

6.1.

7.修改httpd 服务配置文件

[root@localhost conf]# vim httpd.conf
[root@localhost conf]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@localhost conf]# apachectl -t
Syntax OK

[root@localhost conf]# service httpd start 
[root@localhost conf]# service httpd status
/etc/init.d/httpd: line 100: lynx: command not found
[root@localhost conf]# netstat -lntp | grep :80

8.浏览器访问验证

cd /usr/local/httpd/

ls

cd htdocs/

ls

vim index.html

touch abc.html

ls

cp index.html abc.html

vim abc.html

三.编译安装mysqld服务

1.将安装mysql 所需软件包传到/opt目录下

cd /opt/

mkdir mysql

cd mysql/

ls

tar xf mysql-boost-5.7.44.tar.gz

ls


2.安装环境依赖包

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake openssl-devel


3.配置软件模块

cd mysql-5.7.44/

ls

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 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件

删除,然后再重新CMAKE,否则错误依旧

4.编译及安装

make -j 2

make install

5.创建mysql用户

useradd -M -s /sbin/nologin  mysql


6.修改mysql 配置文件

rpm -qa | grep mariadb

yum remove -y mariadb*

vim /etc/my.cnf

[mysql]
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash

[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=4096
default-storage-engine=INNODB
max_allowed_packet=32M
server-id = 1

sql_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

7.更改mysql安装目录和配置文件的属主属组

chown -R mysql:mysql mysql/

chown mysql:mysql /etc/my.cnf

8.设置路径环境变量

[root@localhost mysql]# vim /etc/profile
[root@localhost mysql]# source /etc/profile
[root@localhost mysql]# echo $PATH

export PATH=$PATH:/usr/local/mysql/bin


9.初始化数据库

cd bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data


10.添加mysqld系统服务

cd /usr/local/mysql/

cp mysqld.service /usr/lib/systemd/system

systemctl daemon-reload

systemctl start mysqld

systemctl enable mysqld

netstat -lntp | grep :3306


11.修改mysql 的登录密码

mysqladmin -u root password "abc123"

mysql -u root -pabc123

show databases;

四.编译安装PHP解析环境

1.将安装PHP 所需软件包传到/opt目录下

cd /opt/

mkdir php

cd php/

tar xf php-7.1.10.tar.bz2

2.安装GD库和GD库关联程序,用来处理和生成图片

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


3.配置软件模块

./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php/lib \
--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-tokenizer \
--enable-zip

4.编译及安装

make -j 2

make install

5.复制模版文件作为PHP 的主配置文件,并进行修改

cd /usr/local/

ln -s /usr/local/php/bin/* /usr/local/bin/

cp php.ini-production /usr/local/php/lib/php.
ini

cd /usr/local/php/lib/

vim php.ini

6.优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识

php -m


7.修改httpd 服务的配置文件,让apache支持PHP

vim httpd.conf

systemctl restart httpd


8.验证PHP 测试页

cd ..

cd htdocs/

vim index.php

五.安装论坛

1.创建数据库,并进行授权

mysql -u root -pabc123

show databases;

create database discuz;

show databases;

grant all on discuz.* to 'bbsamin'@'%' identified by 'admin123';

flush privileges;

2.解压论坛压缩包

unzip Discuz_X3.4_SC_UTF8.zip

cd /opt/dir_SC_UTF8


cp -a upload/ /usr/local/httpd/htdocs/discuz

3.更改论坛目录的属主

cd /usr/local/httpd/htdocs/discuz

chown -R daemon config/ data/ uc_client/ uc_server/

刷新一下

4.浏览器访问验证

六.安装网站

1.将所需软件包传入编辑

tar xf wordpress-4.9.4-zh_CN.tar.gz

cp -a wordpress /usr/local/httpd/htdocs/

cd !$

2.创建wordpress专属数据库编辑

create database wordpress;

show databases;

flush privileges;

3.浏览器访问验证

chown -R daemon wordpress/

chown -R daemon:daemon wordpress/

刷新一下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1699902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年【T电梯修理】考试内容及T电梯修理新版试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年【T电梯修理】考试内容及T电梯修理新版试题,包含T电梯修理考试内容答案和解析及T电梯修理新版试题练习。安全生产模拟考试一点通结合国家T电梯修理考试最新大纲及T电梯修理考试真题汇总,…

UI控件与视图层次:探索界面的无限可能

[OC]UI学习笔记 文章目录 [OC]UI学习笔记视图和视图层次结构CGRectUILabelUIButtonUIView控件UIView的层级关系UIWindow定时器和视图移动UISwitch进度条和滑动条控件步进器和分栏控件警告对话框与等待指示器UITextField 视图和视图层次结构 Objective-C中的UI编程主要围绕视图…

IO系列(八) -浅析NIO工作原理

一、简介 现在使用 NIO 的场景越来越多,很多网上的技术框架或多或少的使用 NIO 技术,譬如 Tomcat、Jetty、Netty,学习和掌握 NIO 技术已经不是一个 Java 攻城狮的加分技能,而是一个必备技能。 那什么是 NIO 呢? NIO…

民国漫画杂志《时代漫画》第24期.PDF

时代漫画24.PDF: https://url03.ctfile.com/f/1779803-1248635000-177187?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

怎么理解直接程序控制和中断方式?

直接程序控制 看完之后是不是依然一头雾水?来看下面两个例子 无条件传送 假设你正在使用键盘打字。当你敲击键盘上的一个键时,键盘会立即产生一个信号(即输入数据),并且这个信号会立即被电脑接收。在这个过程中&…

属于程序员的浪漫,一颗会跳动的心!!!

绘制一颗会跳动的心❤ 嘿嘿 可以说是程序员的专属浪漫了吧,就像点燃一颗LED灯一样?(我瞎说的啊,大家别当真,我很菜的!!!!) 程序就在下面啦,然…

Markdown魔法手册:解锁高效写作的新技能

边使用边更新0.0... 文章目录 一、如何在Markdown中插入表情?二、文字样式设置1.文本颜色设置2.文本字号设置3.文本字体设置4. 实战演练5.黄色高亮 一、如何在Markdown中插入表情? 在Markdown中插入表情(emoji)的方法取决于你使用…

C#--SVG矢量图画法示例

1.代码示例 <Viewbox Grid.Column"1" Grid.ColumnSpan"1" Grid.RowSpan"1" ><Path Name"ValveShape" Stroke"Black" Data"M 50,0 L 150,200 L 50,200 L 150,0 Z" Width"200" Height"…

网络安全等级保护:正确配置 Linux

正确配置 Linux 对Linux安全性的深入审查确实是一项漫长的任务。原因之一是Linux设置的多样性。用户可以使用Debian、Red Hat、Ubuntu或其他Linux发行版。有些可能通过shell工作&#xff0c;而另一些则通过某些图形用户界面&#xff08;例如 KDE 或 GNOME&#xff09;工作&…

uni-app微信小程序动态切换tabBar,根据不同用户角色展示不同的tabBar

前言 在UniApp的开发小程序过程中&#xff0c;为了针对不同角色用户登录后的个性化需求。通过动态权限配置机制&#xff0c;能够根据用户的角色展示不同的TabBar。此项目是通过Uni-App命令行的方式搭建的Vue3ViteTsPiniaUni-ui的小程序项目 最终效果 1、司机角色&#xff1a; …

Kubernetes(K8S) 集群环境搭建指南

Kubernetes&#xff08;简称K8s&#xff09;是一个开源的容器编排平台&#xff0c;旨在自动化部署、扩展和管理容器化应用。K8S环境搭建过程比较复杂&#xff0c;涉及到非常多组件安装和系统配置&#xff0c;本文将会详细介绍如何在服务器上搭建好Kubernetes集群环境。 在学习…

MybatisPlus中自定义sql

背景 在开发过程中&#xff0c;可能会出现除了where条件&#xff0c;其它sql比较复杂&#xff0c;这时候就需要用到自定义sql了。 问题 如&#xff1a;用户状态为正常的数据年龄加一&#xff08;所有用户年龄加一&#xff09; 数据库中sql&#xff1a; UPDATE USER SET…

Go GORM介绍

GORM 是一个功能强大的 Go 语言 ORM&#xff08;对象关系映射&#xff09;库&#xff0c;它提供了一种方便的方式来与 SQL 数据库进行交互&#xff0c;而不需要编写大量的 SQL 代码。 GORM的关键特性 全功能的ORM&#xff1a;支持几乎所有的ORM功能&#xff0c;包括模型定义、基…

【漏洞复现】英飞达医学影像存档与通信系统 WebJobUpload 任意文件上传漏洞

0x01 产品简介 英飞达医学影像存档与通信系统 Picture Archiving and Communicaton System&#xff0c;它是应用在医院影像科室的系统&#xff0c;主要的任务就是把日常产生的各种医学影像(包括核磁&#xff0c;CT&#xff0c;超声&#xff0c;各种X光机&#xff0c;各种红外仪…

如何编辑 PDF 中的文本?4个有效的编辑PDF方法

PDF 文件可以轻松打开和查看&#xff0c;但修改要复杂得多 - 尤其是在 PDF 中的文本编辑方面。 知道如何离线编辑 PDF 中的文本对于任何需要快速更改而无需在线加载文档或担心安全问题的人来说都非常有益。它使用户能够更好地控制他们的文档&#xff0c;并有更广泛的字体和图形…

详解 Scala 的集合类型

一、集合简介 1. 类型 序列 Seq&#xff1a;类似于 Java 中的 List 接口集 Set&#xff1a;类似于 Java 中的 Set 接口映射 Map&#xff1a;类似于 Java 中的 Map 接口所有的集合都扩展自 Iterable 特质 2. 不可变集合 位于 scala.collection.immutable 包&#xff0c;指该集…

【Linux】fork和exec中的信号继承探索

fork和exec中的信号继承探索 一、结论二、代码验证2.1 代码编写2.2 代码执行 三、linux源码验证四、APUE中的验证五、其他 一、结论 fork时子进程会继承父进程的信号处理方式&#xff0c;包括父进程设置信号为SIG_DFL或SIG_IGN或捕获后设置自定义处理函数。exce时子进程会继承…

有些错误,常犯常新、常新常犯:记录一个使用element-plus的tooltip组件的错误

使用element-plus的tooltip组件&#xff0c;最开始的写法是这样的&#xff1a; <el-tooltipclass"box-item"effect"dark"content"tooltip content" ><el-button v-if"isDisabled" :underline"false" type"pr…

一文扫尽Nas常用Docker软件

NAS&#xff08;Network Attached Storage&#xff0c;网络附加存储&#xff09;设备上的Docker软件选择取决于您的具体需求和用途。以下是一些NAS上常用的Docker软件推荐&#xff1a; Docker管理工具&#xff1a; Watchtower&#xff1a;它可以自动更新Docker容器中的镜像&…

从零开始学Vue3--环境搭建

1.搭建环境 下载nodejs nodejs下载地址 更新npm npm install -g npm 设置npm源&#xff0c;加快下载速度 npm config set registry https://registry.npmmirror.com 使用脚手架创建项目 npm create vuelatest 根据你的需要选择对应选项 进入新建的项目下载依赖 npm in…