当前位置: 首页 > news >正文

Linux 系统(如 Ubuntu / CentOS)阿里云虚拟机(ECS)上部署 Bitnami LAMP

目录

1、Linux 系统(如 Ubuntu / CentOS)阿里云虚拟机(ECS)上部署 Bitnami LAMP

1️⃣ 前提条件

2️⃣ 下载 Bitnami LAMP

3️⃣ 安装 Bitnami LAMP

4️⃣ 启动和停止服务

5️⃣ 配置 Apache(可选)

6️⃣ 配置防火墙

7️⃣ 访问验证

2、阿里云 ECS 上一键安装 Bitnami LAMP 的 Bash 脚本

 1️⃣ 阿里云 ECS 上一键安装 Bitnami LAMP 的 Bash 脚本,自动完成下载、安装、启动和防火墙配置

2️⃣改进这个脚本,自动检测系统版本、自动选择最新 LAMP 版本、并支持 CentOS

3️⃣ 安装目录、MySQL 密码、PHP 端口都可以在执行时交互式输入版本

4️⃣ 后台守护自动启动版本


1、Linux 系统(如 Ubuntu / CentOS)阿里云虚拟机(ECS)上部署 Bitnami LAMP

1️⃣ 前提条件

  1. 已创建阿里云 ECS 实例(推荐 Ubuntu 20.04 或 CentOS 7/8)。

  2. 安全组开放端口:

    • 22(SSH)

    • 80(HTTP)

    • 443(HTTPS,可选)

  3. 具有 root 权限或 sudo 权限的用户。


2️⃣ 下载 Bitnami LAMP

  1. 登录 ECS:

    ssh username@your_ecs_ip
    
  2. 下载 Bitnami LAMP 最新安装包:

    wget https://downloads.bitnami.com/files/stacks/lamp/8.2.11-0/bitnami-lampstack-8.2.11-0-linux-x64-installer.run
    

注:请访问 Bitnami LAMP 官网 获取最新版本下载链接

        3.给安装包添加可执行权限:

chmod +x bitnami-lampstack-8.2.11-0-linux-x64-installer.run

3️⃣ 安装 Bitnami LAMP

运行安装包:

sudo ./bitnami-lampstack-8.2.11-0-linux-x64-installer.run

