3.4 Member Moderation

One of the most important features of Freedica is its Member Moderation system – which allows you as the network administrator to control who is allowed to join your social network. This system allows you to protect your members from harassment from bots and trolls so common on top-down social networks. In this article, we will explain how to use the Member Moderation system.

Member Moderation
In our previous article, we went to Admin, Site, General Information, Registration to change the registration system from Open to Requires approval. In addition, there is a box where you can customize the information at the top of your registration form explaining to new members what your network policies are for accepting new members. For example, you might only accept application from your own state. Or you may require new members to state an interest in a particular goal such as improving the economy. Here is what these Registration settings look like when you are logged in as the Network Administrator:


Change the text to match the needs and interests of your group. Then log out and view your Network Home page.

New Member Registration
One of the first challenges new members face is figuring out how to register. To help them get to the registration page, we provide two important clues. First, at the bottom of the text on the left side, it says to click LOGIN or click HERE to join!


Click on the word HERE to verify that this link goes directly to the Registration page. Then click on Home to go back to the Network Home page. Because many visual learners do not actually read text, the second important clue is just above the Welcome image:


If you create a new Welcome image, please keep this information at the top of your Welcome image. Click Login to see the Login form:


To create a new account, click Sign up now.

Here is the top of the default Freedica Registration form:


It is important to test your new member registration system by signing up as a new member. You can use the Hestia Control Panel to create a custom email address for this purpose. So that we can also test the Member Connections process, we have added two custom email addresses called This email address is being protected from spambots. You need JavaScript enabled to view it. and This email address is being protected from spambots. You need JavaScript enabled to view it.

Enter a first and last name for the test member such as Test1 Member. Then enter their email address twice. Here is the bottom half of the registration form:


To keep the testing process simple, use test1 for the nickname.

Below the nickname is a required box where applicants can type in one or two sentences explaining why they would like to join your network. Type test1 is not a troll or a bot.

Below this box is an area where members can choose whether they want to be listed in the Member Directory. The default setting is Yes. New members can change this setting later if they want. One does not need to be a member to see the list of members. Hover your pointer over the Question mark to see three links:


Then click on Directory.


The directory has a Member search box which we will explain how to use later in this article. Click the back arrow to go back to the registration form which you will need to fill out again. Then click Sign up now. A popup will appear letting the applicant know that their registration is pending approval:


Clicking Sign up now will take new members to a page called New Member Tips. Here is a link to this page:


As the network administrator, you can use the Hestia Control Panel to customize the information in your own New Member Tips page. This page explains that they will receive a registration email with their password but that they will not actually be able to log in until they have been approved by a network administrator. It should also explain how they can create a Member Profile Image which is the first thing they will do when they log in for the first time.

The New Member Tips page also includes a left side menu which has links to several other articles which explain how to use the Freedica Network to fill out the member profile page, make friends, join groups, create Topic tags in posts, add images and videos to posts, ask questions on our forum, create events and several other topics.

Next log into your test1 member email account to see the email sent to new members.


After you approve this new member, they will receive a second email that provides this advice:

Thank you for registering at Freedica Social Network. Your account has been created.

Password: Sent in a previous email

You may change your password from your account "Settings" page after logging in. Please take a few moments to add some information to your default profile so that other people with similar interests can easily find you. For more information about important first steps, click on the Help Question Mark. Then click Network Tips and read our Welcome article.

Thanks - Freedica Social Network Administrator

Customize the Welcome emails
You can change the text for the initial email and the confirmation email using the Hestia File manager by going to view/lang. Then change the language strings. Also make the same changes at src/model/user.php Line 1532

Test the Member Moderation System
Copy the test1 member initial password which is a randomly generated password such as Kraiqumn5375.

Then go back to your network and log in as the administrator where you will see the following notice:


Click on Test 1 Member to see the request.


Read the note from the applicant. If you need any further information from the applicant, you can use their email address to send them an email asking for additional information. For now, check the box to select the new member. Then click Approve. Then click the Active Tab to see that the Test 1 Member was added to the list of Active accounts:


This screen also gives you the ability to temporarily block or even delete any member. You can also reach this screen any time you are logged in as an Administrator by clicking in Moderation in the Member menu.


Click Users in the left side menu which displays a table of all active and pending members:


To delete a member, check the box on the right and then click Delete. This warning will appear:


Note that this process can not be reversed once started. Click OK. This will place the member in the Deleted table. However, they will not actually be deleted for 6 days.


The reason 6 days are allowed to delete an account is to allow time for notices to be sent to contacts of the deleted member to let them know that the member was deleted. After the elapsed time of six days, all posts, messages, photos, and personal information stored on your network will be deleted. This will also remove the deleted member profile from the network member directory. In addition, the username of the deleted member cannot be reissued for future sign-ups to prevent anyone else from impersonating the deleted member.

Admin Deletion of a Member Post
In addition to members being able to delete their own posts, admins can delete member posts that do not comply with forum rules. From the Moderation page, click on Delete Item. Here you can delete a post. If the item is a top-level post, the entire thread of additional comments will also be deleted.


