Install Roadiz Standard Edition¶
For new projects Roadiz can be easily setup using create-project
command.
# Create a new Roadiz project
composer create-project roadiz/standard-edition my-website
cd my-website
# Create a new theme for your project and link assets
# path in public folder
bin/roadiz themes:generate --symlink --relative FooBar
# Go to your theme
cd themes/FooBarTheme
# Install JS dependencies with npm or Yarn
yarn # or npm install
# Build your new theme assets
yarn build # or npm run build
Composer will prompt you if you want to can versioning history. Choose the default answer no
as we definitely
want to replace standard-edition Git with our own versioning. Then you will be able to customize every files
in your projects and save them using Git, not only your theme. Of course we added a default .gitignore
file to
prevent your configuration setting and entry points to be commited in your Git history. That way you can have
different configuration on development and on your production server without bothering about merge conflicts.
Note
For Windows users, bin/roadiz themes:generate --symlink --relative FooBar
command can be used
without --relative
option to create absolute symlinks. You can even install your theme assets as
hard copies without --symlink
option.
Make sure that you call regularly bin/roadiz themes:assets:install FooBar
when using hard copy mode to update
your assets. You should use symlinks if possible to prevent update issues.
Dealing with Roadiz environments¶
Installation environment¶
Once you’ve succeeded to download Roadiz and its dependencies. You’ll have to setup its database and every information needed to begin your website.
As every Symfony applications do, Roadiz works using environments. By default, there is a production
environment which is handled by index.php
entry point. At this moment, if you try to connect to
your fresh new Roadiz website, you will get an error as we did not install its database and its essential data.
To be able to use Roadiz install interface, you’ll need to call the install entry point. An install.php
file
has been generated when you executed composer install
command. This environment will be reachable at the Url http://mywebsite.com/install.php
.
For security reasons, we added an IP filtering in this entry point, you can add your own IP address in the following array: array('127.0.0.1', 'fe80::1', '::1', ':ffff:127.0.0.1', '::ffff:127.0.0.1')
. This IP filtering is very important if you are working on a public server, no one except you should be able to access install entry point.
At the end of the install process, you will be invited to remove the install.php
file and to connect to your
website final URL.
Development environment¶
Roadiz production environment is not made for developing your own themes and extending back-office features.
As the same way as install environment, we prepared a dev environment to disable resources caching and enable
debug features. You’ll find a dev.php
file at your website root which was generated at composer install
command.
As well as install.php entry point, you’ll need to add your own IP address to filter who can access to your dev environment.
Preview environment¶
The preview environment is not a real one as it only adds a flag to Roadiz’ Kernel to enable
back-office users to see unpublished nodes. By default, it is available using preview.php
entry point, unless you decide to remove it.
Production environment¶
This is the default index.php
entry point which will be called by all your visitors.
There is no restriction on it and it will wake up Roadiz application using the strongest
caching policies. So it’s not recommended for development usage (you would have to flush caches
each time your change something in the code).
Clear cache environment¶
The clear_cache environment is only meant to empty Roadiz cache without waking up
the whole application. It can be useful if you are using a op-code cache like APC or
native PHP OPcache. These special caches can’t be purged from command line utilities,
so you need to call a PHP script from your browser or via curl
to empty them.
Like install and dev environment, clear_cache.php
is IP-restricted not to
allow everyone to flush your dear caches. You’ll need to add your own IP address to filter who can access it.