LAMP源码安装配置实战

article/2025/9/23 4:31:28

今天继续给大家介绍Linux运维相关知识,本文主要内容是LAMP源码部署实战。
阅读本文,您需要对Linux源码安装有一定的了解,如果您对此还存在困惑,欢迎查阅我博客内的其他文章,相信您一定会有所收获!
LAMP源码安装原理
Linux 源码包软件安装操作与实战

一、LAMP安装准备

在进行LAMP架构部署之前,我们首先要准备一台干净的系统,该系统应该未安装过Apache、MySQL等软件同时,还应该安装好以下几个工具:

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

其次,我们要上传LAMP的相关源码包,除了Apache、MySQL、PHP三个源码包外,我们还需要准备好三个依赖包,分别是Apache的依赖包——apr、apr-utils和pcre。在本实验中,上述安装包的版本分别是:
apr:1.5.2
apr-utils:1.5.4
apache:2.4.16
mysql:5.6.26
pcre:8.37
php:5.6.13
上述源码包需要全部上传到设备上,如下所示:
在这里插入图片描述
上述源码包的下载网页为:
apr、apr-utils:http://apr.apache.org/
apache:http://httpd.apache.org/
mysql:http://dev.mysql.com/downloads/mysql/
pcre:http://pcre.org/
php:http://php.net/downloads.php
注:如果链接失效,可以在百度直接搜索官网,然后再官网下载即可。

二、Apache源码安装

(一)apr和apr-utils依赖包安装

在进行Apache的源码安装部署前,我们需要首先安装Apache的依赖包——apr、apr-utils和pcre。
由于是源码安装部署,因此apr、apt-utils和pcre必须要经过预编译、编译和安装三个阶段,apr的预编译需要进入到解压后的源码包目录下,执行命令:

./configure --prefix=/usr/local/apr

在这里,–prefix参数指明了apr的安装目录,在本实验中,所有的软件包都会安装到/usr/local/目录下的同名目录中。使用echo $?,如果返回为0,则表示预编译成功!(只有完成预编译后才可以进行下步操作,在后面的检验效果与此相同,就不在每次检测时进行赘述了)在预编译成功后,可以执行命令:

make -j 4&& make install

其中make为编译,make install为安装,-j 4表示同时启用4个进程执行编译操作,会加快编译进入,后面的编译和安装的命令也大致如此。一般情况下,只要预编译成功,那么编译和安装也不会有太大的问题。
apr-utils的预编译也需要进入到解压后的源码包目录下,执行命令:

./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr

在成功进行预编译后,还是执行命令:

make -j 4&& make install

以完成编译和安装操作。
pcre的预编译也需要进入到解压后的源码包目录下,执行命令:

./configure --prefix=/usr/local/pcre 

在成功进行预编译后,还是执行命令:

make -j 4&& make install

以完成编译和安装操作。

(二)apache源码安装

在完成Apache的依赖包安装后,我们即可进行apache的源码安装了。与Apache的依赖安装过程不同,apache的预编译过程需要有很多的命令:

./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-utils --with-pcre=/usr/local/pcre --enable-so --enable-ssl --enable-rewrite --enable-mpms-shared=all --enable-modules=most

上述各参数的作用为:
–with-apr、–with-apr-util、–with-pcre:指定Apache的依赖apr、apr-util和pcre的安装位置,
–prefix:指定apache的安装位置
–enable-so、–enable-ssl、–enable-mpms-all、–enable-rewrite、–enable-modules=most表示安装apache不同的模块。
在成功进行预编译后,还是执行命令:

make -j 4&& make install

以完成编译和安装操作。

(三)配置apache启动脚本

由于我们是采用源码的方式安装的Apache,因此我们虽然已经安装好了apache,但是其启动命令在/usr/local/httpd/bin/目录下,启动命令为httpd,我们接下来需要配置apache的启动脚本。首先,打开/usr/local/httpd/bin/apachectl,在第二行插入以下内容:

# chkconfig 2345 64 36

