Welcome to Sulu - a fully-functional Content Management Framework (CMF) based on Symfony2.
Licensed under the MIT License.
##Prerequisites
- webserver with PHP (>=5.4) and a mysql database
- composer
- grunt-cli
- nodejs and npm
- ruby & compass (3.2.13)
Use the following template for your vhost-configuration
<VirtualHost *:80>
DocumentRoot "[path-to-your-workspace]/sulu-standard/web"
ServerName sulu.lo
<Directory "[path-to-your-workspace]/sulu-standard/web">
Options Indexes FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Of course you also have to make sure that your webserver user has permission
to access your installation folder. Don't forget to include sulu.lo
in your
hosts-file, if you want to use Sulu on a local machine.
git clone git@github.com:sulu-cmf/sulu-standard.git
cd sulu-standard
git checkout develop
Copy the one of the files app/config/{phpcr_doctrine_dbal.yml.dist} or {phpcr_jackrabbit.yml.dist} to app/config/phpcr.yml. The config is based on symfony-cmf sandbox. Adjustments to the file contents are optionally.
cp app/config/phpcr_jackrabbit.yml.dist app/config/phpcr.yml
or
cp app/config/phpcr_doctrine_dbal.yml.dist app/config/phpcr.yml
composer install
rm -rf app/cache/*
rm -rf app/logs/*
mkdir uploads/media
mkdir web/uploads/media
APACHEUSER=`ps aux | grep -E '[a]pache|[h]ttpd' | grep -v root | head -1 | cut -d\ -f1`
sudo chmod +a "$APACHEUSER allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs uploads/media web/uploads/media
sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs uploads/media web/uploads/media
rm -rf app/cache/*
rm -rf app/logs/*
mkdir uploads && mkdir uploads/media/
mkdir web/uploads && mkdir web/uploads/media/*
sudo setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs uploads/media web/uploads/media
sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs uploads/media web/uploads/media
The following command will intiaialize the database, load the fixtures and do other things required to intiialize your Sulu CMF installation:
app/console sulu:build
Use Apache Jackrabbit as a content repository (as an alternative to doctrine-dbal (i.e. storing the data in a relational database).
Download the jar file into a Folder of your choice.
wget http://archive.apache.org/dist/jackrabbit/2.6.3/jackrabbit-standalone-2.6.3.jar
java -jar jackrabbit-standalone-2.6.3.jar
brew install imagemagick
brew install php55-imagick
add extension=/path/to/Imagick.so
to php.ini
sudo apt-get install imagemagick
sudo apt-get install php5-imagick
add extension=/path/to/Imagick.so
to php.ini
brew install ghostscript
configurate the path to ghostscript
in the media bundle
sudo apt-get install ghostscript
configurate the path to ghostscript
in the media bundle
Before you go on with the initialization of the content repository, you have to make sure that all required configuration files exist.
Webspaces are configured in the app/Resources/webspaces
-folder. Copying the existing example should be enough for a local installation:
cp app/Resources/webspaces/sulu.io.xml.dist app/Resources/webspaces/sulu.io.xml
On an online installation you have to adjust the URLs in this file.
Templates are configured in the app/Resources/templates
-folder. Copying the existing default template should be enough for a simple page containing a title, a link and a texteditor:
cp app/Resources/templates/default.xml.dist app/Resources/templates/default.xml
cp app/Resources/templates/overview.xml.dist app/Resources/templates/overview.xml
cp app/Resources/templates/complex.xml.dist app/Resources/templates/complex.xml
You can add more templates by simply adding more files in this folder. Use the default.xml.dist
-file as an example.
Widgets are small UI-components which are mainly seen in the sidebar. In the configuration file it can be specified which widgets are contained in which sidebar. To use the default configuration just run the follwing command:
cp app/config/widgets.yml.dist app/config/widgets.yml
app/console sulu:phpcr:init
app/console sulu:webspaces:init
app/console sulu:security:user:create
Follow the instruction to create a new user
app/console sulu:translate:import en
app/console sulu:translate:import de
app/console sulu:translate:export en
app/console sulu:translate:export de
- admin-bundle
- contact-bundle
- content-bundle
- generator-bundle
- portal-bundle
- security-bundle (included but not integrated in other bundles)
- sulu-core
- tag-bundle
- test-bundle
- website-bundle
The route to the backend login is:
sulu.lo/admin/
Documentation can be found here: https://github.com/sulu-cmf/docs