LAMP依赖环境#
依赖包#
Copy
httpd-2.4.37.tar.gz
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
pcre-8.41.tar.gz
php-7.1.24.tar
mysql-5.7.19.tar.gz
下载地址#
Copy
下载源码安装包
https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.43.tar.gz
https://mirror.bit.edu.cn/apache/apr/apr-1.7.0.tar.gz
https://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
准备环境#
Copy
[root@SR ~]
[root@SR ~]
Apache编译安装#
Apache依赖包安装#
apr#
Copy
[root@SR ~]
[root@SR ~]
[root@SR apr-1.7.0]
[root@SR apr-1.7.0]
apr-util#
Copy
root@SR ~]
[root@SR ~]
[root@SR apr-util-1.6.1]
[root@SR apr-util-1.6.1]
xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
[root@SR ~]
prce#
Copy
[root@SR ~]
[root@SR ~]
[root@SR pcre-8.44]
[root@SR pcre-8.44]
Apache编译安装#
Copy
[root@SR ~]
[root@SR ~]
[root@SR httpd-2.4.37]
[root@SR ~]
make报错解决办法#
Copy
'''
如果make报如下错误
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] 错误 1
make[2]: 离开目录“/usr/local/src/httpd-2.4.28/support”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/usr/local/src/httpd-2.4.28/support”
make: *** [all-recursive] 错误 1
'''
解决办法
编译参数说明#
--prefix=/usr/local/apache |
#安装路径 |
--enable-so |
支持动态加载模块 |
--enable-rewrite |
支持网站地址重写 |
--enable-ssl |
支持 SSL 加密 |
--with-pcre=/usr/local/pcre |
pcre 路径 |
--with-apr=/usr/local/apr |
apr 路径 |
--with-apr-util=/usr/local/apr-util |
apr-util 路径 |
--with-mpm=event |
三种稳定的多进程处理模块 它们分别是 prefork, worker 和 event |
Apache启动脚本#
Copy
[root@SR ~]
[root@SR ~]
Apache服务脚本#
Copy
[root@SR ~]
[Unit]
Description=apache
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/apachectl start
ExecReload=/etc/init.d/apachectl restart
ExecStop=/etc/init.d/apachectl stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[root@SR ~]
启动服务#
Copy
[root@SR ~]
[root@SR ~]
设置Apache专有用户权限#
Copy
[root@SR ~]
[root@SR conf]
总用量 36
drwxr-xr-x. 2 apache apache 262 7月 31 09:06 bin
drwxr-xr-x. 2 apache apache 167 7月 31 09:06 build
drwxr-xr-x. 2 apache apache 78 7月 31 09:06 cgi-bin
drwxr-xr-x. 4 apache apache 106 7月 31 09:14 conf
drwxr-xr-x. 3 apache apache 4096 7月 31 09:06 error
drwxr-sr-x. 2 apache apache 24 3月 26 22:46 htdocs
drwxr-xr-x. 3 apache apache 8192 7月 31 09:06 icons
drwxr-xr-x. 2 apache apache 4096 7月 31 09:06 include
drwxr-xr-x. 2 apache apache 58 7月 31 09:14 logs
drwxr-xr-x. 4 apache apache 30 7月 31 09:06 man
drwxr-sr-x. 14 apache apache 8192 3月 26 22:46 manual
drwxr-xr-x. 2 apache apache 4096 7月 31 09:06 modules
修改 Apache 的运行用户#
Copy
[root@SR httpd-2.4.43]
root 51472 0.0 0.0 77108 2400 ? Ss 09:08 0:00 /usr/local/apache/bin/httpd -k start
daemon 51476 0.0 0.1 368156 4200 ? Sl 09:08 0:00 /usr/local/apache/bin/httpd -k start
daemon 51477 0.1 0.1 368156 4228 ? Sl 09:08 0:00 /usr/local/apache/bin/httpd -k start
daemon 51478 0.0 0.1 368156 4240 ? Sl 09:08 0:00 /usr/local/apache/bin/httpd -k start
root 51562 0.0 0.0 112728 976 pts/2 S+ 09:08 0:00 grep --color=auto apache
[root@SR conf]
修改
User daemon ----> User apache
修改
Group daemon ----> Group apache
[root@SR conf]
[root@SR conf]
root 51751 0.0 0.0 77108 2404 ? Ss 09:14 0:00 /usr/local/apache/bin/httpd -k start
apache 51753 0.0 0.1 368156 4244 ? Sl 09:14 0:00 /usr/local/apache/bin/httpd -k start
apache 51754 0.0 0.1 368156 4244 ? Sl 09:14 0:00 /usr/local/apache/bin/httpd -k start
apache 51756 0.0 0.1 368156 4236 ? Sl 09:14 0:00 /usr/local/apache/bin/httpd -k start
root 51850 0.0 0.0 112728 976 pts/2 S+ 09:16 0:00 grep --color=auto apache

MySQL编译安装#
创建MySQL专属用户#
Copy
[root@SR ~]
Copy
[root@SR ~]
[root@SR ~]
创建数据目录与日志#
Copy
[root@SR ~]
[root@SR ~]
修改权限为mysql用户#
Copy
[root@SR ~]
[root@SR ~]
[root@SR ~]
创建MySQL配置文件#
Copy
[root@SR ~]
[client]
port = 3306
socket = /data/mysql/mysql.sock
[mysqld]
port = 3306
user = mysql
socket = /data/mysql/mysql.sock
basedir = /usr/local/mysql
datadir = /data/mysql
log-error=/var/log/mysqld.log
添加环境变量#
Copy
[root@SR ~]
MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
[root@SR mysql]
数据库初始化#
Copy
[root@SR ~]
[root@SR mysql]
[root@SR mysql]
k_i;HR*Lu3sp
配置开机启动#
Copy
[root@SR mysql]
[root@SR mysql]
[root@SR mysql]
[root@SR mysql]
[root@SR mysql]

登录MySQL#
Copy
[root@SR mysql]
mysql> set password for root@localhost = password('root123');
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
PHP编译安装#
添加依赖包#
Copy
[root@SR ~]
[root@SR ~]
[root@SR ~]
[root@SR ~]
Copy
[root@SR ~]
编译安装#
Copy
[root@SR ~]
[root@SR php-7.2.31]
[root@xuegod63 ~]
参数解释#
--with-apxs2 |
将 php 编译为 Apache 的一个模块进行使用 |
--enable-mbstring |
多字节字符串的支持 |
--with-curl |
支持 cURL |
--with-gd |
支持 gd库 |
--enable-fpm |
支持构建 fpm |
--enable-mysqlnd |
启用 mysqlnd |
--with-pdo-mysql |
支持 pdo: MySQL 支持 |
--with-config-file-path |
设置配置文件路径 |
--with-mysqli |
支持 MySQLi |
--with-mysql-sock |
关联 mysql 的 socket 文件 |
--enable-maintainer-zts |
如果 Apache 是 event 模型,那需要指定 zts |
生成配置文件#
Copy
[root@SR php-7.2.31]
运行Apache支持php文件#
Copy
[root@SR php-7.2.31]
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
[root@SR php-7.2.31]
页面测试#
Copy
[root@SR php-7.2.31]
[root@SR htdocs]
<?php
phpinfo();
?>

连接MySQL#
Copy
<?php
$mysqli = new mysqli("localhost", "root", " XueGod!@#123");
if(!$mysqli) {
echo"database error";
}else{
echo"php env successful";
}
$mysqli->close();
phpinfo();
?>

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!