choconfig用于配置apache的开启自启顺序,2345是指当开机以2、3、4、5级别时自启动,64是指apache在网卡启动后进行启动,36是指在网卡关闭后进行关闭。当然,如果不想配置Apache的开机自启,可以不配置上述内容。
修改后的配置文件如下所示:
在这里插入图片描述
然后,我们把Apache的该配置文件复制到/etc/init.d下,并重命名为httpd,这样,我们就可以执行命令:

systemctl start httpd

或者是:

/etc/init.d/httpd start

来开启Apache服务了。

(四)配置Apache启动用户

此外,虽然我们此时已经可以启动Apache了,但是此时Apache的启动是以daemon用户的身份来启动的,源码安装apache不会自动创建apache用户,因此,我们还需要为Apache创建启动用户。
执行命令:

useradd -M -s /sbin/nologin apache

可以创建Apache的启动用户,然后打开Apache的主配置文件:/usr/local/httpd/conf/httpd.conf,找到其中的User和Group参数,将默认的daemon用户改为apache,这样,当我们再次启动Apache时,就会以刚刚我们创建的apache用户来运行了。

三、MySQL源码安装

(一)安装MySQL

在进行MySQL的源码安装之前,我们需要首先创建运行MySQL的用户,执行命令:

useradd -M -s /sbin/nologin mysql

与Apache不同,MySQL采用的cmake的编译和安装方式,其预编译命令如下:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL-USER=mysql

上述参数作用如下:
1、DCMAKE_INSTALL_PREFIX用于指定MySQL的安装目录。
2、DDEFAULT_CHARSET用于指定默认字符集。
3、DMYSQL_UNIX_ADDR用于指定服务器与本地客户端进行通信的Unix套接字文件。
4、DDEFAULT_COLLATION用于指定默认的字符校对集。
5、DWITH_EXTRA_CHARSETS用于指定MySQL支持所有字符集。
6、DWITH_MYISAM_STORAGE_ENGINE用于指定MySQL支持MyISAM引擎。
7、DWITH_INNOBASE_STORAGE_ENGINE用于指定MySQL支持InnoDB引擎。
8、DWITH_MEMORY_STORAGE_ENGINE用于指定MySQL支持Memory引擎。
9、DWITH_READLINE用于指定MySQL支持ReadLine库。
10、DENABLED_LOCAL_INFILE用于指定MySQL允许倒入本地数据,启用本地加载数据。
11、DMYSQL_DATADIR用于指定MySQL数据库的安放路径。
12、DMYSQL-USER用于指定运行MySQL的用户。
MySQL的常见参数还有很多,如果想要了解更多参数的使用详情,可以参考以下网站:
https://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
该网站如下:
在这里插入图片描述
在成功进行预编译后,还是执行命令:

make -j 4&& make install

以完成编译和安装操作。

(二)配置和初始化MySQL

在安装完毕MySQL后,我们还需要对MySQL进行配置。
首先,修改MySQL的配置文件属主和属组,执行命令:

chown -R mysql.mysql /usr/local/mysql

其次,修改MySQL主配置文件,打开/usr/local/mysql/support-files/my-default.cnf,找打其中的basedir和datadir选项,修改为我们的MySQL设置和安装路径,如下:

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

然后,复制MySQL的配置文件和启动脚本,执行命令:

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 

最后,初始化MySQL数据库并进行安全设置,执行命令:

 /usr/locl/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf  --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
/usr/local/mysql/bin/mysql_secure_installation

这样,MySQL就安装完毕了。

四、PHP源码安装

(一)安装PHP

在完成上述操作后,我们就可以源码安装PHP了,进入到PHP的安装目录后,执行命令:

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/httpd/bin/apxs --with-config-file-path=/usr/local/php

即可进行PHP的源码安装预编译了。
在预编译命令中,–prefix参数用于指定PHP的安装目录,–with-mysql用于指定MySQL的安装目录,–with-apxs2用于指定Apache的apx模块,将PHP编译为Apache的一个模块,–with-config-file-path用于指定PHP的主配置文件php.ini的安装目录。
在成功进行预编译后,还是执行命令:

make -j 4&& make install

以完成编译和安装操作。

(二)配置Apache支持PHP

接下来,我们还需要配置Apache支持PHP文件的解析,打开Apache的主配置文件,/usr/local/httpd/conf/httpd.conf,找到AddType字段,大概在381行左右,如下所示:
在这里插入图片描述
在该字段下面添加如下内容:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

添加时,要注意点前面的空格。
添加完成后,配置文件如下所示:
在这里插入图片描述
这样,Apache就可以支持PHP模块了。

五、安装验证

最后,我们来验证一下刚才安装的结果,在我们刚刚配置的LAMP架构下,安装wordpress,并检验安装效果。worpress是一款免费的个人博客软件,可以直接在官网下载到,我采用的版本是4.8。下载该软件后,上传到设备中,并进行解压。
将解压后的内容复制到Apache的网站目录下,并访问该网站,结果如下所示:
在这里插入图片描述
点击Let’s go!配置MySQL数据的相关信息,如下所示:
在这里插入图片描述
此时,我们需要登录MySQL数据库,建立wordpress数据库,并按照我们的配置进行授权,命令如下:

create database wordpress;
grant all on wordpress.* to 'username'@'localhost' identified by 'password';

之后按照提示一直进行配置,配置wordpress的用户名、密码和标题信息,如下所示:
在这里插入图片描述
完成配置后,最终登录页面如下:
在这里插入图片描述
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200


http://chatgpt.dhexx.cn/article/UGivh6cY.shtml

相关文章

Ubuntu安装LAMP

在安装vim时遇到了一个问题: E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它? 解决办法:强制解锁 sudo rm /var/li…

Lamp安装wordpress(博客系统)

安装环境 服务器集群单节点,机器最低配置:双核 CPU、4GB 内存、20G 硬盘运行环境CentOS 7.4服务和组件php、httpd、mysql;wordpress-4.7.3-zh_CN.zipls 安装过程 步骤一:使用yum命令安装php、HTTP、mysql服务 yum install -y …

安装lamp服务器系统,LAMP安装环境搭建详解

实现LAMP 1.LAMP工作原理 LAMP是一个强大的Web应用程序平台,其中L是指linux系统;A是指apache也就是http;M一般是MySQL/mariadb数据库;P一般是php, perl, Python其中之一。 工作过程: 1》当客户端请求的是静态资源时,web服务器会直…

bitnami-lamp安装教程

准备工作 官网下载地址 下载 bitnami-lampstack-8.0.3-2-linux-x64-installer.run 软件包官网下载地址 工具包:bitnami-wordpress-5.7.1-0-module-linux-x64-installer.run (个人博客 可选别的) 1.安装lamp 先用工具传入linux下,找到文件路径 ps&…

lamp安装操作讲解

1. lamp简介 有了前面学习的知识的铺垫,今天可以来学习下第一个常用的web架构了。 所谓lamp,其实就是由LinuxApacheMysql/MariaDBPhp/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其它各部件本身都是各自独立的程序&#xff0c…

LAMP安装

目录 一、LAMP架构介绍 LAMP概述 (平台)Linux (前台)Apache (后台)MySQL (中间连接)PHP/Perl/Python LAMP各组件安装顺序 二、编译安装Apache httpd服务 1.关闭防火墙,将安装Apache所需软件包传到/opt目录下 2.安装环境依赖包 3.配置软件模块 4.编译及安…

LAMP源码编译安装之Apache

LAMP源码编译安装之Apache 一.LAMP的基本架构概述1.LAMP架构2.各组件的主要作用如下 二.编译安装Apache httpd服务1.关闭防火墙,将安装Apache所需软件包传到/opt目录下2.安装环境依赖包3.配置软件模块4.编译及安装5.优化配置文件路径6.添加httpd系统服务7.修改httpd…

LAMP-手动架构部署

1. lamp简介 有了前面学习的知识的铺垫,今天可以来学习下第一个常用的web架构了。 所谓lamp,其实就是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其它各部件本身都是各自独立的程序,但是因为经常被放在一起使用,拥有了越…

