Skip to content

Installation

Chris Konnertz edited this page Mar 28, 2019 · 41 revisions

Server Requirements

  • PHP 5.6.4 or higher (v3.0 will require PHP 7.0 at least)
  • OpenSSL PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • MySQL with one database

It's recommended to activate Apache's mod_rewrite module (or Nginx' HttpRewriteModule). To activate mod_rewrite on a Debian distribution, execute sudo a2enmod rewrite. Sometimes you also have to allow the .htaccess file to override standard website configs.

We strongly recommend using webspace that you can configure. You should be able to create vhosts at least. And there is a command-line interface called Artisan. You should ensure you can run it. With Artisan you are able to activate the maintenance mode.

Hosting

In general, you may host Contentify on any environment that fulfils the requirements. However, if you are looking for managed web space located in Germany (with support in German), we recommend HPZone.de. Their webspace is already prepared for Contentify so you do not have to configure anything.

Install Missing PHP Extensions

If PHP extensions are missing, you have to install them. The CMS cannot run without them being installed. Unfortunately installing PHP extensions can be a challenge. Therefore here are some hints.

On Linux-based environments, it depends on your distribution. Perhaps you are able to install the mod via apt-get. For example, if you use PHP 7 on Ubuntu you may install the mbstring extension with this command: sudo apt-get install php7.0-mbstring If you need to install the libxml package use this command: sudo apt-get install php7.0-xml

The first step on your Windows environment is to open php\php.ini (if you are using XAMPP it's <xammp>\php\php.ini) and to search for the name of the extension like so: ;extension=php_fileinfo.dll If you find this line remove the semicolon to activate the extension. If you don't find it, you need to download the extension first and then add it to the php.ini.

Get Contentify

Download the latest Contentify core files from our GitHub page. Store the files inside a folder so that only the subfolder public is accessible from the web. If only public is accessible from outside all other folders are protected from direct access. When on Apache you may want to create a Virtual Host for your project to achieve this. The aim is to have a URL like http://localhost/contentify/ instead of http://localhost/contentify/public/. For testing or developing purposes, it's okay to put the whole CMS folder inside the public web folder. But remember, this is not meant for production stage! Another alternative is to use a .htaccess file.

Configuration

Config files live in the config directory. Important config files are:

  • app.php: Application settings such as title and encryption key
  • database.php: Database settings such as connection setup. It's recommended to set utf8_unicode_ci as collation when you create the database. utf8_general_ci will work but sorting will be inaccurate. NOTE: The database connection settings are stored in storage/app/database.ini. The installer will ask you for these settings and write them to this file.
  • mail.php: Settings such as name and address for all e-mails that are sent by your application.

Installation

  • (Download Contentify and configurate it)
  • Set CHMOD 777 to these directories and their sub directories and all files in these directories: <contentify>/storage, <contentify>/bootstrap/cache, <contentify>/public/uploads, <contentify>/public/share, and <contentify>/public/rss
  • In your browser, navigate to the website to run the installer. Example URL: http://localhost/contentify/install.php (or http://localhost/contentify/public/install.php if public is not the root) As of v3.0 it is also possible to install it via console.

The official Laravel docs have a chapter covering the installation.

Create Cron Job

To unleash the full potential of the CMS you have to create a cron job. On Linux, run the crontab- e command and then add this entry to the cron job file:

1 * * * * php /var/www/laravel/artisan jobs

This will execute the Artisan command every minute. We highly recommend running the cron job every minute.

Preparation For Production

Per default, Contentify is prepared for development. To prepare it for a production environment, disable the debug mode in config/app.php. Also ensure that the application key (you will find it in the same file) has been set to a random string. Contentifys's diagnostic module offers a convenient way to check if everything is set to proper values. Navigate to the backend dashboard and click on the diagnostics icon to open the diagnostics page.

Something Is Going Wrong?

Installing Laravel can be a little tricky. If you experience problems take a look at the Troubleshooting chapter. If the problem isn't covered don't hesitate to contact us on GitHub.

You can’t perform that action at this time.