kirchecom / neos-genesis
Neos distribution for kirche.com, version Genesis
Requires
- kirchecom/site-genesis: ^3.1
- neos/neos: ~5.2.0
- neos/neos-setup: ^1.0
- neos/neos-ui: ^5.2
- neos/redirecthandler-databasestorage: ^4.0
- neos/redirecthandler-neosadapter: ^4.0
- neos/redirecthandler-ui: ^2.0
- neos/seo: ^3.1
- neos/setup: ^4.1
Requires (Dev)
- mikey179/vfsstream: ^1.6
- neos/behat: @dev
- neos/buildessentials: @dev
- phpunit/phpunit: ^8.1
- symfony/css-selector: ^2.0
Suggests
- ext-pdo_sqlite: For running functional tests out-of-the-box this is required
Replaces
- neos/neos-base-distribution: 5.2.0
README
kirche.com is powered by the Open Source Content Application Platform Neos. This repository holds the Neos distribution specificly developed for kirche.com. It can be used to set up platforms similar to kirche.com using your own content.
Note that this distribution already includes the kirche.com site package, so if you use this distribution, there is no need to manually install the site package.
Installation
1. Requirements
Please ensure your web server meets the following requirements:
- PHP >= 7.2
- MySQL > 5.7.7 or MariaDB > 10.2.2
- Composer
- One of the supported PHP graphic libraries: ImageMagick, GraphicsMagick, VIPS or GD2
- PHP modules mbstring, tokenizer and pdo_mysql
- Apache or Nginx
Depending on your system something similar to these commands might install the requirements:
sudo apt install mariadb-server mariadb-client
sudo apt install php-xml php-mbstring php-tokenizer php-mysql php-imagick
curl -sS https://getcomposer.org/installer | php
2. Create a database
Create a new empty database in a graphical database management system of your choice or using commands similar to
(replacing YOURDATABASENAME
and YOURPASSWORD
with values of your choice):
sudo mysql -u root
create database YOURDATABASENAME; grant all privileges on YOURDATABASENAME.* TO 'flow'@'localhost' identified by 'YOURPASSWORD'; flush privileges;
3. Install the Neos distribution
We recommend using composer to clone this repository and install all dependencies.
Replace DIRECTORY
by your web server directory you want to install Neos into:
composer create-project --no-dev --keep-vcs kirchecom/neos-genesis DIRECTORY
If you are in a local development context (i.e. on a development machine) you can now enter the directory just created and
execute ./flow server:run
to start a local development server. Open the URL displayed to set up and configure your
Neos instance.
If you are in production context, please edit the file Web/.htaccess
and uncomment the following line to set up
production context:
SetEnv FLOW_CONTEXT Production
Now open your web browser and visit the application's URL to configure your Neos installation. Since it already includes the kirche.com site package, there is no need to install any site package.
Installation Troubleshooting
On some systems you might need to adjust Configuration/Settings.yaml
for Neos to run properly.
Below you find an example configuration that may solve some issues. Always adapt the file to your specific system!
Neos: Flow: persistence: backendOptions: driver: pdo_mysql host: <REPLACE_WITH_YOUR_HOST> dbname: <REPLACE_WITH_YOUR_DB_NAME> user: <REPLACE_WITH_YOUR_DB_USER_NAME> password: <REPLACE_WITH_YOUR_DB_PASSWORD> core: phpBinaryPathAndFilename: /usr/local/bin/php resource: targets: localWebDirectoryPersistentResourcesTarget: target: Neos\Flow\ResourceManagement\Target\FileSystemSymlinkTarget targetOptions: relativeSymlinks: true localWebDirectoryStaticResourcesTarget: target: Neos\Flow\ResourceManagement\Target\FileSystemSymlinkTarget targetOptions: relativeSymlinks: true Imagine: driver: Gd
Specifically, setting phpBinaryPathAndFilename
helps when Neos doesn't find your PHP interpreter.
Set it to the actual path on your system.
Configuring relativeSymlinks: true
helps if you need relative symlinks for your assets.
Execute ./flow resource:publish
to update the asset paths.
If you ran into issues concerning the database charset, ./flow database:setcharset
helps.
Also ./flow flow:cache:flush --force
, ./flow flow:session:destroyAll
and rm -rf Data/Temporary/*
can solve caching issues.
Update
To update Neos, the kirche.com site package and other dependencies to the latest minor version change, including security bugfixes, just switch to the directory where you installed Neos and execute:
composer update --no-dev
To update the distribution to the latest version, which might include breaking changes, just fetch the latest version of the repository:
git checkout master git pull composer install --no-dev composer update --no-dev
After updating, database migrations might need to be applied:
./flow doctrine:migrationstatus
./flow doctrine:migrate
./flow node:migrationstatus
./flow node:migrate
./flow flow:cache:flush --force
./flow flow:session:destroyAll
./flow resource:publish
rm -rf Data/Temporary/*
License
Neos is licensed under the GNU General Public License v3.0. The kirche.com site package is licensed under the European Union Public License 1.2.