Foreword

Below you will see how to install a backend application. At the end of this procedure you will find a folder named frontends, containing some frontend examples. Start from here to develop a frontend application.
There is not an automatic setup/install procedure with a graphical user interface for BEdita 3.1 ulmus, but you have to follow some easy steps. A graphical user interface has been introduced from BEdita version 3.2 populus.

Before installing BEdita

First it is necessary that some preliminary requirements are satisfied. See BEdita requirements.

Download BEdita package

If your system does support the requirements listed above you can download the package. This package contains everything you need to setup and use BEdita.

There you will find the real BEdita application (bedita-app directory), the CakePHP framework (cake folder), the template engine Smarty (vendors/smarty dir) and the phpThumb library (vendors/phpThumb dir), and many other libraries used.



Quick install

Copy or unpack bedita directory (content of the compressed source package) in a directory served by the web server. Then:

  • create an empty database, create/choose a user with grants on data (DELETE, UPDATE...) and structure (DROP, CREATE,...)
  • edit  bedita-app/config/database.php adding database connection details (host, user,...)
  • edit bedita-app/config/bedita.sys.php; in $config['beditaUrl'] write the web URL to BEdita installation, in $config['mediaUrl'] write the web URL to the media files, normally you can use $config['beditaUrl'] . "/files" .
  • make sure bedita-app/tmp is writable from your web server
  • if you haven't  mod_rewrite enabled remove .htaccess files and uncomment App.baseUrl in bedita/bedita-app/config/core.php. For more detail read the Note below.
  • launch ./cake.sh bedita init to check your setup

Optional steps:

  • create a root directory for media files, served by your webserver; or use default dir bedita-app/webroot/files, already present 
  • edit bedita-app/config/bedita.sys.php, in $config['mediaRoot'] write the absolute path to this media root dir, in $config['mediaUrl'] write the web URL to the same directory


Installation details

Here the same instruction from above in more detail.

1. Create the database

Just create an empty database on MySQL and define a mysql user having grants on data (INSERT, DELETE, etc....) and on structure (CREATE, DROP, etc....). Make sure you have stored procedures available on your installation.

2. Launch bedita init shell script

To initialize the system correctly, BEdita has a PHP script that you have to launch from the command line (a cake shell script, more precisely). Just go to the bedita directory above on the shell and type:

./cake.sh bedita init

(on Linux/Mac/*nix systems, on Windows use cake.bat instead of ./cake.sh). This script first checks your configuration, if it finds something wrong or not properly setup it will suggest you what to do. For instance if the database connection fails it will tell you which file to check and which variable to edit.

HINT: edit $default array in bedita-app/config/database.php, have a look at cakePHP documentation.

Don't worry!

There are just two files to edit, bedita-app/config/database.php for the database connection (look at the CakePHP docs) and bedita-app/config/bedita.sys.php where you have to define three fundamental variables for BEdita.

  • the first one is $config['mediaRoot'] that indicates a directory on your filesystem where BEdita will put any file uploaded (through a form) on the system. Verify that the webserver has the right permissions to read and write in this directory.
  • the second is $config['mediaUrl'] that indicates the base URL from which you can reach the uploaded files.
  • the third is $config['beditaUrl'] that indicates the base URL of your BEdita installation

Note: to define paths on filesystem you may use DS as generic directory separator, it will be "/" oni *nix systems (Linux, McOSX,...) or "\" on Windows.

You can obviously have more complex configurations creating the media directory somewhere else defining a virtual host that points to it (recommended for production systems).

Once the system is correclty configured the script wil create and initialize the database. At last it will ask if you want to check the status of BEdita, just press y and you will receive a short summary of your configuration.

Be aware of the permissions on bedita-app/tmp directory that has to be recursively writable from your webserver.

Note: BEdita is based on CakePHP framework. CakePHP is built to work with mod_rewrite out of the box (http://book.cakephp.org/view/37/Apache-and-mod_...). If you want/can use it (recommended) check if it's enabled, otherwise if you want to configure CakePHP not to use mod_rewrite remove .htaccess files in

/bedita/.htaccess
/bedita/bedita-app/.htaccess
/bedita/bedita-app/webroot/.htaccess

And uncomment the App.baseUrl in bedita/bedita-app/config/core.php

//Configure::write('App.baseUrl', env('SCRIPT_NAME'));

You can find more information in Handling mod_rewrite in BEdita and CakePhp


And now?

Open your browser and write on the address bar the location that points to your BEdita installation.

You will be redirected to the login page. Type bedita as username and also as password et voilà...have fun with BEdita!!

mediaRoot