Solved

TeamSpeak Restart

Posted on 2014-01-31
1
565 Views
Last Modified: 2014-02-11
I'm looking for a way to run SSH commands via a PHP file and stop and restart my Teamspeak server.  I want this for some of my staff to be able to restart the server that cannot use SSH.

Is there a way to do this?

When they click the link it would need to run this command:

./ts3server_startscript.sh stop

Open in new window


Then delay about 10 seconds.

Then run this command:
./ts3server_startscript.sh start inifile=ts3server.ini

Open in new window


The location of the start script is /home/starcit/ts/teamspeak3-server_linux-amd64
0
Comment
Question by:N R
1 Comment
 
LVL 34

Accepted Solution

by:
gr8gonzo earned 500 total points
ID: 39824609
I would say the "safest" way to do this is to create a PHP file that has a form and a button on it. When they click the button, the PHP script simply creates a file in /tmp called "restart_teamspeak.flag", like this:

<?php
if(isset($_POST["restart_teamspeak"]))
{
   file_put_contents("/tmp/restart_teamspeak.flag","");
   echo "Starting the restart process. This may take up to a minute.";
}
else
{
  echo "<form action='".basename(__FILE__)."' method='post'><input type='submit' value='Restart Teamspeak'></form>";
}

Open in new window


...then create a shell script that checks for the existence of the file and simply runs those commands if it finds /tmp/restart_teamspeak.flag and then deletes the file after it's done.

Finally, create a cron job that runs that shell script every minute.

This should give you a safe way to kick off that process via a web server.

You CAN alternatively set up a web server with enough permissions to run the commands directly, but this typically means that it will have enough permissions to do other things, as well, which creates a huge vulnerability.
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
move expression web site to a new server 13 34
AWS EC2 & RDS Instance 5 36
PHP AJAX JSON 2 61
CSS: Making responsive table look nicer 7 27
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
This video teaches users how to migrate an existing Wordpress website to a new domain.
The is a quite short video tutorial. In this video, I'm going to show you how to create self-host WordPress blog with free hosting service.

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question