谢谢你的时间。我的学校工作有问题。我们创造了 apache上的web服务器,gui用于注册"域"。服务器 是VPN,例如,域名不是domain.cz,但是 domain.ourserver.cz。
工作原理:
PHP运行shell脚本,如下所示:(这是测试版)
#!/bin/bash
touch /var/www/log.txt
function createDirectory() {
mkdir "/var/www/$1"
chmod -R g+rw "/var/www/$1"
}
function createFtpUser() {
echo "writing password" >> /var/www/log.txt
echo $2 > /var/www/passfile
echo "writing password 2" >> /var/www/log.txt
echo $2 >> /var/www/passfile
echo "creating ftp user $1" >> /var/www/log.txt
pure-pw useradd "$1" -u ftpuser -d "/var/www/$1" -m < /var/www/passfile
echo "updating database" >> /var/www/log.txt
pure-pw mkdb
echo "deleting temp passwd file" >> /var/www/log.txt
rm -f /var/www/fei-ispwe-5/passfile
echo "-------------------------------------" >> /var/www/log.txt
}
function createIndexFile() {
echo "<html><body><h1>It works!</h1></body></html>" > /var/www/$1/index.html
createDirectory $1
createFtpUser $1 $2
createIndexFile $1
exit
1,1
如果我使用以下命令运行此脚本:#bash webscript.sh admin&#34; 123456&#34;,一切正常。但是,如果我从php运行这个shell:
exec("bash '/var/www/webscript.sh' 'mydomain' '123456'", $output);
脚本不会返回错误,一切看起来都很好,芽不会让用户失败 创建
我们的目录结构:
/var/www/
- webscript.sh
- passfile (two same rows with password for pure-pw useradd in out of script is deleted)
- fei-ispwe-5 (domain directory)
- sourcecode of main page
- other directory, created by webscript.sh for Dyn. vhost
- index.html (generated from webscript.sh)
创建了passfile并包含带密码的相同行。该文件夹也是成功创建的,如果我输入url mydomain.outserver.cz,我会看到&#34;它有效!&#34;
只有纯ftpd用户才能创建。
有什么问题?非常感谢。