lamp脚本部署
#!/bin/bash
#关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#配置yum网络源
echo “正在配置yum仓库”
rm -rf /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/dull
yum -y install epel-release &>/dev/dull
#部署lamp-apache
#安装需要的工具包
echo “正在安装需要的工具包,请稍等…”
yum -y install bzip2 vim make wget openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ libxml2-devel &>/dev/dull
#解压并安装apr包
echo “正在部署apr”
cd /opt
tar -xzf apr-1.7.0.tar.gz &>/dev/dull
cd /opt/apr-1.7.0
sed -i ‘/RM"RM "RM"cfgfile"/d’ configure
./configure --prefix=/usr/local/apr &>/dev/dull
make &>/dev/dull
make install &>/dev/dull
echo “arp 部署完成”
#安装apr-util
echo “安装apr-util”
cd /opt
tar -xzf apr-util-1.6.1.tar.gz &>/dev/dull
cd /opt/apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr &>/dev/dull
make &>/dev/dull
make install &>/dev/dull
echo “部署完成apr-util”
#部署apache
echo “正在安装httpd”
cd /opt
tar -xzf httpd-2.4.54.tar.gz &>/dev/dull
cd /opt/httpd-2.4.54
./configure --prefix=/usr/local/apache
–sysconfdir=/etc/httpd24
–enable-so
–enable-ssl
–enable-cgi
–enable-rewrite
–with-zlib
–with-pcre
–with-apr=/usr/local/apr
–with-apr-util=/usr/local/apr-util/
–enable-modules=most
–enable-mpms-shared=all
–with-mpm=prefork &>/dev/dull
make &>/dev/dull
make install &>/dev/dull
cd
/usr/local/apache/bin/apachectl start
echo “apach 部署完成”
#端口3306
echo “部署lamp-mysql”
echo “创建mysql用户”
#useradd -r -M -s /sbin/nologin mysql
id myspl &>/dev/dull
if [ $? -eq 0 ];then
echo “mysql用户已存在”
else
useradd -r -M -s /sbin/nologin mysql
echo “mysql 用户已创建完成”
fi
echo “安装依赖包”
yum -y install libncurses* &>/dev/dull
echo “正在配置mysql”
cd /opt
tar -xzf /opt/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ &>/dev/dull
ln -sv /usr/local/mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql
mkdir -p /opt/data
chown -R mysql.mysql /opt/data/
yum -y install libaio &>/dev/dull
echo “正在数据库初始化”
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data/ &>/dev/dull
ln -sv /usr/local/mysql/include/ /usr/local/include/mysql &>/dev/dull
echo ‘/usr/local/mysql/lib’ > /etc/ld.so.conf.d/mysql.conf
ldconfig &>/dev/dull
echo “编辑mysql配置文件”
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
sed -ri “s#^(basedir=).#\1/usr/local/mysql#g" /usr/local/mysql/support-files/mysql.server
sed -ri "s#^(datadir=).#\1/opt/data#g” /usr/local/mysql/support-files/mysql.server
echo “定义mysql服务可以使用systemd来进行管理”
SERVICE_FILE=“/usr/lib/systemd/system/mysqld.service”
创建服务文件内容
cat > “$SERVICE_FILE” << EOF
[Unit]
Description=mysql server daemon
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecStop=/usr/local/mysql/support-files/mysql.server stop
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOF
echo “启用MySQL的服务”
systemctl daemon-reload
systemctl enable --now mysqld
echo “做一个链接,添加mysql命令的变量到环境变量”
echo ‘export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile
source /etc/profile
echo “设置数据库密码”
read -p “请给数据库设置一个密码为:” PASSWD
/usr/local/mysql/bin/mysql -uroot -e “set password=password(‘$PASSWD’)”
#!/bin/bash
echo “部署lamp-php”
echo “安装依赖包,安装GD库和GD库关联程序,用来处理和生成图片”
yum -y install
libjpeg
libjpeg-devel
libpng libpng-devel
freetype freetype-devel
libxml2
libxml2-devel
zlib zlib-devel
curl curl-devel
echo “解压php包文件”
cd /opt
tar -xjf php-7.1.10.tar.bz2
echo “配置编译安装php”
cd /opt/php-7.1.10
./configure
–prefix=/usr/local/php
–with-apxs2=/usr/local/apache/bin/apxs
–with-mysql-sock=tmp/mysql.sock
–with-mysqli
–with-zlib
–with-curl
–with-gd
–with-jpeg-dir
–with-png-dir
–with-freetype-dir
–with-openssl
–enable-mbstring
–enable-xml
–enable-session
–enable-ftp
–enable-pdo
–enable-tokenizer
–enable-zip
make
make install
echo “配置php”
echo “测试环境时使用php.ini-development文件”
cp php.ini-development /usr/local/php/lib/php.ini
echo “修改php配置文件,设置时区”
sed -i ‘s/;date.timezone =/date.timezone = \Asia/Shanghai/’ /usr/local/php/lib/php.ini
echo “修改httpd服务配置文件,让apache支持php”
echo “AddType application/x-httpd-php .php” >> /etc/httpd24/httpd.conf
echo “AddType application/x-httpd-php-source .phps” >> /etc/httpd24/httpd.conf
sed -i ‘s/index.html/index.php index.html/’ /etc/httpd24/httpd.conf
echo “验证php测试页”
cat > “/usr/local/apache/htdocs/index.php” << EOF
<?php phpinfo(); ?>EOF
echo “启动apache服务”
/usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/apachectl start