使用 Shell 脚本自动安装 LAMP 堆栈
Automated Installation of LAMP Stack Using Shell Script
如何自动安装 LAMP Stack?因为我们必须一个一个安装几个包,然后配置它们。同样,我们必须单独安装一些 GUI 工具,如 phpMyAdmin 或 MySQL-Workbench 以访问 MySQL 数据库。是否可以使这个完整安装完全自动化?使用 shell 脚本还是其他?
谢谢..
我准备了以下 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
此过程 distribution/package 取决于经理,但是,是的,这是完全可能的。您甚至可以启用 ssl/https
功能并通过一次按键生成您的服务器密钥、证书和签名请求密钥。您将其分解为任务并为每个任务添加脚本功能。密钥生成需要 ssh-keygen
。我有用于 openSuSE 和 Archlinux 的类似脚本的旧版本。如果您遇到困难,我很乐意看一看并分享我多年前采用的方法。
在您上面的脚本中,我会将 /var/www
的权限限制为 0755
,无需向这些目录提供 world
写入权限——永远。此外,与用于识别分布的扩展 if .. elif ... elif ... fi
设置不同,case 语句可以帮助您组织得更多:
case "lsb_release" in
Ubuntu )
... ;;
Debian )
... ;;
Centos )
... ;;
esac
如何自动安装 LAMP Stack?因为我们必须一个一个安装几个包,然后配置它们。同样,我们必须单独安装一些 GUI 工具,如 phpMyAdmin 或 MySQL-Workbench 以访问 MySQL 数据库。是否可以使这个完整安装完全自动化?使用 shell 脚本还是其他?
谢谢..
我准备了以下 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
此过程 distribution/package 取决于经理,但是,是的,这是完全可能的。您甚至可以启用 ssl/https
功能并通过一次按键生成您的服务器密钥、证书和签名请求密钥。您将其分解为任务并为每个任务添加脚本功能。密钥生成需要 ssh-keygen
。我有用于 openSuSE 和 Archlinux 的类似脚本的旧版本。如果您遇到困难,我很乐意看一看并分享我多年前采用的方法。
在您上面的脚本中,我会将 /var/www
的权限限制为 0755
,无需向这些目录提供 world
写入权限——永远。此外,与用于识别分布的扩展 if .. elif ... elif ... fi
设置不同,case 语句可以帮助您组织得更多:
case "lsb_release" in
Ubuntu )
... ;;
Debian )
... ;;
Centos )
... ;;
esac