cooArchi Installation

cooArchi Installation/Setup

This document tries to help you to get cooArchi up and running on your webserver.

Requirements

  • A webserver, virtual or bare metal - Hetzner Cloud or DigitalOcean Droplet works fine. OS is your choice. Ubuntu is not a bad decision in sense of documentation available in the internet. But every other OS will work, too.
  • Web Server of your choice: Nginx, Apache, Caddy
  • PHP 7.4
  • MySQL Database (with own DB and user)
  • A domain you want to run cooArchi on with DNS settings already pointing to your server

As these are base requirements, we decided to point you to another tutorial to get this stuff prepared. Follow Erika Heidi’s superb tutorial about the LEMP stack and come back to this tutorial, if you’re finished and the requirements are ready.

Install cooArchi

There are two possible ways of installing cooArchi.

First one: Install the release tar ball from GitHub (https://github.com/cooarchi/cooarchi/releases) on your server. This package already contains vendor libraries and the visualisation frontend code. Just upload the tar file to your webserver (/var/www/cooarchi if you followed Erika Heidi’s LEMP tutorial), unpack it and go on with step Configure cooArchi

Second one: Create your personal fork of cooArchi. Add a deploy token for your fork and clone the repository to your webserver.

$ git clone <url> /var/www/cooarchi

Fork https://github.com/cooarchi/cooarchi-ui, too and clone your fork into /var/www/cooarchi/public/ui folder after that.

Install composer global or download phar inside project folder.

Run following commands then:

$ php composer.phar install

This will install all needed vendor libraries through packagist.

Configure cooArchi

To get your cooArchi installation up and running, following steps are needed:

$ vendor/bin/laminas cooArchi:setup

Use the DB credentials you created inside the tutorial. It is not a bad idea to have a separate DB user for cooarchi with permission only for your cooArchi database.

$ vendor/bin/laminas cooArchi:create-administrata

Write down the credentials - you need them later.

$ vendor/bin/doctrine orm:generate-proxies
$ chmod 777 public/files
$ vendor/bin/doctrine orm:schema-tool:update --dump-sql

Copy SQL queries and execute them inside your MySQL database.

Configure Webserver

We provide a Nginx setup example here. You can use any other Webserver. We do not use any special configuration settings. Only client_max_body_size 100m is used to allow large file uploads inside cooArchi.

server {
    listen 80;
    listen [::]:80;
    
    server_name foo.cooarchi.net;

    location / {
        root /var/www/foo.cooarchi.net/public;
        try_files $uri $uri/ /index.php?$args;
        index index.html index.php;
        client_max_body_size 100m;

        location ~ \.(jp(e)?g|gif|css|png|js)$ {
            access_log off;
            expires 30d;
        }

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
            client_max_body_size 100m;
        }
    }

    location ~ /\.ht {
        deny all;
    }
}

SSL

Use certbot (https://letsencrypt.org/de/getting-started/) to get SSL up and running for your installation. certbot will do redirect magic part by itself, so you don’t need to care about that part.

certbot --nginx -d foo.cooarchi.net

PHP Settings

To enable large file uploads, you need to edit you php.ini. You will find it inside /etc/php/7.4/fpm/php.ini.

Change following values:

post_max_size = 100M and upload_max_filesize = 100M

Restart Nginx and PHP

  • systemctl restart nginx.service
  • systemctl restart php7.4-fpm.service

Verify running status by:

  • systemctl status nginx.service
  • systemctl status php7.4-fpm.service

Test your installation

With your browser: visit foo.cooarchi.net. You should see the cooArchi startpage.

Login with your administratA credentials. Create your first invitation: https://foo.cooarchi.net/invitations and try to create your first element/relation combination via the visualisation. Testing file upload is not a bad idea, too.

If everything works fine - great! Enjoy your own cooArchi installation and spread the archiving love further.

Send an email to info [ at ] cooarchi [ dot ] net about your installation, so we can list it on our own website, if you want to.