使用Shell脚本自动安装LAMP堆栈

时间:2015-04-16 08:29:40

标签: bash shell installation lamp

如何自动安装LAMP Stack?因为我们必须逐个安装几个包然后配置它们。我们还必须单独安装一些GUI工具,如phpMyAdmin或MySQL-Workbench来访问MySQL数据库。是否可以完全自动化完整安装?使用shell脚本还是其他什么?

谢谢..

2 个答案:

答案 0 :(得分:6)

我已准备好以下shell脚本,以使此安装完全自动化。

#!/bin/bash
# ******************************************
# Program: LAMP Stack Installation Script
# Developer: Pratik Patil
# Date: 10-04-2015
# Last Updated: 11-01-2016
# ******************************************

if [ "`lsb_release -is`" == "Ubuntu" ] || [ "`lsb_release -is`" == "Debian" ]
then
    sudo apt-get -y install mysql-server mysql-client mysql-workbench libmysqld-dev;
    sudo apt-get -y install apache2 php5 libapache2-mod-php5 php5-mcrypt phpmyadmin;
    sudo chmod 755 -R /var/www/;
    sudo printf "<?php\nphpinfo();\n?>" > /var/www/html/info.php;
    sudo service apache2 restart;

elif [ "`lsb_release -is`" == "CentOS" ] || [ "`lsb_release -is`" == "RedHat" ]
then
    sudo yum -y install httpd mysql-server mysql-devel php php-mysql php-fpm;
    sudo yum -y install epel-release phpmyadmin rpm-build redhat-rpm-config;
    sudo yum -y install mysql-community-release-el7-5.noarch.rpm proj;
    sudo yum -y install tinyxml libzip mysql-workbench-community;
    sudo chmod 777 -R /var/www/;
    sudo printf "<?php\nphpinfo();\n?>" > /var/www/html/info.php;
    sudo service mysqld restart;
    sudo service httpd restart;
    sudo chkconfig httpd on;
    sudo chkconfig mysqld on;

else
    echo "Unsupported Operating System";
fi

在浏览器中打开以下URL以验证Apache服务器的安装:

http://localhost

在浏览器中打开以下URL以验证PHP的安装:

http://localhost/info.php

答案 1 :(得分:0)

此流程依赖于分发/包管理器,但是,它完全有可能。您甚至可以通过一次击键启用ssl/https功能并生成服务器密钥,证书和签名请求密钥。您将其分解为任务并为每个任务添加脚本功能。密钥生成需要ssh-keygen。我有openSuSE和Archlinux的旧版本的类似脚本。如果你遇到困难,我很高兴看一看并分享我多年前采用的方法。

在上面的脚本中,我会将/var/www的权限限制为0755,无需给world写入这些目录。此外,不是用于标识分发的扩展if .. elif ... elif ... fi设置,而是一个case语句可以帮助您组织更多:

case "lsb_release" in 

    Ubuntu  )
        ... ;;
    Debian  )
        ... ;;
    Centos  )
        ... ;;
esac