Table of Contents
The Setup
For Blogging
If you're using Fipamo on a server to host and serve, it doesn't care what kind of web server you have. Just make sure the server points to public/index.php
and it's all good.
Once that is done, grab a copy of the latest release or clone git clone https://koodu.h-i.works/projects/fipamo.git your-folder
(replace 'your-folder' with whatever you want) it to make it easier to update. Once you're in there run php composer.phar install
(or just composer install
if Composer is installed globally) to install Fipamo's dependencies.
A default .env
file is created that stores the config settings for your freshly installed instance. You can edit this file to customize settings such as your email and the location where your instance will store files, themes, backup, etc.
From here, you have a couple of options depending on where Fipamo is installed. If you're using it on your desktop, go into public/index
and start up PHP's built in web server with php -S localhost:8000
and then browse to localhost:8000/to get started with the install. If you're serving it from a web host, just go to yourcoolassdomain/.
One thing to keep in mind is that Fipamo creates its own backup and they can get pretty big(yeah, it's getting worked on). When restoring a sizeable backup or uploading a sizeable file, it's very possible to get a file is too large error from the system.
To fix this you have to adjust your upload_max_filesize
directive in your php.ini
file. Here's pretty good overview of how to make those changes without much fuss.
Up and running? Learn how to use Fipamo.
For Dev Collaboration
To contribute to Fipamo, you're going to need to grab a copy of rep0. Do that with git clone https://koodu.h-i.works/projects/fipamo.git
.
Once you have a copy, follow the same instructions for the above 'For Blogging' section to get up and running. This branch contains the front end scripting and style pages for the Dashboard.
NGINX Config
server {
listen 80;
server_name yourcoolassdomain.com;
client_max_body_size 20M //Change to whatever to limit/increase file upload size
location / {
try_files $uri /index.php$is_args$args;
}
}
Apache Config
<VirtualHost *:80>
ServerAdmin admin@yourcoolassdomain.com
ServerName yourcoolassdomain.com
ServerAlias www.yourcoolassdomain.com
DocumentRoot /path-to-fipamo-folder/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
NOTE for Yunohost Config
Fipamo is not an official Yunohost app (yet) but it does work with the MyWebApp application since it a pure PHP platform.
The only caveat is that MyWebApp has a unique NGINX set up that may cause problems when its time to render the site.
Let's take a look at location
block of the configuration file located at /etc/nginx/conf.d/your.site/my_webapp.conf
.
The alias
and index
parameters are located inside the location
block, which prevents NGINX from knowing what to serve because the parameters it needs are not where they should be.
location / {
# Path to source
alias /var/www/my_webapp/www/your-site/public/; #needs to moved
# Default indexes and catch-all
index index.html index.php; #needs to be moved
try_files $uri /index.php?$args;
# Prevent useless logs
location = /favicon.ico {
log_not_found off;
access_log off;
}
Fortunatley, it's an easy fix. You just need to move the alias
and index
parameters outside of the location
bloc, so NGINX can find them. Once that's done, reset NGINX to load the new config and it's all good.
# Path to source
alias /var/www/my_webapp/www/your-site/public; #new location
# Default indexes and catch-all
index index.html index.php; #new location
location / {
try_files $uri /index.php?$args;
# Prevent useless logs
location = /favicon.ico {
log_not_found off;
access_log off;
}
Also it is strongly recommened to set up a ssl certificate to protect yourself if your using Fipamo through a web server. Certbot makes this process dead simple.
Updating Fipamo
There are two ways to update Fipamo. If you're using git, you can just go into the directory where you set up your site and do a git pull
to get the latest. If you're not using git, just grab the latest release and replace your files.
Easy peasy.