本文目录导读:

我将为您提供几个快速部署LAMP(Linux+Apache+MySQL+PHP)环境的Shell脚本方案。
一键部署脚本(适用于CentOS/RHEL)
#!/bin/bash
# LAMP Stack Quick Deploy Script for CentOS/RHEL 7/8
set -e # 遇到错误立即退出
echo "Starting LAMP deployment..."
# 1. 更新系统
echo "Updating system packages..."
yum update -y || { echo "System update failed"; exit 1; }
# 2. 安装EPEL仓库
echo "Installing EPEL repository..."
yum install -y epel-release
# 3. 安装Apache
echo "Installing Apache..."
yum install -y httpd httpd-devel
# 启动并设置开机自启
systemctl start httpd
systemctl enable httpd
# 4. 安装MariaDB(MySQL兼容)
echo "Installing MariaDB..."
yum install -y mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb
# 5. 安全配置MariaDB(自动设置root密码)
MYSQL_ROOT_PASSWORD=$(openssl rand -base64 12)
mysqladmin -u root password "$MYSQL_ROOT_PASSWORD"
# 6. 安装PHP及常用扩展
echo "Installing PHP..."
yum install -y php php-mysqlnd php-gd php-xml php-mbstring php-json
# 7. 创建测试页面
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
# 8. 配置防火墙
echo "Configuring firewall..."
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
# 9. 重启Apache使配置生效
systemctl restart httpd
echo "========================================"
echo "LAMP deployment completed successfully!"
echo "Apache: http://$(hostname -I | awk '{print $1}')"
echo "MySQL Root Password: $MYSQL_ROOT_PASSWORD"
echo "PHP Info: http://$(hostname -I | awk '{print $1}')/info.php"
echo "========================================"
Ubuntu/Debian系统脚本
#!/bin/bash
# LAMP Stack Quick Deploy Script for Ubuntu/Debian
set -e
echo "Starting LAMP deployment on Ubuntu/Debian..."
# 更新包列表
apt-get update -y
# 安装Apache
apt-get install -y apache2 apache2-utils
# 启动Apache
systemctl start apache2
systemctl enable apache2
# 安装MySQL
apt-get install -y mysql-server mysql-client
# 自动设置MySQL安全配置
MYSQL_ROOT_PASSWORD=$(openssl rand -base64 12)
debconf-set-selections <<< "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD"
debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD"
systemctl start mysql
systemctl enable mysql
# 安装PHP
apt-get install -y php libapache2-mod-php php-mysql php-gd php-xml php-mbstring php-curl
# 创建测试文件
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
# 重启Apache
systemctl restart apache2
# 配置UFW防火墙
ufw allow 80/tcp
ufw allow 443/tcp
echo "========================================"
echo "LAMP部署完成!"
echo "Apache: http://$(hostname -I | awk '{print $1}')"
echo "MySQL密码: $MYSQL_ROOT_PASSWORD"
echo "PHP信息: http://$(hostname -I | awk '{print $1}')/info.php"
echo "========================================"
增强版脚本(支持自定义配置)
#!/bin/bash
# Enhanced LAMP Deployment Script with Custom Options
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 函数:打印状态消息
print_status() {
echo -e "${GREEN}[+]${NC} $1"
}
print_error() {
echo -e "${RED}[-]${NC} $1"
}
print_info() {
echo -e "${YELLOW}[*]${NC} $1"
}
# 检测系统类型
detect_os() {
if [ -f /etc/os-release ]; then
. /etc/os-release
OS=$ID
VERSION=$VERSION_ID
else
OS=$(uname -s)
fi
}
# 安装LAMP组件
install_lamp() {
local PHP_VERSION=${1:-"7.4"}
detect_os
case $OS in
centos|rhel|fedora)
# CentOS/RHEL安装逻辑
yum install -y httpd mariadb-server mariadb
yum install -y php php-mysqlnd php-gd php-xml php-mbstring
;;
ubuntu|debian)
# Ubuntu/Debian安装逻辑
apt-get install -y apache2 mysql-server
apt-get install -y php php-mysql php-gd php-xml php-mbstring
;;
*)
print_error "不支持的操作系统: $OS"
exit 1
;;
esac
}
# 配置虚拟主机
setup_virtual_host() {
local DOMAIN=$1
local DOCUMENT_ROOT=${2:-"/var/www/$DOMAIN"}
mkdir -p "$DOCUMENT_ROOT"
echo "<h1>Welcome to $DOMAIN</h1>" > "$DOCUMENT_ROOT/index.html"
# 创建虚拟主机配置文件
cat > /etc/httpd/conf.d/$DOMAIN.conf <<EOF
<VirtualHost *:80>
ServerName $DOMAIN
DocumentRoot $DOCUMENT_ROOT
<Directory $DOCUMENT_ROOT>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/$DOMAIN-error.log
CustomLog /var/log/httpd/$DOMAIN-access.log combined
</VirtualHost>
EOF
systemctl reload httpd
print_status "虚拟主机 $DOMAIN 配置完成"
}
# 主函数
main() {
print_info "开始部署LAMP环境..."
# 默认安装
install_lamp "7.4"
# 可选:创建虚拟主机
read -p "是否创建虚拟主机?(y/n): " CREATE_VHOST
if [ "$CREATE_VHOST" = "y" ]; then
read -p "请输入域名: " DOMAIN
setup_virtual_host "$DOMAIN"
fi
print_status "LAMP部署成功完成!"
}
# 运行主函数
main
使用说明
基本使用
# 给脚本执行权限 chmod +x lamp_deploy.sh # 运行脚本 ./lamp_deploy.sh
安全注意事项
# 运行MySQL安全配置脚本 mysql_secure_installation
验证安装
# 检查服务状态 systemctl status httpd systemctl status mysqld # 测试PHP curl http://localhost/info.php
快速部署命令(一行命令)
# CentOS系统 curl -sSL https://raw.githubusercontent.com/your-repo/lamp-setup/main/centos.sh | bash # Ubuntu系统 curl -sSL https://raw.githubusercontent.com/your-repo/lamp-setup/main/ubuntu.sh | bash
这些脚本提供了快速部署LAMP环境的解决方案,您可以根据实际需求选择使用,记得在生产环境中修改默认密码并关闭PHP信息页面。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播