shell脚本安装LAMP架构(一键执行)

一键安装代码(可ctr+c哦)

1、挂载的主机IP、密码自行更改


#!/bin/bash
#一键自动构建LAMP架构(请使用source执行或者使用.命令执行)
#数据库默认密码为123123

#远程挂载
df -hT | grep -o "cifs"
if [ $? -ne 0 ];then
echo "Start mount"
yum install expect -y
read -p "请输入提供硬盘主机IP:" gongip
/usr/bin/expect <<-EOF
spawn mount.cifs  //$gongip/LAMP-C7   /mnt/           ##主机IP名根据自己情况来改
expect {
    "Password*"
    {send "\r"}
}
expect eof
EOF
fi

#安装apache服务
cd /mnt/

tar zxf apr-1.6.2.tar.gz -C /opt
tar zxf apr-util-1.6.0.tar.gz -C /opt/
tar jxf httpd-2.4.29.tar.bz2 -C /opt/

cd /opt/

mv apr-1.6.2/ httpd-2.4.29/srclib/apr
mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util

yum -y install gcc gcc-c++ make pcre-devel expat-devel perl

cd /opt/httpd-2.4.29/

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

make && make install

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

sed -i -e ‘2a# chkconfig: 35 85 21\n# description: Apache is a World Wide Web server‘ /etc/init.d/httpd

chkconfig --add httpd

sed -i -e ‘197d‘ -e ‘196aServerName www.kgc.com:80‘ /usr/local/httpd/conf/httpd.conf
ip=`ifconfig ens33 | awk ‘NR==2{print $2}‘`

sed -i -e ‘52s/^/#/‘ -e ‘51d‘ -e "50aListen $ip:80" /usr/local/httpd/conf/httpd.conf

ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

systemctl stop firewalld.service
setenforce 0
service httpd start

netstat -ntuap | grep httpd
if [ $? -eq 0 ];then
    echo Apache服务启动
else
    echo 启动失败
    exit 1
fi

#安装mysql服务
echo "================================="
echo "安装mysql数据库,请稍后。。。"
sleep 3

yum install -y ncurses-devel autoconf cmake
cd /mnt/
tar zxf mysql-5.6.26.tar.gz -C /opt/
cd /opt/mysql-5.6.26

cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DSYSCONFIDIR=/etc -DMYSQL_DATADIR=/home/mysql/ -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock

echo "进行编译安装,要很久,请稍后。。。"
make && make install

cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig --level 235 mysqld on

echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

echo $PATH | grep -o "mysql"
if [ $? -eq 0 ];then
    echo "添加成功"
else
    echo "失败"
    exit 1
fi

useradd -s /sbin/nologin mysql

chown -R mysql:mysql /usr/local/mysql/

/usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/lib/mysql --basedir=/usr/local/mysql --datadir=/home/mysql

sed -i -e ‘47d‘ -e ‘46d‘ -e ‘45abasedir=/usr/local/mysql\ndatadir=/home/mysql‘ /etc/init.d/mysqld
service mysqld start

netstat -ntuap | grep mysqld
if [ $? -eq 0 ];then
        echo Mysql数据库启动
else
        echo 启动失败
    exit 1
fi

#read -p "请输入数据库密码(自定义):" mima
/usr/bin/expect <<EOF
spawn mysqladmin -u root -p password 123123
expect {
    "Enter*"
    {send "\r"}
}
expect eof
EOF

#安装PHP工具

yum install -y gd libpng libpng-devel pcre pcre-devel libxml2-devel libjpeg-devel

cd ~
tar jxf /mnt/php-5.6.11.tar.bz2 -C /opt/
cd /opt/php-5.6.11

./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring

make && make install

