Aquí tengo un problema muy molesto en el que estoy completamente perdido.
Estoy tratando de ejecutar un script bash desde una página php.
El script bash es largo … así que creé un caller.sh que llama al ./mainScript.sh para que se ejecute en segundo plano de la siguiente manera:
nohup /bin/bash /home/test/customcoincode/CoinCreationBashFile.sh $coinName $coinNameAbreviation $blockReward $blockSpacing $targetTimespan $totalCoins $seedNode $nameSeedNode $headline >> /tmp/BASH2log.txt 2>&1 &
Al leer mi file de logging, parece que algunas variables no se pasan en …
y en las siguientes líneas de código:
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"
obtengo resultados de:
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 ....
¿Por qué está buscando en el directory / var / www /? funciona bien si ejecuto el script desde la terminal?
muchas gracias
Así que para empacar mis comentarios en una respuesta:
El script de shell ahora se ejecuta como apache, ya que git usa ssh, se necesitan los files de configuration correspondientes. Que fueron creados en /var/www
; directory de inicio apaches. Apache no tenía permissions de escritura en /var/www
lo que no pudo crear estos files.
Para resolver, cree el directory /var/www/.ssh
usted mismo y proporcione a www-data
(o cualquier usuario que apache se ejecute en su sistema) acceso de escritura a esa carpeta.
Luego, github requiere que autorices las ssh keys
. Es más seguro crear uno nuevo para apache en el directory /var/www/.ssh
recién creado y agregar esta key a su llavero github.