You need to know the global unique identifier (GUID) of the item, which you can find by going to the post and looking at the URL displayed in the browser navigation bar. The last part of https://example.com/display/123456 is the GUID: i.e. 123456.

Add another Admin User
It is common to have more than one administrator to help with New Member Registration and Moderation. You can expand the list of email addresses by any existing member email address you want. For example, to add test1 member as an admin for your network, first register them as a member. Then go to the Hestia File Manager and click config, local.config.php to edit this file. At about Line 26, you will see “admin_email’. Place a comma after your existing admin email address. Then carefully type in the email address of test1:

'admin_email' => This email address is being protected from spambots. You need JavaScript enabled to view it., This email address is being protected from spambots. You need JavaScript enabled to view it.',

Then save the file. Then log in as test1 and verify they can now see the admin and moderation menu items in the member menu.

Maintain your Network

Next we will review a few tasks for maintaining your network over time. These tasks include setting up a log rotation system, setting up a backup system and updating your network and server.

Set up a Freedica Log Rotation System
The Freedica error log can grow to a significant size. To prevent this from happening, we will set up automatic log rotation. Log rotation involves regularly moving the existing log file to some other file name and starting fresh with an empty log file. After a period the old log files get thrown away. To view your Freedica error log, log into your network and click Admin, Logs.


Check Enable debugging. Then click Save Settings. Wait about 30 minutes and then click View Logs. If there are no errors, you should see the following:


The above merely says that our cron worker is starting and ending every 10 minutes. Go back to Logs and uncheck Enable Debugging. Then click Save Settings. To view the full log file, open your Hestia network user file manager and go to web, your network website, public_html, log folder.


The file size of our log is only 1.6KB. There is no need to rotate such a small file. Click on freedica.log to open the file. It has just a few lines. We will therefore not set up a rotation for it. However, if there were errors, these could balloon the size of this file rapidly. In this case, you should start an SSH session as root. Then open Midnight Commander and go to /etc/logrotate.d/ . Add a new file called freedica and in this file add the following configuration.

/home/xxxx/web/my.network.com/public_html/log/freedica.log {



rotate 2 }

Replace XXXX with your Hestia User Name and replace my.network.com with the domain name of your network. Then save the file with Control plus o followed by Enter. Then close the file with Control plus x. The above configuration will compress /log/freedica.log on a daily basis and keep 2 days of back-log.

Create a Backup System
Thankfully, your Hestia Control Panel creates an automatic backup of your network every 24 hours. However, it does not keep older backups as this would quickly consume all the space on your VPS hard drive. You should therefore periodically download a copy of your network at least once a month. To download a backup log into your Hestia Network User panel. Then click Backups. Then select the backup TAR file. Then place your cursor to the right of the back up TAR file to expose the hidden icons.


Then click on the first icon to download the TAR file.

Restore your Network from a backup
To restore your network from the latest backup, simply click on the Restore icon which is just to the right of the Download icon. If that does not solve your problem, and you want to restore from an older backup, then you will need to start an SSH session and add the old backup to your website temp folder and move it to your backups folder. This process is described at the following link:

Once your backup file has been loaded into the Hestia User Backups table, you can click Restore to restore your websites for that user to the date of the backup. Alternately, you can submit a Ticket to CanHost and they can likely help you restore your network website to whatever date you need.

Tracing PHP Errors
As PHP changes versions, for example from PHP 8.1 to 8.2, it is possible for one or more PHP errors to appear on your network and in your network error log. To determine the exact location of the error so that you can research how to fix it, go to your index.php file and temporarily add the following just above the line “use Dice/Dice”.

ini_set('display_errors', 1);

ini_set('display_startup_errors', 1);


Once you have identified the source of the error, remove the above code from your index.php file. You should also report the error to either our Freedica forum and/or our Codeberg error tracking page. Solutions are also often posted on Debian and Hestia forums.

Update your Network
About once every two years, you will need to update your network to a version that is compatible with a supported version of PHP. The current version of Freedica supports PHP 8.1 which in turn is supported through November 2024. Before that point, we will produce a version of Freedica that supports PHP 8.2 which will be supported through November 2025. We will also provide instructions for updating your Network from the old version to the new version.

Update your Debian 12 Server
The Debian 12 server operating system will be supported through May 2028. Before that time we will provide a path for updating to the next version of the Debian operating system.

Update your Hestia Control Panel
The Hestia Control Panel version 1.8 currently supports Debian 12 and PHP 8.2. Hestia has an internal update system so that updating Hestia should run relatively smoothly. Once a backup has been made, update Hestia to the last supported version by opening an SSH session as root and copy pasting: apt update && apt upgrade

Follow system instructions to upgrade your server operating system. When done, make sure to check that the files in /etc/apt/sources.list.d are not hashed out. If they are, remove the hash and run apt update && apt upgrade again.

Update your Linux computer used to access the back end of your network
The Linux Debian operating system does not require updates as frequently as the Windows operating system. As noted above, assuming that you are using the Debian 12 operating system on your secure laptop, you should not need to update it until May 2028. Even then, you should be able to update your laptop to the next version of Debian in a matter of minutes. We will provide instructions.

What’s Next?
In our next article, we will review some tips for new members.