by luigi laezza | 5th October 2020 | Web Development | Symfony, CMF
Today I would like to talk about SULU CMF, which is at version 2.o.
Sulu is a is a fantastic project based on Symfony 2 full stack and other open-source application like PHPCR, Doctrine, Backbone.js, and Require.js.
It is meant to help developers create multi-platform, multi-language, and multi-channel sites giving some boilerplate functionalities.
Ah did I mention that it works great and it looks sleek ?! Check the gallery below and don’t forget to download the project to give it a try.
To begin with, you will need the code, which can be cloned from the sulu-standard repository on GitHub.
$ git clone https://github.com/sulu-io/sulu-standard.git
After the clone has finished, you can change to the cloned directory, and check out the latest version of Sulu:
$ cd sulu-standard $ git checkout master
Use Composer to install Sulu’s dependencies:
At the end of the installation, the Composer asks you to submit the values of different parameters. For now, just press “Enter” to keep their default values or change them to whatever you prefer.
The next step would be the setup.
Sulu runs around the concept of webspaces. Each of these webspaces cofigure a content tree. We can start with copying the default file and modify it accordingly:
cp app/Resources/webspaces/sulu.io.xml.dist app/Resources/webspaces/sulu.io.xml
Once done, is time to pass to the templates, each content is based on a template which needs to be defined. To start also in this case, we can use the default files:
cp app/Resources/pages/default.xml.dist app/Resources/pages/default.xml cp app/Resources/pages/overview.xml.dist app/Resources/pages/overview.xml cp app/Resources/snippets/default.xml.dist app/Resources/snippets/default.xml No we need to complete the installation (these are OSX commands, go on sulu's website for more): rm -rf app/cache/* rm -rf app/logs/* HTTPDUSER=`ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` sudo chmod +a "$HTTPDUSER allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs uploads uploads/* web/uploads web/uploads/* app/data sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs uploads uploads/* web/uploads web/uploads/* app/data Run the following commands to complete the installation: app/console sulu:build prod (load fixtures, and does some more setup)app/console sulu:build dev (same as above) If you need more users or roles:app/console sulu:security:role:create (create a security role)app/console sulu:security:user:create (create an user) Done! Now you can go to the /admin path and start playing with Sulu. Have fun, and let me know how you liked it.