How to make a script to start and stop XAMPP(LAMPP)?

Forum rules
Before you post please read this

How to make a script to start and stop XAMPP(LAMPP)?

Postby sagirfahmid3 on Fri Oct 14, 2011 8:49 pm

Hi, I would like to know to to make a script that will start LAMPP when I double click it the shell file, and stop it when I double click it again. Is this possible?

The terminal prompts which I have to use are:
sudo /opt/lampp/lampp start
sudo /opt/lampp/lampp stop

It really is annoying when I have to type that every time I want to start or stop it and it would be really nice to have a script do that instead.
BTW, I have to run as root to start LAMPP.

I would appreciate it if someone told me how to do this.
Thank You.
User avatar
sagirfahmid3
Level 6
Level 6
 
Posts: 1054
Joined: Sun Sep 04, 2011 12:39 pm

Linux Mint is funded by ads and donations.
 

Re: How to make a script to start and stop XAMPP(LAMPP)?

Postby xenopeek on Sat Oct 15, 2011 7:20 am

Okay, this is a simple script, but should do what you want. If you use LMDE, delete the two notify-send commands as those are not supported on LMDE (these just pop-up a small feedback balloon to you, showing what it is doing). Might also not work on Linux Mint 9, please test. The rest of the script will do what you want without these two lines :wink:

Start Gedit (Text Editor) from the Menu, and copy the following text into it:
Code: Select all
#!/bin/bash

# check running as root
if [[ $(id -un) != root ]]; then
   zenity --error --text="$0 must be run as effective root user." --title=$(basename $0)
   exit 1
fi

# toggle LAMPP
if [[ -f /var/run/lampp-toggle ]]; then
   notify-send --expire-time=3 $(basename $0) "Stopping LAMPP"
   /opt/lampp/lampp stop
   rm -f /var/run/lampp-toggle
else
   notify-send --expire-time=3 $(basename $0) "Starting LAMPP"
   /opt/lampp/lampp start
   touch /var/run/lampp-toggle
fi

Save the file as "lampp-toggle" at a location of your choosing (for example to your home folder), then close it. Now right-click the file > Properties > Permissions, and mark "Allow executing file as a program".

You have to start the script with "gksudo ~/lampp-toggle" or "sudo ~/lampp-toggle". To make this easier, you can right-click the Menu > Edit menu and add a menu item for this.

Now, to avoid having to type a password for this each time, you can change that the script can be run with sudo without requiring a password. Run the following command to start editing:
Code: Select all
sudo EDITOR=nano visudo

Then add a line at the end:
Code: Select all
sagirfahmid3 ALL=NOPASSWD:/home/sagirfahmid3/lampp-toggle

Where you replace, twice, sagirfahmid3 with your username. And make sure the path at the end then matches the location of where you saved the script. Save the file with Ctrl+O (letter O) and exit with Ctrl+X. Now starting "gksudo ~/lampp-toggle" or "sudo ~/lampp-toggle" will do so without asking for a password.

The only caveat of this script is that if you stop or start LAMPP without this script, and then use the script--it doesn't know what you did, so it might do the other action than you want (trying to start, while you want it to stop and vice versa). Just run it another time to get it to do what you wanted.

Edit: corrected how to edit the /etc/sudoers file.
Last edited by xenopeek on Sat Oct 15, 2011 2:37 pm, edited 1 time in total.
User avatar
xenopeek
Level 21
Level 21
 
Posts: 14966
Joined: Wed Jul 06, 2011 3:58 am
Location: The Netherlands

Re: How to make a script to start and stop XAMPP(LAMPP)?

Postby sagirfahmid3 on Sat Oct 15, 2011 12:25 pm

Thanks a lot...I followed the instructions....and it broke my sudo. Now I cant do anything....
:evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil:
Gonna have to reinstall Mint.
User avatar
sagirfahmid3
Level 6
Level 6
 
Posts: 1054
Joined: Sun Sep 04, 2011 12:39 pm

Re: How to make a script to start and stop XAMPP(LAMPP)?

Postby xenopeek on Sat Oct 15, 2011 12:53 pm

That was clearly not my intention! :( I don't know what caused your sudo not to work anymore, but you can remedy this without a re-install. Please share if I can help on this.

Hold shift during boot to show the GRUB boot menu. Select the 2nd entry in the boot menu (recovery mode). You will get a text mode menu, scroll down and select "drop to root console" (or something like that). You are now the root user, and have a terminal where you can run commands as root. Then edit the /etc/sudoers file manually and delete the last line that you added (press Ctrl+O [letter O] to save, and Ctrl+X to exit nano):
Code: Select all
EDITOR=nano visudo

Edit: corrected how to edit the /etc/sudoers file.
Last edited by xenopeek on Sat Oct 15, 2011 2:40 pm, edited 2 times in total.
User avatar
xenopeek
Level 21
Level 21
 
Posts: 14966
Joined: Wed Jul 06, 2011 3:58 am
Location: The Netherlands

Re: How to make a script to start and stop XAMPP(LAMPP)?

Postby sagirfahmid3 on Sat Oct 15, 2011 1:54 pm

It says "can't stat /etc/sudoers: No such file or directory".

Why dont you copy your sudoers file and upload it, then i can download it and paste it there
User avatar
sagirfahmid3
Level 6
Level 6
 
Posts: 1054
Joined: Sun Sep 04, 2011 12:39 pm

Re: How to make a script to start and stop XAMPP(LAMPP)?

Postby xenopeek on Sat Oct 15, 2011 2:30 pm

:oops: I gave the wrong command to edit the /etc/sudoers file. My humble apologies for causing your problem. The correct command to edit the /etc/sudoers file with nano is (from the recovery mode):
Code: Select all
EDITOR=nano visudo

The /etc/sudoers file on my system (Linux Mint 10 and 11):
Code: Select all
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults   env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root   ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

#includedir /etc/sudoers.d

Ignoring the comments, the following four lines need to be in the file to be able to use sudo from your own user account again. I suggest you put those four in, and then restore the complete file after you reboot to normal mode again and can use copy & paste (as you can not just overwrite the /etc/sudoers file, but need to use visudo).
Code: Select all
Defaults   env_reset
root   ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo   ALL=(ALL:ALL) ALL
User avatar
xenopeek
Level 21
Level 21
 
Posts: 14966
Joined: Wed Jul 06, 2011 3:58 am
Location: The Netherlands

Re: How to make a script to start and stop XAMPP(LAMPP)?

Postby sagirfahmid3 on Sat Oct 15, 2011 4:05 pm

Yeah...Im just gonna reinstall and MAKE A BACKUP JUST IN CASE SOMETHING GOES HORRIBLY WRONG WHEN FOLLOWING PEOPLE'S INSTRUCTIONS :cry: :shock: :evil:
User avatar
sagirfahmid3
Level 6
Level 6
 
Posts: 1054
Joined: Sun Sep 04, 2011 12:39 pm

Linux Mint is funded by ads and donations.
 

Return to Scripts & Bash

Who is online

Users browsing this forum: No registered users and 2 guests