Download the PHP package kunstmaan/skylab without Composer
On this page you can find all versions of the php package kunstmaan/skylab. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download kunstmaan/skylab
More information about kunstmaan/skylab
Files in kunstmaan/skylab
Package skylab
Short Description Skylab is a 100% backwards compatible PHP port of the Python based hosting scripts used at Kunstmaan. By using the Cilex, Symfony Components and lot's of good code samples from the Composer project we hope to create an application where everyone in our organisation can work with, and if issues or new needed features should arise, be able to work on.
License MIT
Informations about the package skylab
Skylab
Skylab is a 100% backwards compatible PHP port of the Python based hosting scripts used at Kunstmaan. By using the Cilex, Symfony Components and lots of good code samples from the Composer project we hope to create an application that everyone in our organisation can work with, and if issues or new needed features should arise, be able to work on.
Kunstmaan wouldn't be Kunstmaan if we didn't open-source this, so here it is. MIT licensed.
Installation
To install Skylab, run this command:
This will just check a few PHP settings and then download skylab.phar to your working directory. This file is the Skylab binary. It is a PHAR (PHP archive), which is an archive format for PHP which can be run on the command line, amongst other things.
You can install Skylab to a specific directory by using the --install-dir option and providing a target directory (it can be an absolute or relative path):
You can also install Skylab globally by running:
Configuration
You can override the default configuration by creating a file /etc/skylab.yml and give it a secure chmod
For example if you installed skylab on a developer OSX machine:
Or on an ubuntu system:
Special Skeletons
SSL skeleton
The skeleton can be used to configure the SSL configurations in apache via the config.xml
You start by adding to the skeletons in config.xml. Then you need to add to the config.xml to configure the SSL configuration.
You can specify different SSL configuration that has to be used per environment. The syntax for each environment is the same
Example (we assume three environments (dev,staging,prod)).
Which ssl configuration will be used depends on the value in you skylab.yml file. Locally you should have in you skylab.yml configuration file. If you do then when running maintenance it will add the dev SSL config in apache.
Letsencrypt skeleton
The skeleton can be used to generate ssl certificates for your site using the Let's Encrypt service.
To enable the use of letsenecrypt you have to add to the config.xml.
The skeleton will create a ssl certificate for the urls and all the aliases in .
IMPORTANT NOTES:
- The letsencrypt skeleton will run the command only on a production server.
- Make sure the urls resolve to the IP where the command will run, otherwise it will fail.
- You can use the and skeletong together, BUT when enabling both the skeletons you must remove the prod ssl config. If the prod ssl config is available it will use that config instead of running letsencrypt.
- The letsencrypt skeleton also creates a cronjob to renew the certs (e.g. 0 0 0 letsencrypt --apache -n certonly -d myproject.com)
Commands
NewProjectCommand
Usage:
The command creates a new project. It will setup the directory structure and apply the "base" skeleton which is responsible for setting up users, permissions and ownership.
Full details at doc/NewProjectCommand.md
FetchCommand
Usage:
The command fetches a Skylab project from a server and puts it in the right locations on your computer. It will also drop the databases, so be very careful if you want to use this on a production server to do a migration.
# Will ask for a project and server to fetch it from
# Will fetch the testproject from server1
Full details at doc/FetchCommand.md
ShareCommand
Usage:
The command shows a table of all your locally installed projects together with the xip.io url.
# Will show the xip.io table
Full details at doc/ShareCommand.md
SetPermissionsCommand
Usage:
The command will fix the permissions of a project.
Full details at doc/SetPermissionsCommand.md
MaintenanceCommand
Usage:
The command will run the maintenance commands of all skeletons on a project. Most notably, it will create the apache config files and make sure the the databases are available.
Full details at doc/MaintenanceCommand.md
BackupCommand
Usage:
The command will dump all your databases and create a tarball of one or all projects.
Full details at doc/BackupCommand.md
RemoveProjectCommand
Usage:
The command will remove the project after creating a backup first.
# Will remove the testproject project
# Will do the same, but don't ask you if you are sure.
Full details at doc/RemoveProjectCommand.md
ApplySkeletonCommand
Usage:
The command applies a skeleton, and all it's dependencies to a project. It will run the "create" method in the skeleton to setup all the requirements for that skeleton.
# Lists all available skeletons
# Will ask for a project and skeleton to apply
# Will apply the anacron skeleton to testproject
Full details at doc/ApplySkeletonCommand.md
SelfUpdateCommand
Usage:
The command will check if there is an updated skylab.phar released and updates if it is.
Full details at doc/SelfUpdateCommand.md
Compiling a new version
- First, make sure everything works and the Travis tests are green
- Generate an updated changelog using from git-extras
- Commit this new changelog
- Create a new release from the Github interface, add the new changelog part in the description and name the release for the next brightst star in this list
- download box.par to create the new version
- Build a new version using box.phar box.phar build -v. Note: make sure you have pulled in the latest tag!!
- Add the new phar file to the release on GitHub
- Update packagist
Modifying the documentation
- Most text is in , edit what you want there.
- Everything in doc/ is generated, same goes for everything in README.md under Commands
- Run to update the docs
- Send a pull request
Contributing
- Fork Skylab
- Do your thing, and send a Pull Request. But please make sure Travis is green and your code has been run through php-cs-fixer!
Documentation generated on 2017-12-19 12:42:37
All versions of skylab with dependencies
symfony/yaml Version ~2.1
symfony/serializer Version ~2.1
sgrodzicki/pingdom Version dev-master
stecman/symfony-console-completion Version ~0.4.4
raven/raven Version 0.12.*
cleentfaar/slack Version dev-master
ckdarby/php-uptimerobot Version ^0.1.0
padraic/phar-updater Version ^1.0
kunstmaan/pwgen-php Version 0.1.x
kunstmaan/cilex-twig Version 1.0.x
edyan/neuralyzer Version dev-0.1x-maintenance
doctrine/annotations Version v1.2.7
doctrine/collections Version v1.3.0
symfony/debug Version 2.8
symfony/filesystem Version 2.8
symfony/dependency-injection Version 2.8
guzzlehttp/guzzle Version 5.3.2