Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

* Added a README and signed the script for security reasons.

  • Loading branch information...
commit 9bbefb76c3038017ca4b95d259a6d7e514b9643a 1 parent 4f14f19
@perusio authored
Showing with 62 additions and 0 deletions.
  1. +1 −0  .gitignore
  2. +61 −0
1  .gitignore
@@ -1 +1,2 @@
@@ -0,0 +1,61 @@
+* nginx_ensite and nginx_dissite for quick virtual host enabling and disabling
+** Description
+This is a shell (Bash) script that replicates for [[][nginx]] the [[][Debian]]
+=a2ensite= and =a2dissite= for enabling and disabling sites as virtual
+hosts in Apache 2.2.
+The original =a2ensite= and =a2dissite= is written in
+Perl. =a2dissite= is a symbolic link to =a2ensite=. Here I followed
+the same approach, i.e., =nginx_dissite= is a symbolic link to
+** Installation
+Just drop the script and the symbolic link in =/usr/sbin= or other
+location appropriate for your system. Meaning: =cp nginx_* /usr/sbin=.
+That's it you're done.
+Note that the script assumes a specific file system topology for your
+=nginx= configuration. Here's the rundown:
+1. All virtual hosts configuration files should be under
+ =/etc/nginx/sites-available=. For example the virtual host
+ =foobar= is configured through a file in =/etc/sites/available=.
+2. After running the script with =foobar= as argument: =nginx_ensite
+ foobar=. A symbolic link =/etc/nginx/sites-enabled/foobar ->
+ /etc/nginx/sites-available/foobar= is created.
+3. The script invokes =nginx -t= to test if the configuration is
+ correct. If the test fails no symbolic link is created and an error
+ is signaled.
+4. If everything is correct now just reload nginx, in Debian based
+ systems that means invoking =/etc/init.d/nginx reload=.
+5. Now point the browser to the newly configured host and everything
+ should work properly assuming your configuration is sensible.
+6. To disable the site just run =nginx_dissite foobar=. Reload nginx
+ to update the running environment.
+** Requirements
+The script is written in Bash and uses what I believe to be some Bash
+specific idioms. I never tested it in other shells. You're welcomed to
+try it in any other shell. Please do tell me how it went.
+It requires also [[][awk]]. The original =AWK= (usually called BWK awk) from
+Bell Labs will do if you don't have [[][gawk]] (Gnu awk). IN OS X and *BSD
+the former is the default =awk=. The script should work in *BSD, OS X
+and GNU/Linux.
+** Security & Trust
+The script is signed with my GPG key. Just do =gpg --keyserver --recv-keys 4D722217=. Verify by issuing =gpg --verify
Please sign in to comment.
Something went wrong with that request. Please try again.