Apache Webserver - PHP - 动态Vhost - Shell

时间:2015-05-11 10:17:37

标签: php bash apache shell web

  谢谢你的时间。我的学校工作有问题。我们创造了   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用户才能创建。

有什么问题?非常感谢。

0 个答案:

没有答案