#!/bin/bash #Laravel setup script #2020-04-27 ################### 基础环境检查 ##################### function chk_base() { clear OSVER=`cat /etc/redhat-release |awk '{print $1,$4}'` date echo "###################################" echo "# Centos 7 部署Laravel 环境 #" echo "# Linux: $OSVER #" echo "###################################" for i in `seq -w 3 -1 0` do echo -ne "\b\b\b\b$i 秒"; sleep 1 done MYVER=`cat /etc/redhat-release |awk '{print $4}'| awk -F [.] '{print $1}'` expr 1 + $MYVER &>/dev/null if [ $? -ne 0 ];then echo "请在 7 版本的系统里面运行该脚本....." exit fi if [ $UID -ne 0 ]; then echo "请用 root 用户运行该脚本...." exit fi echo '网络检测中.....................' sleep 1 #检测有无外网 ping -c 1 114.114.114.114 > /dev/null 2>&1 if [ $? -eq 0 ];then echo '网络正常,程序将继续运行。' sleep 1 else echo '正在进行第二次网络检测,请稍候.....' sleep 1 curl www.baidu.com >/dev/null 2>&1 if [ $? -ne 0 ]; then echo '检测到网络连接有异常,请检查您的网络设置.....' exit else echo '网络正常,程序将继续运行.' sleep 1 fi fi } function composer_setup() { echo '开始安装composer ........' yum install epel-release -y >/tmp/yum_epel.log 2>&1 cd /root curl -sS https://getcomposer.org/installer|php >/tmp/composer_down.log 2>&1 if [ $? -ne 0 ]; then echo "composer 下载有问题,/tmp/composer_down.log" exit fi mv composer.phar /usr/local/bin/composer >/tmp/composer_mov.log 2>&1 composer -V >/tmp/composer_ver.log 2>&1 if [ $? -ne 0 ]; then echo "Composer 安装有问题,/tmp/composer_mov.log" exit fi echo -e "\033[31m composer 安装完成 \033[0m" } function composer_ins(){ PHPCMD=`find /usr/local/php*/bin/ -name "php" |head -1` php -v >/tmp/php_run.log 2>&1 if [ $? -eq 0 ]; then composer_setup else if [ ! -z $PHPCMD ];then ln -s $PHPCMD /usr/local/bin/ composer_setup else echo -e "\033[31m 请先确认你已源码编译安装了php \033[0m" exit fi fi } function laravel_ins() { echo -e "\033[31m 开始部署 Laravel \033[0m" #更改镜像为阿里云镜像 composer config -g repo.packagist composer https://developer.aliyun.com/composer composer global require "laravel/installer" >/tmp/laravel_ins.log 2>&1 if [ $? -ne 0 ];then echo -e "\033[31m Laravel 部署未能完成 /tmp/laravel_ins.log\033[0m" exit fi echo "export PATH=$PATH:/root/.config/composer/vendor/laravel/installer" >> /etc/profile source /etc/profile echo -e "\033[5;31m Laravel 部署完成,还需手动执行 source /etc/profile 。\033[0m" } START_TIME=`date +%s` chk_base composer_ins laravel_ins date END_TIME=`date +%s` TOTAL_TIME=`expr $(($END_TIME-$START_TIME))` TOTAL_H=`expr $TOTAL_TIME / 3600` TOTAL_M=`expr $TOTAL_TIME % 3600 / 60` TOTAL_S=`expr $TOTAL_TIME % 3600 % 60` echo "程序总耗时: $TOTAL_H 小时 $TOTAL_M 分 $TOTAL_S 秒 。"