简体   繁体   中英

Cloning git in bash script called from php webpage

I have very annoying problem here that I am completely lost on.

Am just trying to run a bash script from a php page.

The bash script is a long one.... so I created a caller.sh which calls the ./mainScript.sh to run in the background in the following:

nohup /bin/bash /home/test/customcoincode/CoinCreationBashFile.sh $coinName $coinNameAbreviation $blockReward $blockSpacing $targetTimespan $totalCoins $seedNode $nameSeedNode $headline >> /tmp/BASH2log.txt 2>&1 &

in reading my log file it seems some variables are not being passed in...

and at the following lines of code:

echo "Creating New Coin - Downloading code base repo"
echo "$localFolder/$coinName"
mkdir -p "$localFolder/$coinName";
cd "$localFolder/$coinName"
git clone "$baseRepository" "$localFolder/$coinName"
echo "Made it here 1"

i get outputs of:

Creating New Coin - Downloading code base repo
/home/test/Foocoin
cloning into '/home/test/Foocoin'
could not create directory '/var/www/.ssh'
host key verification failed
blah blah ....

Why is it looking in the /var/www/ directory?? works fine if I run the script from terminal?

many thanks

So to pack up my comments in an answer:

The shell script is now run as apache, as git uses ssh, corresponding config files are needed. Which were created in /var/www ; apaches home directory. Apache did not have write permissions in /var/www thus could not create these files.

To resolve, create the /var/www/.ssh directory yourself and give www-data (or whatever user apache runs under in your system) write access to that folder.

Next, github requires you to authorize ssh keys . It is safer to create a new one for apache in the newly created /var/www/.ssh directory and add this key to your github keychain.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM