2015-04-16 30 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