New laravel project

This explains how to setup a basic Laravel project with the Gentics Portal | php package.

Create a new Laravel project with Gentics Portal | php

Clone the newproject branch of the Gentics Portal | php reference GIT repository and change into the directory.

git clone -b newproject git@github.com:gentics/portal-php-reference.git myproject
cd myproject
composer create-project gentics/portal-php-laravel-project portal --repository-url "https://repo.apa-it.at/api/composer/php"

This will create a new directory called "portal". You can also name it differently, but then you have to change the path in the docker-compose configuration, entrypoint.sh and the apache2 vhost.

More information can be found in the Laravel documentation.

.htaccess

POST requests from the Gentics CMS to the CmsController do not work by default because the stock Laravel .htaccess redirects all requests that have a trailing slash in order to remove it. However due do the RFC standard which disallows POST redirects without user interaction, this means that the POST data is lost.

We can fix this easily, in portal/public/.htaccess find this line (line 12):

# Redirect Trailing Slashes If Not A Folder...

Add this after:

RewriteCond %{REQUEST_METHOD} =GET

Docker service configuration

Copy the file docker-compose.override.yml.example to docker-compose.override.yml You can configure passwords, ports, environment variables and other settings in docker-compose.override.yml The license key for the cms has to be changed.

Running the application