×
UNIX.COM Login
Username:
Password:  
Show Password






👤


bash script editing my apache config files

Web Programming




Kindly Note - This is a Single User Post by Forum Member jzacsh Regarding:
bash script editing my apache config files.
Please Follow The Primary Link Above to View the Full Discussion.

   
Old 06-30-2009
jzacsh jzacsh is offline
Registered User
 
Join Date: Apr 2009
Last Activity: 22 June 2010, 8:23 PM EDT
Posts: 31
Thanks: 0
Thanked 0 Times in 0 Posts
Lightbulb bash script editing my apache config files

okay i'm going to try to say this uber-simple:

I use dropbox (file-sync service). in order for dropbox sync files, they must be its children [eg. somewhere under /home/jzacsh/Dropbox].
I want to now use it to keep my development files in sync across my machines:
easy: just move my dev. files under dropbox
catch:I want them to still be viewed as the localhost docs by the server. (fyi: running apache on macbook and linux desktop).

I wrote the below alias into my shell's login file (.bashrc on my linux machine, .profile on my mac)
sidenote: maybe someone can tell me "for this much stuff - avoid aliases, you should be making them functions!"??? idk, it just looks messy I think [eg. servvar and servtmp aliases].

My solution
I placed these in my login script:
Code:
#apache's config file determining localhost's location on fs
serverConfig='/etc/apache2/sites-available/default'

#aliases to cd into, and to turn localhost location on
alias web='cd /var/www;clear; pwd; ls -la;'
alias servvar="sed -i 4,5s/#//g $serverConfig; sed -i 5s/^/#/g $serverConfig;sed -i 10,11s/#//g $serverConfig; sed -i 11s/^/#/g $serverConfig"

#aliases to cd into, and to turn localhost location on
alias tempdev='cd ~/Dropbox/crossPlatform/tempDev;clear; pwd; ls -la;'
alias servtmp="sed -i 4,5s/#//g $serverConfig; sed -i 4s/^/#/g $serverConfig; sed -i 10,11s/#//g $serverConfig; sed -i 10s/^/#/g $serverConfig"

this is a snippet (lines 4-11) from the config file set as $serverConfig just above^
Code:
4        #DocumentRoot /var/www
5         DocumentRoot /home/jzacsh/Dropbox/crossPlatform/tempDev
6         <Directory />
7                 Options FollowSymLinks
8                 AllowOverride None
9         </Directory>
10        #<Directory /var/www/>
11        <Directory /home/jzacsh/Dropbox/crossPlatform/tempDev>

upon logging in, if I tried to run either "servtmp" or "servvar" I would get a permission denied error (understandably).

on a complete guess I did this (after making an "original-*" copy of the config file)
Code:
chown jzacsh /etc/apache2/sites-available/default

idea was: in hopes it would give my login script proper permissions
that ^ resulted still in a "permissions" error, but even weirder looking
Code:
sed: couldn't open temporary file /etc/apache2/sites-available//sedPQrEht: Permission denied
sed: couldn't open temporary file /etc/apache2/sites-available//sedep6tEr: Permission denied
sed: couldn't open temporary file /etc/apache2/sites-available//sed2puLjs: Permission denied
sed: couldn't open temporary file /etc/apache2/sites-available//sedH5hTQv: Permission denied

I checked, and those funky temporary files weren't there when I looked (looked using ls -la)

okey-dokey, that's it, any help would be GREATLY appreciated, i know this is a bit of a funky request.