好的,所以我从头开始构建一个 Web 服务器和 MySQL 服务器...
服务器 A 将安装 Apache 和 PHP 服务器 B 将安装 MySQL 两台服务器都运行 Ubuntu 12.04 LTS 服务器
我计划让我的家人和朋友拥有自己的帐户(就像一个真正的网络主机!),并决定尝试编写帐户创建过程的脚本。现在,我可以在 Linux 中执行简单的一行代码或 DOS 批处理脚本,但完整的 shell 脚本让我感到害怕。
所以,这就是我所拥有的...它可以在没有灾难性崩溃的情况下工作吗???
REM Lets prompt for the user info...
echo -n "Please enter the new username: "
read user
echo -n "Enter the default password: "
read password
home=/var/www/$user
REM Create the user and assign the password
sudo useradd $user
net user $user $password
REM Create them an account on the MySQL server
database='$user'_db
mysql [mysql-server-hostname] -u root@[hostname] -p [pass] -e "create user '$user'@'%' identified by '$password';"
mysql [mysql-server-hostname] -u root@[hostname] -p [pass] -e "create database $database;"
mysql [mysql-server-hostname] -u root@[hostname] -p [pass] -e "grant all on '$database'.* to '$user'@%;"
REM Making some dirs
mkdir $home
mkdir $home/public_html
mkdir $home/public_ftp
usermod -m -d $home
REM Gotta let them have access
chown -R $user:$user $home
chmod 755 $home/public_html
chmod 755 $home/public_ftp
REM Add to some groups
useradd -G sftp $user
useradd -G ftp $user
useradd -G ssh $user
/etc/init.d/apache2 restart
答案1
最好使用现有产品。我想到的一个产品是 ISPConfig。我以前用过它,效果很好。你甚至可以为最终用户提供 GUI 来管理他们的服务器部分。你还可以对可以托管的域和/或站点数量进行配额限制。
http://www.howtoforge.com/perfect-server-ubuntu-12.04-lts-apache2-bind-dovecot-ispconfig-3