lamp增加项目

例69

需求:服务器上,跑的lamp环境,上面有很多客户的项目,每个项目就是一个网站。 由于客户在不断增加,每次增加一个客户,就需要配置相应的mysql、ftp以及httpd。这种工作重复性非常强的,所以用脚本实现非常合适。mysql增加的是对应客户项目的数据库、用户、密码,ftp增加的是对应项目的用户、密码(使用vsftpd,虚拟用户模式),httpd就是要增加虚拟主机配置段。
#!/bin/bash
#本脚本的功能是在LAMP环境中增加站点,包括apache配置、FTP增加用户、MySQL增加库和用户
#作者:xzm
#日期:2019-12-16
#网站目录
webdir=/data/wwwroot
#ftp的虚拟用户配置文件目录
ftpudir=/etc/vsftpd/vuuser
#ftp虚拟用户密码文件
ftpuserfile=/root/login
#mysql命令行登录root
mysqlc="/usr/local/mysql/bin/mysql -uroot -pjk1hYUcnt6"
#apache虚拟主机配置文件
httpd_config_f="/usr/local/apache2/conf/extra/httpd-vhosts.conf"
#定义增加MySQL库和用户的函数
add_mysql_user()
{
#生成随机密码
mysql_p=mkpasswd -s 0 -l 12
#将密码保存到临时文件里,这里的 p r o 为 用 户 自 定 义 的 项 目 名 字 e c h o " pro为用户自定义的项目名字 echo " proecho"pro m y s q l p " > / t m p / mysql_p" >/tmp/ mysqlp">/tmp/pro.txt
#这里使用嵌入文档的形式(需顶格),将创建用户并授权的命令传递给mysql
$mysqlc <<EOF
create database $pro;
grant all on p r o . ∗ t o " pro.* to " pro.to"pro"@‘127.0.0.1’ identified by “KaTeX parse error: Expected 'EOF', got '#' at position 11: mysql_p"; #̲下面这个EOF必须要顶格 EO…pro” >> f t p u s e r f i l e e c h o " ftpuserfile echo " ftpuserfileecho"ftp_p" >> $ftpuserfile
#将用户、密码文件转换为密码db文件
db_load -T -t hash -f $ftpuserfile /etc/vsftpd/vsftpd_login.db
cd $ftpudir
#这里的aaa是一个文件,是之前的一个项目,可以作为配置模板
cp aaa KaTeX parse error: Expected 'EOF', got '#' at position 10: pro #̲把里面的aaa改为新的项目名字…pro/" KaTeX parse error: Expected 'EOF', got '#' at position 10: pro #̲重启vsftpd服务 …dom为用户自定义的域名
mkdir w e b d i r / webdir/ webdir/dom
#将网站根目录属主和属组设置为ftp用户
chown vsftpd:vsftpd w e b d i r / webdir/ webdir/dom

#用嵌入文档(需顶格),把虚拟主机配置写入到配置文件里

cat >> $httpd_config_f <<EOF
<VirtualHost *:80>
DocumentRoot w e b d i r / webdir/ webdir/dom
ServerName $dom
<Directory w e b d i r / webdir/ webdir/dom>
AllowOverride none
Require all granted


EOF

#重载apache服务
/usr/local/apache2/bin/apachectl graceful

}
read -p "input the project name: " pro
read -p "input the domain: " dom
add_mysql_user
add_ftp_user
config_httpd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值