Git Product home page Git Product logo

liferay-dev-setup-vagrant's Introduction

Liferay Skeleton

This project contains an Ansible playbook to set up a Liferay Portal server. It can either be used to set up a test, stage, production or any other environment, as well as provisioning a Vagrant VM for development purposes.

Setup/provisioning includes the installation of a Liferay Portal server and its prerequisites:

  • a MySQL database
  • a Java 7 JDK
  • a Liferay 6.2 Tomcat bundle.

Prerequisites

Starting and provisioning the VM requires the following software packages to be installed:

Please note that the download tasks in (some of) the role submodules require passwordless sudo on Your local host, because the archives are cached a directory, that normally isn't beyond user access (see local_ansible_data_path configuration).

Development environment with Vagrant

With the provided default configuration for the development environment with Vagrant, the auto deploy directory of the Liferay Portal server is accessible from outside the VM, so that each (developed) extension can be deployed only by copying its *.war archive to that directory.

Starting and using the VM

See Vagrant Documentation how to work with Vagrant. Important commands are:

vagrant up
vagrant provision
vagrant halt
vagrant destroy

Using the VM

After the VM is successfully started and provisioned, open http://localhost:8080/ in a browser and follow the requested steps. Sign in with the default admin user:

If an enterprise edition of the Liferay Portal server is installed, a file containing a valid license has to be provided. It can simply be copied into the liferay-deploy directory and the server will automatically apply it.

Extension development

The extension development might e.g. be organised in a Maven (multi module) project. It should be configured with the path to the liferay-deploy directory.

Server setup with Ansible

The Ansible playbook, that is used to provision the Vagrant VM, can also be used to set up the Liferay system (including MySQL and Java) on other environments (servers), too. For each additional environment, an inventory file ansible/inventory/[environment] has to be created. Replicate an existing inventory file and adjust its contents regarding to the new environment and/or see the documentation on the Ansible home page: Ansible Docs - Inventory. If the new environment requires custom configurations, create a file ansible/host_vars/[environment].yml and configure the variables that should be overwritten.

To run the setup call:

ansible-playbook ansible/playbook.yml \
                 -i ansible/inventory/[environment]

Variables for Liferay version

The default variables define the (currently) latest version of the Liferay Portal server for installation. If a server should be set up with another version, those variables can be overwritten, e.g. in the regarding ansible/host_vars/[environment].yml file for the server to be set up. Prefedined variables for known versions can be found in the directory ansible/roles/liferay/vars/versions and can simply be overwritten in the ansible/host_vars/[environment].yml file.

liferay-dev-setup-vagrant's People

Contributors

marcrohlfs avatar

Watchers

James Cloos avatar Sabrina Schutzsmith avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.