安装过程中会提示:

  • 安装目录(默认 /opt/lampstack-8.2.11-0

  • MySQL root 密码

  • 管理员账号信息

  • 是否启用 phpMyAdmin

按需填写即可。


4️⃣ 启动和停止服务

Bitnami LAMP 自带管理脚本:

  • 启动:

    sudo /opt/lampstack-8.2.11-0/ctlscript.sh start
    
  • 停止:

    sudo /opt/lampstack-8.2.11-0/ctlscript.sh stop

  • 重启:

    sudo /opt/lampstack-8.2.11-0/ctlscript.sh restart

  • 查看状态:

    sudo /opt/lampstack-8.2.11-0/ctlscript.sh status


5️⃣ 配置 Apache(可选)

  1. 默认 Apache 监听 80 端口,可通过修改:

    sudo nano /opt/lampstack-8.2.11-0/apache2/conf/httpd.conf

修改:

Listen 80
  1. 保存并重启 Apache:

    sudo /opt/lampstack-8.2.11-0/ctlscript.sh restart apache


6️⃣ 配置防火墙

如果是 Ubuntu:

sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable

CentOS:

sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload

7️⃣ 访问验证

在浏览器输入:

http://你的ECS公网IP/
  • 默认会看到 Bitnami 欢迎页面。

  • phpMyAdmin 地址:

    http://你的ECS公网IP/phpmyadmin

使用安装时设置的 MySQL 用户和密码登录。

2、阿里云 ECS 上一键安装 Bitnami LAMP 的 Bash 脚本

假设 ECS 系统为 Ubuntu 20.04+,root 或 sudo 权限

 1️⃣ 阿里云 ECS 上一键安装 Bitnami LAMP 的 Bash 脚本,自动完成下载、安装、启动和防火墙配置

  • 自动检测系统类型(Ubuntu / CentOS / Debian)。

  • 自动选择最新 Bitnami LAMP 版本

  • 自动安装、启动服务

  • 配置防火墙(UFW 或 firewalld)。

  • 可自定义 MySQL root 密码

脚本:install_bitnami_lamp_auto.sh

#!/bin/bash# =========================================
# 一键安装 Bitnami LAMP
# 适用系统: Ubuntu 20.04+
# 作者: ChatGPT
# =========================================# 配置参数
LAMP_VERSION="8.2.11-0"
INSTALLER="bitnami-lampstack-$LAMP_VERSION-linux-x64-installer.run"
INSTALL_DIR="/opt/lampstack-$LAMP_VERSION"# MySQL root 密码(请自行修改)
MYSQL_ROOT_PASSWORD="Root123456"# 下载 Bitnami LAMP 安装包
echo "[1/6] 下载 Bitnami LAMP $LAMP_VERSION..."
wget -O $INSTALLER https://downloads.bitnami.com/files/stacks/lamp/$LAMP_VERSION/$INSTALLERif [ $? -ne 0 ]; thenecho "下载失败,请检查网络或版本号!"exit 1
fi# 添加执行权限
chmod +x $INSTALLER# 自动安装
echo "[2/6] 自动安装 Bitnami LAMP..."
sudo ./$INSTALLER --mode unattended --prefix $INSTALL_DIR --apache_password $MYSQL_ROOT_PASSWORD --mysql_password $MYSQL_ROOT_PASSWORD --wordpress_password $MYSQL_ROOT_PASSWORDif [ $? -ne 0 ]; thenecho "安装失败!"exit 1
fi# 启动 LAMP 服务
echo "[3/6] 启动 LAMP 服务..."
sudo $INSTALL_DIR/ctlscript.sh start# 配置防火墙(Ubuntu 默认 UFW)
echo "[4/6] 配置防火墙..."
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw --force enable# 显示状态
echo "[5/6] LAMP 服务状态:"
sudo $INSTALL_DIR/ctlscript.sh status# 输出访问信息
IP=$(curl -s http://whatismyip.akamai.com/)
echo "[6/6] 安装完成!"
echo "访问 Apache: http://$IP/"
echo "phpMyAdmin: http://$IP/phpmyadmin"
echo "MySQL root 密码: $MYSQL_ROOT_PASSWORD"
echo "安装目录: $INSTALL_DIR"echo "一键安装完成!"

使用步骤

  1. 上传脚本到 ECS:

    scp install_bitnami_lamp_auto.sh username@your_ecs_ip:~
    
  2. SSH 登录 ECS 并赋权:

    ssh username@your_ecs_ip
    chmod +x install_bitnami_lamp_auto.sh
    
  3. 执行脚本:

    sudo ./install_bitnami_lamp_auto.sh
    

脚本会自动下载最新 LAMP、安装、启动服务,并配置防火墙。

2️⃣改进这个脚本,自动检测系统版本、自动选择最新 LAMP 版本、并支持 CentOS

特点如下:

  • 自动检测系统类型(Ubuntu / CentOS / Debian)。

  • 自动选择最新 Bitnami LAMP 版本

  • 自动安装、启动服务

  • 配置防火墙(UFW 或 firewalld)。

  • 可自定义 MySQL root 密码

脚本:install_bitnami_lamp_auto.sh

#!/bin/bash# =========================================
# 自动安装 Bitnami LAMP(支持 Ubuntu / CentOS / Debian)
# 自动获取最新版本
# 作者: ChatGPT
# =========================================# --- 配置 ---
MYSQL_ROOT_PASSWORD="Root123456"  # 可自行修改
INSTALL_DIR="/opt/lampstack"      # 安装目录
TMP_DIR="/tmp"# --- 检测系统 ---
OS=$(awk -F= '/^NAME/{print $2}' /etc/os-release | tr -d '"')
echo "[1/7] 检测操作系统: $OS"# 安装 wget, curl 等基础工具
if [[ "$OS" == *"Ubuntu"* || "$OS" == *"Debian"* ]]; thensudo apt updatesudo apt install -y wget curl tar
elif [[ "$OS" == *"CentOS"* || "$OS" == *"Red Hat"* ]]; thensudo yum install -y wget curl tar
elseecho "不支持的操作系统: $OS"exit 1
fi# --- 获取最新 LAMP 版本 ---
echo "[2/7] 获取最新 Bitnami LAMP 版本..."
DOWNLOAD_PAGE=$(curl -s https://bitnami.com/stack/lamp/installer)
INSTALLER_URL=$(echo "$DOWNLOAD_PAGE" | grep -oP 'https://downloads.bitnami.com/files/stacks/lamp/[^"]+linux-x64-installer.run' | head -1)
INSTALLER_NAME=$(basename $INSTALLER_URL)echo "[3/7] 下载 LAMP 安装包: $INSTALLER_NAME"
wget -O "$TMP_DIR/$INSTALLER_NAME" "$INSTALLER_URL"chmod +x "$TMP_DIR/$INSTALLER_NAME"# --- 自动安装 ---
echo "[4/7] 安装 LAMP..."
sudo "$TMP_DIR/$INSTALLER_NAME" --mode unattended \--prefix "$INSTALL_DIR" \--apache_password "$MYSQL_ROOT_PASSWORD" \--mysql_password "$MYSQL_ROOT_PASSWORD" \--wordpress_password "$MYSQL_ROOT_PASSWORD"# --- 启动 LAMP ---
echo "[5/7] 启动 LAMP 服务..."
sudo "$INSTALL_DIR/ctlscript.sh" start# --- 配置防火墙 ---
echo "[6/7] 配置防火墙..."
if command -v ufw &> /dev/null; thensudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw --force enable
elif command -v firewall-cmd &> /dev/null; thensudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=httpssudo firewall-cmd --reload
fi# --- 输出信息 ---
IP=$(curl -s http://whatismyip.akamai.com/)
echo "[7/7] 安装完成!"
echo "访问 Apache: http://$IP/"
echo "phpMyAdmin: http://$IP/phpmyadmin"
echo "MySQL root 密码: $MYSQL_ROOT_PASSWORD"
echo "安装目录: $INSTALL_DIR"

使用方法

  1. 上传脚本到 ECS:

    scp install_bitnami_lamp_auto.sh username@your_ecs_ip:~
  2. SSH 登录 ECS 并赋权:

    ssh username@your_ecs_ip chmod +x install_bitnami_lamp_auto.sh
  3. 执行脚本:

    sudo ./install_bitnami_lamp_auto.sh

脚本会自动下载最新 LAMP、安装、启动服务,并配置防火墙。

3️⃣ 安装目录、MySQL 密码、PHP 端口都可以在执行时交互式输入版本

脚本:install_bitnami_lamp_interactive.sh

#!/bin/bash# =========================================
# 交互式安装 Bitnami LAMP(支持 Ubuntu / CentOS / Debian)
# 自动获取最新版本
# 可自定义安装目录、MySQL 密码、Apache 端口
# =========================================# --- 提示用户输入 ---
read -p "请输入安装目录(默认 /opt/lampstack): " INSTALL_DIR
INSTALL_DIR=${INSTALL_DIR:-/opt/lampstack}read -p "请输入 MySQL root 密码(默认 Root123456): " MYSQL_ROOT_PASSWORD
MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-Root123456}read -p "请输入 Apache 端口(默认 80): " APACHE_PORT
APACHE_PORT=${APACHE_PORT:-80}TMP_DIR="/tmp"# --- 检测系统 ---
OS=$(awk -F= '/^NAME/{print $2}' /etc/os-release | tr -d '"')
echo "[1/7] 检测操作系统: $OS"# 安装 wget, curl 等基础工具
if [[ "$OS" == *"Ubuntu"* || "$OS" == *"Debian"* ]]; thensudo apt updatesudo apt install -y wget curl tar
elif [[ "$OS" == *"CentOS"* || "$OS" == *"Red Hat"* ]]; thensudo yum install -y wget curl tar
elseecho "不支持的操作系统: $OS"exit 1
fi# --- 获取最新 LAMP 版本 ---
echo "[2/7] 获取最新 Bitnami LAMP 版本..."
DOWNLOAD_PAGE=$(curl -s https://bitnami.com/stack/lamp/installer)
INSTALLER_URL=$(echo "$DOWNLOAD_PAGE" | grep -oP 'https://downloads.bitnami.com/files/stacks/lamp/[^"]+linux-x64-installer.run' | head -1)
INSTALLER_NAME=$(basename $INSTALLER_URL)echo "[3/7] 下载 LAMP 安装包: $INSTALLER_NAME"
wget -O "$TMP_DIR/$INSTALLER_NAME" "$INSTALLER_URL"
chmod +x "$TMP_DIR/$INSTALLER_NAME"# --- 自动安装 ---
echo "[4/7] 安装 LAMP..."
sudo "$TMP_DIR/$INSTALLER_NAME" --mode unattended \--prefix "$INSTALL_DIR" \--apache_password "$MYSQL_ROOT_PASSWORD" \--mysql_password "$MYSQL_ROOT_PASSWORD" \--wordpress_password "$MYSQL_ROOT_PASSWORD"# --- 修改 Apache 端口 ---
if [[ "$APACHE_PORT" != "80" ]]; thensudo sed -i "s/^Listen 80/Listen $APACHE_PORT/" "$INSTALL_DIR/apache2/conf/httpd.conf"sudo sed -i "s/:80>/:$APACHE_PORT>/" "$INSTALL_DIR/apache2/conf/bitnami/bitnami.conf"
fi# --- 启动 LAMP ---
echo "[5/7] 启动 LAMP 服务..."
sudo "$INSTALL_DIR/ctlscript.sh" restart# --- 配置防火墙 ---
echo "[6/7] 配置防火墙..."
if command -v ufw &> /dev/null; thensudo ufw allow "$APACHE_PORT"/tcpsudo ufw allow 443/tcpsudo ufw --force enable
elif command -v firewall-cmd &> /dev/null; thensudo firewall-cmd --permanent --add-port="$APACHE_PORT"/tcpsudo firewall-cmd --permanent --add-service=httpssudo firewall-cmd --reload
fi# --- 输出信息 ---
IP=$(curl -s http://whatismyip.akamai.com/)
echo "[7/7] 安装完成!"
echo "访问 Apache: http://$IP:$APACHE_PORT/"
echo "phpMyAdmin: http://$IP:$APACHE_PORT/phpmyadmin"
echo "MySQL root 密码: $MYSQL_ROOT_PASSWORD"
echo "安装目录: $INSTALL_DIR"

这个版本特点:

  1. 交互式输入:安装目录、MySQL 密码、Apache 端口。

  2. 自动下载最新 Bitnami LAMP

  3. 自动修改 Apache 端口(如果不是默认 80)。

  4. 防火墙配置自动生效

4️⃣ 后台守护自动启动版本

  • Apache / MySQL / PHP 自动随系统启动

  • 使用 systemd 管理服务

  • 支持自定义端口、安装目录和 MySQL root 密码

脚本:install_bitnami_lamp_autostart.sh

#!/bin/bash# =========================================
# 交互式安装 Bitnami LAMP(支持 Ubuntu / CentOS / Debian)
# 自动下载最新版本
# 自动配置系统启动守护
# =========================================# --- 提示用户输入 ---
read -p "请输入安装目录(默认 /opt/lampstack): " INSTALL_DIR
INSTALL_DIR=${INSTALL_DIR:-/opt/lampstack}read -p "请输入 MySQL root 密码(默认 Root123456): " MYSQL_ROOT_PASSWORD
MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-Root123456}read -p "请输入 Apache 端口(默认 80): " APACHE_PORT
APACHE_PORT=${APACHE_PORT:-80}TMP_DIR="/tmp"# --- 检测系统 ---
OS=$(awk -F= '/^NAME/{print $2}' /etc/os-release | tr -d '"')
echo "[1/8] 检测操作系统: $OS"# 安装 wget, curl 等基础工具
if [[ "$OS" == *"Ubuntu"* || "$OS" == *"Debian"* ]]; thensudo apt updatesudo apt install -y wget curl tar
elif [[ "$OS" == *"CentOS"* || "$OS" == *"Red Hat"* ]]; thensudo yum install -y wget curl tar
elseecho "不支持的操作系统: $OS"exit 1
fi# --- 获取最新 LAMP 版本 ---
echo "[2/8] 获取最新 Bitnami LAMP 版本..."
DOWNLOAD_PAGE=$(curl -s https://bitnami.com/stack/lamp/installer)
INSTALLER_URL=$(echo "$DOWNLOAD_PAGE" | grep -oP 'https://downloads.bitnami.com/files/stacks/lamp/[^"]+linux-x64-installer.run' | head -1)
INSTALLER_NAME=$(basename $INSTALLER_URL)echo "[3/8] 下载 LAMP 安装包: $INSTALLER_NAME"
wget -O "$TMP_DIR/$INSTALLER_NAME" "$INSTALLER_URL"
chmod +x "$TMP_DIR/$INSTALLER_NAME"# --- 自动安装 ---
echo "[4/8] 安装 LAMP..."
sudo "$TMP_DIR/$INSTALLER_NAME" --mode unattended \--prefix "$INSTALL_DIR" \--apache_password "$MYSQL_ROOT_PASSWORD" \--mysql_password "$MYSQL_ROOT_PASSWORD" \--wordpress_password "$MYSQL_ROOT_PASSWORD"# --- 修改 Apache 端口 ---
if [[ "$APACHE_PORT" != "80" ]]; thensudo sed -i "s/^Listen 80/Listen $APACHE_PORT/" "$INSTALL_DIR/apache2/conf/httpd.conf"sudo sed -i "s/:80>/:$APACHE_PORT>/" "$INSTALL_DIR/apache2/conf/bitnami/bitnami.conf"
fi# --- 创建 systemd 服务 ---
echo "[5/8] 配置 LAMP systemd 服务..."SERVICE_FILE="/etc/systemd/system/lampstack.service"sudo bash -c "cat > $SERVICE_FILE" <<EOL
[Unit]
Description=Bitnami LAMP Stack
After=network.target[Service]
Type=forking
ExecStart=$INSTALL_DIR/ctlscript.sh start
ExecStop=$INSTALL_DIR/ctlscript.sh stop
ExecReload=$INSTALL_DIR/ctlscript.sh restart
RemainAfterExit=yes
User=root
Group=root[Install]
WantedBy=multi-user.target
EOL# --- 重新加载 systemd 并启用服务 ---
sudo systemctl daemon-reload
sudo systemctl enable lampstack
sudo systemctl start lampstack# --- 配置防火墙 ---
echo "[6/8] 配置防火墙..."
if command -v ufw &> /dev/null; thensudo ufw allow "$APACHE_PORT"/tcpsudo ufw allow 443/tcpsudo ufw --force enable
elif command -v firewall-cmd &> /dev/null; thensudo firewall-cmd --permanent --add-port="$APACHE_PORT"/tcpsudo firewall-cmd --permanent --add-service=httpssudo firewall-cmd --reload
fi# --- 检查服务状态 ---
echo "[7/8] 检查 LAMP 服务状态..."
sudo systemctl status lampstack --no-pager# --- 输出信息 ---
IP=$(curl -s http://whatismyip.akamai.com/)
echo "[8/8] 安装完成!"
echo "访问 Apache: http://$IP:$APACHE_PORT/"
echo "phpMyAdmin: http://$IP:$APACHE_PORT/phpmyadmin"
echo "MySQL root 密码: $MYSQL_ROOT_PASSWORD"
echo "安装目录: $INSTALL_DIR"
echo "服务已设置为开机自动启动: sudo systemctl status lampstack"

这个版本特点:

  1. 后台守护服务:通过 systemd 管理,开机自动启动。

  2. 端口可自定义,安装目录和 MySQL root 密码可自定义。

  3. 防火墙自动放行 Apache 端口和 HTTPS

  4. 交互式输入,简单明了。

http://www.dtcms.com/a/337359.html

相关文章:

  • 用随机森林填补缺失值:原理、实现与实战
  • 大型语言模型(LLM)存在演示位置偏差:相同示例在提示中位置不同会导致模型预测结果和准确率显著变化
  • 基于NLP的文本生成系统设计与实现(LW+源码+讲解+部署)
  • 牛津大学xDeepMind 自然语言处理(1)
  • 【论文阅读69】-DeepHGNN复杂分层结构下的预测
  • 力扣 hot100 Day77
  • 深入浅出讲透IPD:三层逻辑实例详解 —— 卫朋
  • Mysql实战案例 | 利用Mycat实现MYSQL的读写分离
  • 计算机视觉(9)-实践中遇到的问题(六路相机模型采集训练部署全流程)
  • Linux命令大全-rm命令
  • Java发送企业微信通知
  • Python开篇:2024全链路指南,从入门到架构解锁未来
  • 搜索插入位置
  • 楼宇自控行业是智能建筑关键部分,发展前景向好
  • 数据结构(03)——线性表(顺序存储和链式存储)
  • 45 C++ STL模板库14-容器6-容器适配器-优先队列(priority_queue)
  • 力扣(LeetCode) ——100. 相同的树(C语言)
  • 算法-每日一题(DAY13)两数之和
  • 排序(Java实现)
  • Dijkstra和多层图 0
  • 蓝桥杯算法之搜索章 - 7
  • LeetCode 45.跳跃游戏II:贪心策略下的最少跳跃次数求解
  • 华为云服务器从注册到部署全流程指南
  • Pomian语言处理器 研发笔记(一):使用C++的正则表达式构建词法分析器
  • 零基础数据结构与算法——第七章:算法实践与工程应用-图像处理
  • LLM - MCP传输协议解读:从SSE的单向奔赴到Streamable HTTP的双向融合
  • JavaScript 原型继承与属性访问规则详解
  • ES入门教程
  • CSDN转PDF【无水印且免费!!!】
  • linux 内核 - 进程地址空间的数据结构