乐于分享
好东西不私藏

LAMP离线源码安装指南

LAMP离线源码安装指南

LAMP 是 Linux + Apache + MySQL(或 MariaDB)+ PHP 的缩写,是一种常用的 Web 服务环境组合。如果你需要在没有网络连接的 Linux 系统上离线安装 LAMP,可以按照以下步骤进行源码编译安装。整个过程包括准备阶段(在有网络的机器上下载源码包)和安装阶段(在目标离线机器上编译安装)。

一、准备工作(在联网机器上)

1. 确定目标系统信息

操作系统版本(如 CentOS 7、Ubuntu 20.04 等)

架构(x86_6 elit64 / aarch64 等)

已安装的基础开发工具(如 gcc、make、autoconf、libtool 等)

若目标机未安装基础编译工具,需提前将这些依赖也打包(如 rpm/deb 包或源码)。

2. 下载所需源码包(建议使用稳定版本)

表格

组件 官方网站 示例版本
Apache HTTP Server
https://httpd.apache.org/
httpd-2.4.58.tar.gz
APR / APR-Util(Apache 依赖)
https://apr.apache.org/
apr-1.7.4.tar.gz, apr-util-1.6.3.tar.gz
PCRE(Apache 依赖)
https://www.pcre.org/
pcre-8.45.tar.gz
OpenSSL(可选,用于 HTTPS)
https://www.openssl.org/
openssl-3.0.13.tar.gz
MySQL
https://dev.mysql.com/downloads/mysql/
mysql-8.0.36.tar.gz
或 MariaDB
https://mariadb.org/download/
mariadb-10.6.16.tar.gz
PHP
https://www.php.net/downloads.php
php-8.2.16.tar.gz
libxml2(PHP 依赖)
http://xmlsoft.org/
libxml2-2.12.5.tar.gz
zlib、libcurl、oniguruma 等(PHP 常用依赖) 各自官网

建议统一下载到一个目录,如 /lamp-offline,并打包为 lamp-offline.tar.gz,拷贝到离线机。


二、离线安装步骤(在目标机器上)

1. 安装基础编译环境(若未安装)

bash

编辑

CentOS/RHEL(需提前准备好 rpm 包)yuminstall-y gcc gcc-c++makeautoconf automake libtool

Ubuntu/Debian(需提前准备好 deb 包)apt-getinstall-y build-essential autoconf automake libtool pkg-config

若无法在线安装,请提前在联网机下载对应系统的开发工具包(如 gcc*.rpm),用 rpm -ivh 或 dpkg -i 安装。


2. 安装依赖库(按顺序)

(1) 安装 PCRE

bash

编辑

tar-zxvf pcre-8.45.tar.gzcdpcre-8.45./configure –prefix=/usr/local/pcremake&&makeinstall

(2) 安装 APR 和 APR-Util

bash

编辑

APRtar-zxvf apr-1.7.4.tar.gzcdapr-1.7.4./configure –prefix=/usr/local/aprmake&&makeinstall

APR-Utiltar-zxvf apr-util-1.6.3.tar.gzcdapr-util-1.6.3./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/aprmake&&makeinstall


3. 编译安装 Apache (httpd)

bash

编辑

tar-zxvf httpd-2.4.58.tar.gzcdhttpd-2.4.58

将 APR/APR-Util 复制到 srclib 目录(重要!)cp-r /path/to/apr-1.7.4 srclib/aprcp-r /path/to/apr-util-1.6.3 srclib/apr-util

./configure\–prefix=/usr/local/apache2\–with-pcre=/usr/local/pcre\–enable-so\–enable-rewrite\–enable-ssl

make&&makeinstall

启动测试:/usr/local/apache2/bin/apachectl start


4. 编译安装 MySQL 或 MariaDB

MySQL 8.0为例(较复杂,需 CMake):

bash

编辑

安装 cmake(若无)# 可提前下载 cmake 源码或二进制包

tar-zxvf mysql-8.0.36.tar.gzcdmysql-8.0.36

cmake.\-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\-DMYSQL_DATADIR=/usr/local/mysql/data\-DSYSCONFDIR=/etc\-DWITH_INNOBASE_STORAGE_ENGINE=1\-DENABLED_LOCAL_INFILE=1\-DDEFAULT_CHARSET=utf8mb4\-DDEFAULT_COLLATION=utf8mb4_general_ci

make-j4&&makeinstall

初始化数据库:

bash

编辑

cd/usr/local/mysqlmkdirmysql-fileschown-R mysql:mysql.bin/mysqld –initialize –user=mysqlbin/mysql_ssl_rsa_setup

bin/mysqld_safe –user=mysql&

注意:MySQL 8 编译依赖较多(如 boost),建议提前下载 boost 源码或使用 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/path/to/boost(但离线时必须手动提供)。

若追求简单,推荐使用 MariaDB,其编译依赖更少。


5. 编译安装 PHP

bash

编辑

tar-zxvf php-8.2.16.tar.gzcdphp-8.2.16

./configure\–prefix=/usr/local/php\–with-apxs2=/usr/local/apache2/bin/apxs\–with-mysqli=mysqlnd\–with-pdo-mysql=mysqlnd\–enable-mbstring\–with-curl\–with-openssl\–with-zlib\–enable-fpm\–with-libxml

make&&makeinstall

复制配置文件:

bash

编辑

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

编辑 Apache 配置以支持 PHP:

apache

编辑

在 /usr/local/apache2/conf/httpd.conf 中添加LoadModule php_module modules/libphp.so

SetHandler application/x-httpd-php

AddType application/x-httpd-php .php

重启 Apache:

bash

编辑

/usr/local/apache2/bin/apachectl restart

测试:创建/usr/local/apache2/htdocs/test.php

php

编辑

<?phpphpinfo();?>


三、注意事项

依赖地狱

:源码编译最大的难点是依赖管理。务必记录每个组件的依赖项。

路径一致性

:所有

–prefix

路径要统一,避免混乱。

用户权限

:MySQL/MariaDB 建议创建

mysql

用户运行。

防火墙/SELinux

:确保 80 端口开放。

日志查看

:Apache 日志在

/usr/local/apache2/logs/

,PHP 错误可开启

display_errors

调试。


四、替代建议(简化离线部署)

如果允许,可考虑:

在联网机完整安装 LAMP,然后用

rsync

或打包整个

/usr/local

到离线机(需相同系统环境)。

使用 Docker 镜像导出/导入(

docker save/load

),适合容器化环境。


如需针对特定 Linux 发行版(如 CentOS 7、Ubuntu 22.04)或具体版本提供详细脚本,请告知系统环境,我可以生成完整 Shell 脚本。

#LAMP

#系统运维

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » LAMP离线源码安装指南

评论 抢沙发

1 + 8 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