# Pica - Backend for Megpie budgeting app ... some description ### Prerequisites - fcgi - nlohmann_json ### Building ``` $ git clone https://git.macaw.me/blue/pica $ cd pica $ mkdir build $ cd build $ cmake .. $ cmake --build . ``` ### Usage #### Webserver First you need a webserver. In this example I'm going to use apache. Install apache from your package manager. Create a file like this in apache config dir (in my case it's `/etc/httpd/conf/extra/fcgi-pica.conf`) ``` ProxyPass "unix:/run/pica/pica.sock|fcgi://localhost" ProxyPassReverse "http://localhost" ``` Incude this file from apache config file (in my case it's `/etc/httpd/conf/httpd.conf`) ``` Include conf/extra/fcgi-pica.conf ``` Also you need to have 2 modules enabled `proxy` and `proxy_fcgi`, usually you need to uncomment following lines in `/etc/httpd/conf/httpd.conf` ``` LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so ``` In case you use debian-like distro (ubuntu) you should use `a2enmod` command instead: ``` # a2enmod proxy_fcgi ``` This should enable both modules, because module `proxy_fcgi` has module `proxy` as a dependency. Start apache ``` $ sudo systemctl start httpd ``` #### Creating a directory Next you need to create a directory for pica socket file ``` # mkdir /run/pica # chown /run/pica ``` #### Running an app At this stage we're redy to run an app ``` $ cd build $ ./pica ```