搭建LAMP架构 (百分百成功)

1.LAMP的含义 2.各自含义的作用 3.搭建LAMP所需要的环境 4.安装步骤 LAMP的含义: L:代表的是Linux操作系统 A:代表的是httpd服务,对外提供的网站 M:代表的是网站后台所使用的mysql数据库服务 P:代表的是php语言 各自含义的作用: Linux就不…

LAMP环境搭建

前言 一、在虚拟机上安装Linux系统 二、安装Apache 1.下载好后,看了看版本,不是太老,就没有继续安装。 2.开启Apache服务 3.设置Apache开机启动服务 4.尝试一下是否启动了服务(访问虚拟机IP) 三、安装mysql 1.…

LAMP安装详细教程

准备: 一台CentOS 7 虚拟机 yum更新完毕! 打开终端 第一步:systemctl stop firewalld //关闭防火墙 第二步:systemctl disable firewalld //禁用防火墙 第三步:yum install httpd //下载apache systemctl sta…

backtracking及其应用

文章目录 应用场景N-QueensPermutationsPermutations II 参考资料 backtracking(回溯法)是一种算法,主要用来解决带限制条件的计算问题( CSP)。 特点如下: 和暴力匹配算法一样,会尝试所有的可能性。比暴力匹配算法好,会在尝试的过…

bt5 mysql字典,backtrack5下载

对于喜欢使用linux操作系统的盆友们来说,backtrack5将会是你们不错的选择,它完美支持Live CD和Live USB启动方式,可以让用户直接从移动介质启动该系统。有了BT5,您就不用担心网络无法进行访问,因为它可是拥有无线射频技…

BackTrack5使用3proxy实现内网穿透

本次实验使用BT5攻击机中的3proxy实现内网穿透实验。 实验机IP地址:192.168.113.140 首先使用搭建apache2服务,监听本地80端口 apache2服务搭建: 进入/etc/apache2中,确认apache2.conf的根目录。并确定ports.conf的监听端口为8…

backtracking及其应用2

文章目录 SubsetsSubsets II 接上文: backtracking及其应用 Subsets 链接:https://leetcode.com/problems/subsets/ 如果没有接触过backtracking,这道题的常规解法应该是位操作 func subsets(nums []int) [][]int {lth : len(nums)cnt : i…

Backtracking algorithm梳理

回溯法简介 注意下面这句话 由于回溯通常结果集都记录在回溯树的路径上,因此如果不进行撤销操作, 则可能在回溯后状态不正确导致结果有差异, 因此需要在递归到底部往上冒泡的时候进行撤销状态。 如果你每次递归的过程都拷贝了一份数据&#x…

ARM backtrace 实战分析

记录一下arm backtrace 分析过程 前言 嵌入式开发中,如果发生异常如内存访问越界等情况,有时会非常难debug到底是哪里出错,近来看了一下back trace回溯的功能及实现,在这里做个笔记。 backtrace就是回溯堆栈,简单的说就是可以列…

backtrack 5 r3

1.BT5默认用户名:root.密码:toor(公司是yeslabccies) 2.进入图形化界面命令:startx 3.更改密码:sudo passwd root 扫描工具 第一部分网络配置: 4.网络配置文件有两个: /etc/network/interfaces 和 /etc/resolv.conf 前一个存放网卡接口…

backtrack3安装使用教程

一、准备篇 1、一个有可破解无线信号的环境。如我在家随便搜索出来的信号。 2、带无线网卡的电脑一台(笔记本台式机均可,只要无线网卡兼容BT3),我用的是三星R467的上网本。  3、2G以上优盘一个(我用的是2G的&#x…

安装BackTrack5 R3

最近买了本《Python绝技》,里面的很多实例都是在BackTrack系统中运行的。初次接触BackTrack系统,才知道它是一套专业的计算机安全检测的Linux操作系统,内部集成了200多种安全检查工具。虽然现在BackTrack已经被Kali Linux所代替,不…