存档

文章标签 ‘linux’

自动开设虚拟主机的bash脚本

2010年6月2日 没有评论

脚本很简单,功能是,自动增加一个以输入域名命名的www根目录,自动生成一个ftp用户,自动创建一个mysql数据库,自动创建一个mysql用户

#!/bin/bash

#输入要增加的域名
echo “Input The Domain”
read
domain=$REPLY

#这里输入ftp密码
echo “Input The Password”
read
ftp_password=$REPLY

#mysql的超级用户名和密码
mysql_root=”root”
mysql_root_pass=”abcdefg”
database_name=${domain//./_}
database_user=${domain//./_}

vhost_file=”${domain}.conf”
echo “Input Mysql Password for Database ${database_name}”
read
database_password=$REPLY
cd /www/wwwroot/
mkdir $domain
chown daemon:daemon $domain
chmod 700 $domain

#生成虚拟机的配置文件
cd /usr/local/apache2/conf/vhost
cp 51rego.com.conf $vhost_file
sed “s/51rego.com/$domain/ig” $vhost_file >temp
cat temp>$vhost_file
#增加ftp虚拟用户和密码
cd /www/users/conf
echo $domain>>vusers.txt
echo $ftp_password>>vusers.txt
db_load -T -t hash -f vusers.txt /etc/vsftpd_login.db
#增加一个ftp账户
cd /etc/vsftpd_user_conf
cp 51rego.com $domain
sed “s/51rego.com/$domain/ig” $domain >temp
cat temp>$domain

#创建mysql数据库
mysql -u${mysql_root} -p${mysql_root_pass} -e “create database ${database_name}”

#创建mysql用户和密码
mysql -u${mysql_root} -p${mysql_root_pass} -e “grant all privileges on ${database_name}.* to ${database_user}@localhost identified by ‘${database_password}’”
echo “Ftp User Name: ${domain}”
echo “Ftp Password: ${ftp_password}”
echo “Mysql database: ${database_name}”
echo “Mysql user: ${database_user}”
echo “Mysql password: ${database_password}”
echo “success! restart httpd…”

#重启httpd
/usr/local/apache2/bin/httpd -S
service httpd graceful
exit

ubuntu 服务器中修改mysql数据目录的方法

2010年3月8日 没有评论

停止mysql服务
sudo /etc/init.d/mysql stop

建新数据库目录
mkdir /media/hda11/db

复制linux下原数据到新目录下
cp  -r  /var/lib/mysql/* /media/hda11/db

给新目录重命属性(很 重要,不然出现无法访问目录情况)
chown mysql:mysql  /media/hda11/db

修改 配置文件
sudo nano /etc/mysql/my.cnf

datadir = /var/mysql换成datadir = /media/hda11/db

#在my.cnf中有提到如果修改了 datadir这几部分,最好也调整/etc/apparmor.d/usr.sbin.mysqld

修改文件 /etc/apparmor.d/usr.sbin.mysqld(似乎跟安全配置有关)

sudo nano /etc/apparmor.d/usr.sbin.mysqld

/var/lib/mysql r,
/var/lib/mysql/** rwk,

改成
/media/hda11/db r,
/media/hda11/db/** rwk,

再开服务器(这一步很重要)
sudo /etc/init.d/apparmor restart

重启mysql服务
sudo /etc/init.d/mysql restart

附:apparmor也是个权限控制的东东。。

参考文章:http://forum.ubuntu.org.cn/viewtopic.php?f=44&p=1074517