2015-04-16 27 views
1

如何自动安装LAMP堆栈?由于我们必须逐个安装多个软件包,然后进行配置。再次,我们必须单独安装一些GUI工具,如phpMyAdmin或MySQL-Workbench来访问MySQL数据库。是否有可能使完全安装完全自动化?使用shell脚本或其他东西?使用Shell脚本自动安装LAMP堆栈

谢谢..

回答

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 

打开下面的网址在浏览器中,以验证Apache服务器的安装:在浏览器

http://localhost 

打开下面的网址来验证PHP的安装:

http://localhost/info.php 
+2

无论你的问题,**文件模式'777'是错误的,不安全的**。您应该了解权限模型,并将权限更改为755之类的权限。您不希望**授予每个人对文件的写权限。如果有人设法打入箱子,这样做会显着增加攻击面。 – tripleee

0

这个过程是分布/ package manager依赖,但是,完全有可能。您甚至可以启用ssl/https功能,并通过一次按键生成您的服务器密钥,证书和签名请求密钥。您将其分解成任务并为每个任务添加脚本功能。密钥生成需要ssh-keygen。对于openSuSE和Archlinux我都有类似的脚本的旧版本。如果你陷入困境,我很高兴看看并分享几年前我采取的方法。

在上面的脚本中,我会将/var/www的权限限制为0755,不需要给world写入这些目录 - 永远。此外,而是扩展if .. elif ... elif ... fi设置识别分布,A case语句可以帮助您组织多一点:

case "lsb_release" in 

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