Application Management in Grackle
Applications in Grackle are set up as Linux user accounts, with a traditional home directory organized to support a wide variety of applications, and entry points from Nginx.
bin/grapp
is the shell script which handles managing application accounts in a Grackle system. Like the other shell scripts that make up Grackle, grapp
is easily modified to suit your specific environment.
Creating Applications
$ grapp new
To create a new application account, run the new
command, and fill in the prompts.
$ grapp new USERNAME DOMAIN.COM
To skip interactive mode, append a username and domain for your application to use.
$ grapp new USERNAME SUBDOMAIN.DOMAIN.COM
The new
command also supports giving unique accounts to subdomain addresses. This allows you to set up multiple compartmentalized apps on a single domain.
If you want to point a subdomain at an existing app account, you will need to manually tweak the Nginx Service.
Removing Applications
$ grapp delete
Deletes the specified application account, but preserves the data so that the new
command can recreate the account if desired.
$ grapp delete USERNAME
Append a username to the delete
command, to skip interactive mode.
$ grapp purge
The same as the delete
command, except it goes scorched earth and forever deletes everything associated with the application from the system.
$ grapp purge USERNAME
Append a username to the purge
command, to skip interactive mode.
Utility Commands
$ grapp fix-perms
In case you screw up the permissions of your app account's home directory structure, this will chown/chgrp/chmod everything back to their Grackle defaults.
$ grapp fix-perms USERNAME
Append a username to the fix-perms
command, to skip interactive mode.
$ grapp fix-perms-deep
The same as fix-perms
, only it runs recursively into your application's files. Useful for solving several Nginx errors that arise from people not setting the right permissions on their files. However, this command can be incredibly destructive if you are intentionally using something other than 750/640 in /public_html/, so use with caution!
$ grapp fix-perms-deep USERNAME
Append a username to the fix-perms-deep
command, to skip interactive mode.
Service Configuration
There are a handful of commands for deploying common web services & technologies.
$ grapp web-on|web-off
The web-on
and web-off
commands enable and disable the Nginx zone for the specified application, turning on/off public web access.
$ grapp web-on|web-off USERNAME
Append a username to the web-on
and web-off
commands, to skip interactive mode.
$ grapp php-setup
The php-setup
command generates a PHP configuration for the specified account.
$ grapp php-setup USERNAME
Append a username to the php-setup
command, to skip interactive mode.
$ grapp php-on|php-off
The php-on
and php-off
commands enable and disable the PHP configuration for the specified account.
$ grapp php-on|php-off USERNAME
Append a username to the php-on
and php-off
commands, to skip interactive mode.