【LAMP的自动化脚本shell】

#!/bin/bash

echo "安装Apache========================" 

yum -y install make gcc gcc-c++ openssl openssl-devel expat-devel 
cd /usr/local
tar zxvf apr-1.6.2.tar.gz 
cd apr-1.6.2
./configure --prefix=/usr/local/apr
make && make install

cd /usr/local
tar zxvf apr-util-1.6.0.tar.gz
cd apr-util-1.6.0
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make -j 8 && make -j 8 install

cd /usr/local
tar zxvf pcre-8.41.tar.gz 
./configure --prefix=/usr/local/pcre
make -j 8 && make -j 8 install

cd /usr/local
tar zxvf httpd-2.4.51.tar.gz -C /usr/local/src/
cd /usr/local/src/httpd-2.4.51
./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/
make -j 8 && make -j 8 install

cp /usr/local/apache/bin/apachectl /etc/init.d/
chmod +x /etc/init.d/apachectl

cat >/usr/lib/systemd/system/apache.service <<EOF
[Unit]
Description=apache
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/apachectl start
ExecReload=/etc/init.d/apachectl restart
ExecStop=/etc/init.d/apachectl stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF

systemctl start apache

echo "Apache安装完成=====================================" 

echo "安装php===============================================" 
yum -y install epel-release
yum -y install php-mcrypt libmcrypt libmcrypt-devel  autoconf  freetype gd libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel re2c
cd /usr/local
tar zxf php-7.1.10.tar.gz -C /usr/local/src

cd /usr/local/src/php-7.1.10
./configure --prefix=/usr/local/php/ --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --with-curl --with-gd --enable-fpm --enable-mysqlnd  --with-pdo-mysql=mysqlnd --with-config-file-path=/usr/local/php/etc/ --with-mysqli=mysqlnd --with-mysql-sock=/tmp/mysql.sock --without-pear 
make -j 8 && make -j 8 install

cp php.ini-production /usr/local/php/etc/php.ini

echo "Addtype application/x-httpd-php .php .phtml " >> /usr/local/apache/conf/httpd.conf
systemctl restart apache

echo "<?php
        phpinfo();
	?>" > /usr/local/apache/htdocs/index.php

echo "php安装成功==================================================="

echo "安装mysql==================================================="
#创建用户
id mysql &>/dev/null
if [ $? -eq 0 ];then
        echo "用户存在"
else
        useradd -M -r -s /sbin/nologin/ mysql
fi
echo -e "\033[31m 用户创建完成 \033[0m"

#解压软件包
tar -xvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -s mysql-5.7.37-linux-glibc2.12-x86_64/ mysql
chown -R mysql.mysql /usr/local/mysql
echo -e "\033[31m 安装包解压完成 \033[0m"

#配置环境变量
echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
echo 'export PATH' >> /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
echo -e "\033[31m 环境变量配置完成 \033[0m"

#创建数据存放目录
mkdir /opt/data
chown -R mysql.mysql /opt/data/
echo -e "\033[31m 目录创建完成 \033[0m"
#初始化数据库
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data/ &>/dev/null
echo -e "\033[31m 初始化数据库 \033[0m"
#修改配置文件
cat > /etc/my.cnf <<EOF
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
EOF
cd /usr/local/mysql/support-files/
cp -a mysql.server /etc/init.d/mysqld
echo -e "\033[31m 配置完成 \033[0m"

#配置systemd启动服务
cat > /usr/lib/systemd/system/mysqld.service <<EOF
[Unit]
Description=mysqld server daemon
After=network.target sshd-keygen.target

[Service]
Type=forking
ExecStart=/etc/init.d/mysqld  start
ExecStop=/etc/init.d/mysqld  stop
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start mysqld.service
echo "启动服务"
if [ $? -eq 0 ];then
  echo "mysql服务启动成功"
else 
  echo "服务启动失败"
fi
#修改密码
read -p "输入设置的数据库密码:" passwd
mysql -uroot -e "set password = password('"$passwd"')"
echo "mysql安装成功==================================================="
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值