Installing Friendica
7/14/2020 Update
It turns out some original source content I had not looked at in a long time is a better resource than what I originally wrote below. Hop over to their installation page if your starting a new one, or the blog section at Friendi.ca here to see the well laid out instructions.
https://friendi.ca/2020/07/12/friendica-red-hot-poker-2020-07-released/
At the time of writing this text section the 2020.07 was just newly released.
Note that my systems virtual domains manager has a paths like this for any websites root folder/directory:
Main FQDN, example.com
/home/<v.domain.admin.userID>/public_html
Any sub-server/sub-domain, other.example.com
/home/<v.domain.admin.userID>/domains/<subdomain.fqdn.tld>/public_html
Your install commands need to be adjusted accordingly for the relative path to your root web folder.
Have some email address you want to be associated with the Admin of your server ready for later. It can be an alias of a main account you already have, your favorite email address, or some brand new one. It will be listed at Friendica if your server is a public type Friendica system.
Make an empty MariaDB database and user for the Friendica's data. (Have MySQL instead of MariaDB?)
Friendica install commands:
cd <path to the directory above the server for your Friendica site>/
git clone https://github.com/friendica/friendica.git -b master public_html
cd public_html/
bin/composer.phar install (assumes you already installed composer)
git clone https://github.com/friendica/friendica-addons.git -b master addon
cd
crontab -e
10 * * * * cd /<full path to the root directory of the server for your Friendica site>; /usr/bin/php bin/worker.php
cp .htaccess-dist .htaccess
At this point I set-up my Let's Encrypt certificate for the domain. You may now go to the web-installer and follow the instructions for linking the site to the database and user you made earlier. Just hit your corresponding URL to my "social.outsourcedmath.com" and the wizard will start.
At the end of the set-up you will enter that administrators email address. Then when it's done, you'll experience the registration to your instance (using that administrators eMail address), the way any other user will, but you'll have buttons after logging in that they don't.
Setting up the rest of your server is mainly explained at the place you need to know things, especially when it comes to setting up the add-on's. One tip I got was the "Jappix Mini" is very old and shouldn't be activated. When it comes to the XMPP (Jabber) add-on, you don't need it to be set-up for your users to take advantage of it, it just needs to be enabled. Each user can input in their settings a Jabber host that they are already using and then sign into the chat client. They can also put their XMPP id in their profile to allow other users to contact them.
Ignore this. I never got the XMPP server to work right, but these notes will get altered if I ever get it right.
Either:
https://computingforgeeks.com/how-to-install-ejabberd-xmpp-server-on-ubuntu-18-04-ubuntu-16-04/
sudo apt-get install -y -f ejabberd jabberd2
sudo pico /etc/ejabberd/ejabberd.yml
Alter the hosts: section to include your hosts instead of the default "localhost"
Or:
https://computingforgeeks.com/how-to-install-openfire-xmpp-chat-server-on-ubuntu-18-04-ubuntu16-04/
sudo apt-get -y install openjdk-11-jdk
cd /<full path to the root directory of the server for your Friendica site>
git pull
cd addon
git pull
cd ..
php ~bin/composer install --no-dev (helpful notes on install vs. update)
php ~bin/composer update (helpful notes on install vs. update)
bin/console dbupdate (It seems like I've only had to run this once because an upgrade went wrong)
7/14/2020 Update
I'm going to try this for the next time I do "Maintenance (or updates)",
cd /<full path to the root directory of the server for your Friendica site>
git fetch
git checkout BRANCH (as of right now the branch I would checkuot is "stable")
git pull
bin/composer.phar install --no-dev
cd addon
git fetch
git checkout BRANCH (it's vital to checkuot the same in addon as you did in the main folder, so "stable")
git pull
To see all the branch choices go to https://github.com/friendica/friendica/branches.