It’s recommended to install Siberiancms on fresh/new VPS server with at least 2-4GB of RAM.

Shared hosting is not supported and you need to install it on PHP 7.3 only.

Install MyVestaCP as your control panel for server.

Installation Step

  1. Download your free copy from here . Zip contains a single index.php file, which will download other project files when we install.
  2. Setup My Vesta CP on a fresh VPS server and add new domain for your project.
  3. Unzip and upload it to your server root directory for this domain.
  4. Visit your newly added domain and proceed to install
  5. Setup your empty database and user on your server
  6. Configure your environment with apache or nginx


  • Production server OS: Linux
  • OpenSSL >=1.0.1
    • with TLS v1.2 support
  • CURL with HTTP/2 support
  • Apache or Nginx
  • PHP
    • version: 7.3
    • extensions: gdpdo_mysqlSimpleXMLcurldomSQLite3.
    • functions: exec()
    • parameters: allow_url_fopen = Onmemory_limit >= 256M
  • MySQL/MariaDB >=5.5 with InnoDB/XtraDB engine
  • Binaries:
    • required: zipunzip
    • optional: pngquant or optipngjpegoptim


If you are running under Apache, be sure that the directive AllowOverride all is working, unless the .htaccess configuration will fail.

<VirtualHost [IP]:80>
        ServerName [yourdomain.tld]

        CustomLog [/path/to/siberiancms]/var/log/httpd.access_log combined
        ErrorLog [/path/to/siberiancms]/var/log/httpd.error_log

        DirectoryIndex index.php

        DocumentRoot [/path/to/siberiancms]

        <Directory [/path/to/siberiancms]>
                Options Indexes FollowSymLinks
                AllowOverride all



If you are running under Nginx, all you need is in the current configuration, please check the fastcgi options as they may vary depending on your installation

server {
    listen 80;

    root [/path/to/siberiancms];

    access_log [/path/to/siberiancms]/var/log/nginx.access_log;
    error_log [/path/to/siberiancms]/var/log/nginx.error_log;

    index index.php index.html index.htm;

    server_name [yourdomain.tld];

    location ~ ^/app/configs {
        deny all;

    # Let's Encrypt configuration
    location = /.well-known/check {
        default_type "text/plain";
        try_files $uri =404;

    location ^~ /.well-known/acme-challenge/ {
        default_type "text/plain";
        try_files $uri =404;

    location / {
        try_files $uri /index.php?$query_string;

    location ~ \.php$ {
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_buffers 256 128k;
        fastcgi_connect_timeout 300s;
        fastcgi_send_timeout 300s;
        fastcgi_read_timeout 300s;

    location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|html)$ {
        access_log        off;
        log_not_found     off;
        expires           0;

    location ~ /\. {
        access_log off;
        log_not_found off;
        deny all;

    gzip on;
    gzip_min_length  1000;
    gzip_proxied any;
    gzip_types text/plain application/xml text/css text/js application/x-javascript;

    client_max_body_size 128M;


When you’re done with the previous steps, reload your web server.

Ensure post_max_size & upload_max_filesize are higher than 32M (64-128M recommended) at least, in case of large updates

Web installer

  • Go to http://yourdomain.tld then follow the instructions