cp -p php.ini-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/* /usr/local/bin/

sed -i ‘393a    AddType application/x-httpd-php .php\n    AddType application/x-httpd-php-source .phps‘ /usr/local/httpd/conf/httpd.conf

sed -i -e ‘256d‘ -e ‘255aDirectoryIndex index.html index.php‘ /usr/local/httpd/conf/httpd.conf

cat > /usr/local/httpd/htdocs/index.php <<-EOF
<?php
phpinfo();
?>
EOF

service httpd stop
service httpd start

rm -rf /opt/*
umount /mnt

#请使用source+脚本启动
source /etc/profile
echo $PATH | grep -o "mysql"
while [ $? -ne 0 ];do
  while [ "a" = "a" ]
    do
    echo "错误!!"
    sleep 2
    done
done
echo "LAMP架构搭建完成、脚本执行结束"

原文地址:https://blog.51cto.com/14475593/2447277

时间: 2024-08-04 18:52:46

shell脚本安装LAMP架构(一键执行)的相关文章

Shell脚本安装成服务加入系统启动-service XX does not support chkconfig

背景:Shell脚本是linux运维人员必备利器,怎么样把shell脚本安装成服务且加入系统启动,然后就可以使用服务来管理,这是一个很重要的问题. 当我们运行安装服务的命令时候,假设服务名为myservice #chkconfig --add myservice 常常会出现 service myservice does not support chkconfig 下面讲解正确方法: 1.1给服务脚本添加注释. #vim /etc/init.d/myservice 添加下面两句到 #!/bin/b

基于编译安装LAMP架构---模块化

一.程序包和安装环境准备 1.程序版本: apr-1.5.0.tar.bz2 apr-util-1.5.3.tar.bz2 httpd-2.4.10.tar.bz2 mariadb-5.5.43-linux-x86_64.tar.gz php-5.6.4.tar.xz phpMyAdmin-4.0.5-all-languages.zip Discuz_X3.2_SC_GBK.zip 2.准备安装开发环境 yum groupinstall  "Server Platform Development

shell脚本安装python、pip--不需要选择安装项目

shell脚本安装python.pip--不需要选择安装项目--不管用总报错,必须带上判断符号,while没有这种用法,写在这里为了以后少走弯路,所以不要用下面的执行了 首先把pip-18.0.tar.gz .Python-3.6.5.tgz 安装包放在 /usr/local 下面,按照顺序先安装pip,再安装python.不要先安装或只安装python,否则很容易出错, #!/bin/bash func1(){ while true do echo "安装依赖包" yum -y in

Shell脚本实现每个工作日定时执行指定程序

我们可能会遇到这样的情景:必须在每个工作日定时执行Linux服务器上的某个程序.那么有没有办法实现这一功能呢?答案是肯定的.我们可以运用Shell脚本简单实现这一功能. 原理很简单,Shell脚本内部每隔1秒查询一次当前时间.日期以及星期数,当检测到当前星期数week非0或6(0代表星期天,6代表星期六)且时间curTime大于指定时间startTime时,执行指定的程序program.为了保证每天仅执行一次指定程序program,还引用了变量isFirstTime做标记.具体代码如下: 1 #

源码安装LAMP架构

一. 实验目的通过源码部署LAMP环境并在此基础上部署phpmyadmin二. 实验内容在虚拟机中搭建网络YUM仓库,依次安装httpd php php-server mysql(mairadb)及各自的依赖的库和相关的工具包,并分别验证php和httpd的勾连,php和mysql的勾连,之后在网页根路径部署phpmyadmin,在浏览器验证即可,三. 实验环境与准备一台Centos6虚拟机,网卡设置为桥接模式,并连接xshell四. 实验分析与设计思路在Centos6搭建LAMP架构,首先搭建

linux (centos) 安装tomcat (用shell脚本安装为服务)

1.下载tomcat 从http://tomcat.apache.org/download-70.cgi链接下载linux版本(tar.gz) 2.解压,上传及赋权限 解压,用WinSCP把解压的安装文件上传到/home/software/tomcat目录 并用   chmod -R 755 /home/software/tomcat命令账权限. 3.编写安装为服务的脚本并运行 shell脚本如下: #! /bin/sh #shell script takes care of starting

shell自动化安装LAMP

(一)安装思路 (1)源码编译Apache WEB 服务 (2)源码编译MySQL DB 服务 (3)源码编译PHP  WEB 服务 (4)LAMP源码整合+PHP页面创建 (5)对shell脚本优化,引入变量,条件判断 (二)案例脚本 #!/bin/bash #auto install LAMP #By author daqi #auto_lamp_config #Apache definne path variable H_FILES=httpd-2.2.34.tar.bz2 H_FILES

redhat下安装LAMP架构

LAMP指的Linux.ApacheHTTP 服务器,MySQL数据可 和PHP 的第一个字母,是用来建立web应用的一个平台.一. 手工编译安装apache1.将安装apache需要用到的包,解压到/opt目录下命令如下:tar xzvf http-2.4.2.tar.gz -C /opttar xzvf apr-1.4.6.tar.gz -C /opt (支持Apache上层应用跨平台,提供底层接口库)tar xzvf apr-util-1.4.1.tar.gz -C /opt安装好之后可以

用shell脚本搭建lamp

首先是在linux的环境下,搭建顺序为mysql-->apache-->php 准备工作,再搭建之前先安装一些必要的文件包: ####定义一个函数myum,如果rpm包已经提示安装过,则不再尝试yum install 为了节省 ###时间 myum(){ if ! rpm -qa |grep -q "^$1";then yum install -y  $1 check_ok else echo "$1 has been installed" fi } #