friendica.eskimo.com

friendica VPS setup on ubuntu 22.04 LTS

@Friendica Support

Hi,
I'm working on my first #friendica #VPS installation, here you'll find my initial post about general thoughts like what distro to use, size and costs.
I'm using the tutorial "creating a friendica server - ubuntu" by @Hank G ☑️.

As of now I'm doing well in the process and want to start this post to document differences and questions while installing the server.

This server is going to host an already existing friendica node I have to move from another hosting provider. That means that for example the DB doesn't have to be created from scratch but moved and other smaller details.

I will try to address the different steps of installation in answers to this post and appreciate help, ideas and observations.

I'm doing this from a #linux desktop environment from the console but there shouldn't be differences if you want to do this from a #windows machine.

#fediVerse #tutorial #fediHelp #activityPub


what VPS offer fits best for a small friendica instance?


@Friendica Support
@Friendica Admins
@Friendica Developers

Hi there,
in the end I want to try to setup my first own hosted friendica VPS on a small setup:
1gig RAM/1 Core/25gig

The idea is kinda single user instance with a few forum pages.

The hosting provider has the following options:

  • debian bullsey - vpn server
  • debian bookworm - wireguard server
  • debian bookworm - bookworm 2023-07-03
  • debian bookworm - bookworm 2023-07-03 LEMP (nginx+php8.2+mariaDB10.5)
  • debian bookworm - nextcloud
  • ubuntu 22.04.01LTS
  • CENTOS8.1 - 2020-05-03
  • cleanVPS to upload own ISO


I'm used to debian/devuan on PC, so am obviously inclined to go for debian but have no idea what version would be the best choice.

In the first place the debian LEMP option looks like the way to go.
Latest experience with a new friendica installation seemed to be in need of PHP8.1 instead of PHP8.2.
Is it difficult to downgrade that?

Also, I'm kinda worried about security in general, even tho the data exposed will only be my own, so there is no responsibility with others.
Are there more security risks than on a shared hosting with let's say a standard phpBB forum page?

The idea would be to point the IP from my existing hosting provider to the VPS.


  • Do we have some general "how to setup" for a VPS setting from scratch?
  • Anyone interested in creating such a "how to" in a conversation with me here to have a refence or base to sum that up for the frindica wiki?
  • Could it even be of interest to create a "friendica VPS-ISO installation" with the help of git.friendi.ca for example?

@TupambAdmin
@bitPickup mʕ•ﻌ•ʔm


2

Second test of a clean friendica install from here
New intent, this time after executing all steps since the certbot step.
This is the second intent to fix the installation.
The first ended with the web page stating:
Service Unavailable
Friendica no puede mostrar la página actualmente, contacte al administrador.

from here a new git pull will be performed.
The apache tweaking steps are not necessary as they are located at /etc/.. and there for the moving html folder doesn't affect those files.

rootname@VPShosting:/var/www# mv html html_01.bak
rootname@VPShosting:/var/www# git clone https://github.com/friendica/friendica.git -b stable html


Partical re-installation/redo of the following steps
It looks like somehow because of this unfinished step the installation went wrong and when browsing to the friendica installation a blank page was displayed.
After redoing the steps of installation from the github pull of friendica the web page displayed Service unavailable.
Their for I'm going to redo the steps from the certbot installation to the gitpull

1

¡Update - solved!

The tutorial by @Hank G ☑️ states that:

Tutorial wrote:

With the default Apache installation the /var/www/ directory is owned by root. We will want to instead make this whole directory and sub-directory to be owned by the Apache process’s user www-data.
sudo chown -R www-data:www-data /var/www

We will now want to execute the rest of the commands as that user so we execute the sudo command on the bash shell to make all subsequent command execute as the www-data user in the root of the /var/www directory.
Next we are going to use the fact that the default Apache site that is already configured is looking for the /var/www/html directory. We will move the original default site to a backup location.

I missed that important detail and didn't changed to the user www-data so the new git pulls didn't work as expected.

Switching to user www-data and than performing the steps of git pull and adjustments to the friendica installation apparently everything worked out:

rootname@VPShosting:/var/www# cd /var/www
rootname@VPShosting:/var/www# -u www-data bash

www-data@VPShosting:~$ ls -l

ls -l informationdrwxr-xr-x 2 www-data www-data 4096 Oct 16 21:05 html.bak
drwxrwxr-x 21 www-data www-data 4096 Nov 8 03:13 html_01.bak
drwxr-xr-x 20 root root 4096 Nov 8 05:05 html_02.bak
drwxr-xr-x 20 root root 4096 Nov 8 20:08 html_03.bak

www-data@VPShosting:~$ mv html html.bak
www-data@VPShosting:~$
git clone https://github.com/friendica/friendica.git -b stable html/code]
www-data@VPShosting:~$ [code]cd html

www-data@VPShosting:~/html$ bin/composer.phar install --no-dev
www-data@VPShosting:~/html$ mkdir -p view/smarty3
www-data@VPShosting:~/html$ chmod 775 view/smarty3
www-data@VPShosting:~/html$ git clone https://github.com/friendica/friendica-addons.git -b stable addon
www-data@VPShosting:~/html$ cp .htaccess-dist .htaccess
www-data@VPShosting:~/html$ exit

rootname@VPShosting:/var/www#

Browsing now to the web page the friendica installation verification screen is visible.
😀

1

Last step:
Updating the local.config.php file and uploading it to the new server.
This will activate the new VPS server of your friendica node!

Allocate local.config.php in the PuTTy privkey.pem folder: /home/user/.VPShosting

user@localPC:~/.VPShosting$ nano local.config.php

Adapt local.config.php for the new VPS server setting:

local.config.php
<?php
// Local configuration
// If you're unsure about what any of the config keys below do, please check the static/defaults.config.php for detailed
// documentation of their data type and behavior.
return [
	'database' => [
		[s]'hostname' => 'subdomain.oldhosting.com:3306',[/s]
		'hostname' => 'yourfriendicadomain.com', <-- THIS WAS WRONG!!
		'hostname' => 'localhost',
		'username' => 'friendicadb',
		'password' => '[b]changedPassword[/b]',
		'database' => 'friendicadb',
		'charset' => 'utf8mb4',
	],
	// ****************************************************************
	// The configuration below will be overruled by the admin panel.
	// Changes made below will only have an effect if the database does
	// not contain any configuration for the friendica system.
	// ****************************************************************
	'config' => [
		'php_path' => '/usr/bin/php',
		'admin_email' => 'youradmin@email.com',
		'sitename' => 'Friendica Social Network',
		'register_policy' => \Friendica\Module\Register::CLOSED,(or OPEN)
		'max_import_size' => 200000,
	],
	'system' => [
		'url' => 'https://yourfriendicadomain.com',
		[s]'basepath' => '/apps/friendica',[/s]
		'basepath' => '/var/www/html',
		'default_timezone' => 'AnyTime/AnyWhere',
		'language' => 'en',
	],
];

Upload the modified local.config.phpThis is done not being logged into the remote VPS.
The example supposes that the file to upload is located in the folder you are currently in.
user@localPC:~/.VPShosting$ scp -i ~/.ssh/id_rsa.pub local.config.php USER@SERVER:/var/www/html/config/local.config.php

Uploading with PuTTy private .pem key:
user@localPC:~/.VPShosting$ scp -i privkey.pem local.config.php USER@SERVER:/var/www/html/config/local.config.php

1

This step derailed completely my intent to migrate the server.

It took me a lot of work and effort too find the problems I created by not following the instructions by the tutorial. The reason I couldn't follow the tutorial "as is" was because the old server was still up and running and I wanted to first make a "test install", check than if everything worked out as expected to finally migrate the node onto the new VPS hosting.
In the end I managed to do the migration and am working right now on re-editing this "tutorial / experience report" so it can serve as tutorial without losing the "live report" in the process of summing up this report.
At the same time I'm working on a final tutorial for server migration that will be published accordingly.

As it looks right now there are two options:

A)
You simply follow hankG's tutorial and set the old server into maintenance mode once you reach the certbot step as you will need a working "redirect" for the new IP of your domain to be able to register the SSL certificate. You will have to leave your domain meanwhile off line, using the hints in this report on downloading, uploading and so. If something goes wrong you will have the option to change the IP redirect of your domain to the old hosting and reactivate that server while you check out what went wrong on the new server.

B)
You find some work around by registering some subdomain or another domain with the certbot routine and certify that domain for your new server. Once everything else is working fine and you feel secure with what you are doing you redirect the IP of the domain you want to migrate, run the certbot routine for your new certificate for the new server and work on from there.

partially completedThe complete registry of the domain in this case wasn't possible in this step as the domain and friendica instance is still in use with another hosting provider.
As of now I didn't provide a domain name on the new VPS installation because it was stillin use on the old server.
It is not recommendable to do this step at this point of the installation if you are not going to merge your friendica instance immediately. I ran into trouble and extra work because of this and will have to check out how to prevent them.

certbot wrote wrote:

Account registered.
Please enter the domain name(s) you would like on your certificate (comma and/or
space separated) (Enter 'c' to cancel): mydomain.com
Requesting a certificate for mydomain.com
Certbot failed to authenticate some domains (authenticator: apache). The Certificate Authority reported these problems:
Domain: mydomain.com
Type: unauthorized
Detail: XX.XXX.XX.XXX(IP of the running instance on the old server): Invalid response from mydomain.com/.well-known/acme-… 503
Hint: The Certificate Authority failed to verify the temporary Apache configuration changes made by Certbot. Ensure that the listed domains point to this Apache server and that it is accessible from the internet.
Some challenges have failed.
Ask for help or search for solutions at community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

Link to the completion of this step:
squeet.me/display/962c3e10-136…


At this point all changes to be able to switch from the old to the new server should be done.


  • DB merged
  • file storage merged
  • local.config.php merged


To set old server into maintenance mode enter via SSH and browse to your friendica installation:
rootname@oldserver:/friendicarootdir/~# bin/console maintenance 1

Check that the server is set to maintenance by browsing to your domain on the web:
Image of maintenance mode

Go to your name server provider and change the IP to the new server.

Complete certbot HTTPS instalationNow it's time to go back to the certbot installation and complete those steps. Be aware that you have to wait for the IP setting change for your domain to come into effect. This might take some time, depending on your service provider and the settings you might be able to influence, apparently eventually up to a day. In my case it was about half an hour.
In this case, as the certbot installation was completed but abandoned as the old server was still running, the only thing I had to do was the following:

Run the following command over SSH:
root@ubuntu:~# sudo certbot --apache

certbot wrote:

Please enter the domain name(s) you would like on your certificate (comma and/or
space separated) (Enter 'c' to cancel):

yourdomainname.com

certbot outputRequesting a certificate for yourdomainname.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/yourdomainname.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/yourdomainname.com/privkey.pem
This certificate expires on XXXX-XX-XX.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for yourdomainname.com to /etc/apache2/sites-available/000-default-le-ssl.conf
Congratulations! You have successfully enabled HTTPS on yourdomainname.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: letsencrypt.org/donate
* Donating to EFF: eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
rootname@ubuntu:~

If you want to check the installed certs on your server you can do this by typing:
rootname@ubuntu:~#certbot

certbot outputSaving debug log to /var/log/letsencrypt/letsencrypt.log
Which names would you like to activate HTTPS for?
We recommend selecting either all domains, or all domains in a VirtualHost/server block.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: yourdomainname.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): C!!!
Please specify --domains, or --installer that will help in domain names autodiscovery, or --cert-name for an existing certificate name.
Ask for help or search for solutions at community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
rootname@ubuntu:~#

If everything went well now your new server should be up and running.

spoilerAlert: I get a blank page.
😮


1

Partial re-installation/redo of the installation steps following from here
It looks like somehow because of this unfinished step the installation went wrong and when browsing to the friendica installation a blank page was displayed.
After redoing the steps of installation from the github pull of friendica the web page displayed:
Service unavailable
squeet.me/display/962c3e10-206…
There for I'm going to redo the steps from the certbot installation to the gitpull.
Update:
This attempt didn't solve the problem so I will perform another new git pull.

Second installation intent

Resuming installation from previous point.

Browsing to the web site
Service Unavailable
Friendica no puede mostrar la página actualmente, contacte al administrador.

Service Unavailable, a step forward from the previous blankpage.
First I guess is to undo changes applied yesterday in the attempt to fix the installation. Those include changes about the server/host name and ???


1
Lot's of trouble, uncertainty and doubt
Update:
.. while changing file storage from DB to filesystem and subsequent download. Testing and work arounds in part via SSH in part via FileZilla and ultimately downloading everything and merging storage folders together in on the PC solved the problems (I guess).
Somehow this didn't work outI followed the instructions of the BETA testing hosting to move files and storage via SSH.
change storage via SSH[ssh01 apps]$ cd storage
[ssh01 storage]$ cd ..
[ssh01 apps]$ bin/consolbin/console storage set Filesystem
-bash: bin/console: No such file or directory
[ssh01 apps]$ friendica/bin/console storage set Filesystem
[ssh01 apps]$ friendica/bin/console storage move
[2023-10-29 21:38:15] Moved 5000 files
[2023-10-29 21:38:48] Moved 3170 files
[2023-10-29 21:38:48] Moved 8170 files total
[Error] Friendica\Console\Storage::doExecute(): Return value must be of type int, null returned

Error descriptionThe friendica installation is located at /apps/friendica/.
There also exists /apps/storage/ in the directory tree.
Even tho the moving of the files was apparently completed, in the end an error message came up:
[Error] Friendica\Console\Storage::doExecute(): Return value must be of type int, null returned
If I try now to execute the commands again I don't get the "moved files confirmation" but the same error message.
I'm not sure if I tried first to change the settings in the admin panel and than the SSH commands or not. I tried to "fidel" around with the settings in the admin panel changing storage to the database and to filesystem but the already uploaded images still don't show up as expected.
The database size of 0.5gig hasn't changed or decreased at all.
I changed the settings in all profiles with respect to post expiring so except own posts and stared posts everything else expires after one or two days. The only active profile is a sports forum profile that has about 450 images sized 0.2-0.3MB each (around 0.15gig).
All the images of the server show up as blurred undefined images.

update on the situation
Checking the file system via ftp it turns out that there are two storage folders now:
878 files | 4.9 MB
/apps/friendica/storage
and
/apps/storage
Both folders contain files, the one inside the friendica folder structure apparently only images of avatars from other servers, the folder in the root structure /apps/storage contains the missing uploaded images:
avatar of some profile:
/apps/friendica/storage/02/1b
images that still show up blurred as it is a -1jpg.thumbnail:
/apps/storage/ff/00
Intent to solve:
Moving folders with fileZilla from /apps/storage to /apps/friendica/storage.
Some move, others don't.

status messages filezillaStatus: Renaming '/apps/storage/e0' to '/apps/friendica/storage/e0'
Status: /apps/storage/e0 -> /apps/friendica/storage/e0
Status: Renaming '/apps/storage/e1' to '/apps/friendica/storage/e1'
Command: mv "e1" "/apps/friendica/storage/e1"
Error: mv /apps/storage/e1 /apps/friendica/storage/e1: received failure with description 'Failure'

Status: Renaming '/apps/storage/e2' to '/apps/friendica/storage/e2'
..

Using fileZilla the moving process gets stuck.
Using SSH to move or copy the files:
help.vernalweb.com/kb/move-cop…
copy:
cp -r /apps/storage /apps/friendica/storage
move:
mv -r /apps/storage /apps/friendica/storage

1

Access over sFTP:

me in a previous post wrote:

https://squeet.me/display/962c3e10-2165-2dbe-eb37-5f6322325636
"My access is over SSH with puTTy[/url] created public/private keys, no password.
Can I create sFTP access with for example filezilla and if so how?"

Raroun wrote:

sFTP should work out of the box with any Application that supports private key authorization - like scp or FileZilla.

I never managed to make fileZilla work with the puTTy keys.
🙁

1

Setting up php mailIn the case of a server migration we already attended/solved the phpmailer file in a previous step. The following is the standard procedure for a new friendica installation or if you change on the new server to phpmailer. Right now it is no use anymore to setup an own email program on the ubuntu server. The mayor email provider like gmail wont accept those emails send by your server so the best you can do is setup the phpmailer addon that comes in the friendica addon folder.
Check the settings for your email access with your email provider and add that information at /var/www/html/addons/phpmailer.config.php to the file.
Move that file to the config folder of the friendica installation.

first move the phpmailer.config.php file to the friendica config folder:
rootname@VPShosting:~# mv /var/www/html/addon/phpmailer/config/phpmailer.config.php /var/www/html/config/phpmailer.config.php

edit the phpmailer configuration file already located in the friendica config folder:
rootname@VPShosting:~# nano /var/www/html/config/phpmailer/config/phpmailer.config.php

Original phpmail file
<?php
// Warning: Don't change this file! It only holds the default config values for this addon.
// Instead overwrite these config values in config/addon.config.php in your Friendica directory
return [
	'phpmailer' => [
		// smtp (Boolean)
		// Enables SMTP relaying for outbound emails
		'smtp' => false,
		// smtp_server (String)
		// SMTP server host name
		'smtp_server' => 'smtp.example.com',
		// smtp_port (Integer)
		// SMTP server port number
		'smtp_port' => 25,
		// smtp_secure (String)
		// What kind of encryption to use on the SMTP connection.
		// Options: '', 'ssl' or 'tls'.
		'smtp_secure' => '',
		// smtp_port_s (Integer)
		// Secure SMTP server port number
		'smtp_port_s' => 465,
		// smtp_username (String)
		// SMTP server authentication user name
		// Empty string disables authentication
		'smtp_username' => '',
		// smtp_password (String)
		// SMTP server authentication password
		// Empty string disables authentication
		'smtp_password' => '',
		// smtp_from (String)
		// From address used when using the SMTP server
		// Example: no-reply@example.com
		'smtp_from' => '',
	],
];

Example phpmail file
You should change the password for the email you use!
<?php
// Warning: Don't change this file! It only holds the default config values for this addon.
// Instead, copy this file to config/phpmailer.config.php in your Friendica directory and set the correct values there
return [
	'phpmailer' => [
		// smtp (Boolean)
		// Enables SMTP relaying for outbound emails
		'smtp' => true,
		// smtp_server (String)
		// SMTP server host name
		'smtp_server' => 'mail.ProviderDomain.com',
		// smtp_port (Integer)
		// SMTP server port number
		'smtp_port' => 587,
		// smtp_secure (String)
		// What kind of encryption to use on the SMTP connection.
		// Options: '', 'ssl' or 'tls'.
		'smtp_secure' => 'tls',
		// smtp_port_s (Integer)
		// Secure SMTP server port number
		'smtp_port_s' => 465,
		// smtp_username (String)
		// SMTP server authentication user name
		// Empty string disables authentication
		'smtp_username' => 'admin@yourFriendicaDomain.com',
		// smtp_password (String)
		// SMTP server authentication password
		// Empty string disables authentication
		'smtp_password' => 'CHANGED-EmailPassword',
		// smtp_from (String)
		// From address used when using the SMTP server
		// Example: no-reply@example.com
		'smtp_from' => 'admin@yourFriendicaDomain.com',
	],
];
1

creating a single backup of the MySQL Database with mysqldumpdigitalocean.com/community/tut…
The MySQLfile will be created in the folder you are in when performing the command.

creat a copy of the MySQL DB
rootname@VPShosting:~# mysqldump -u username -p database_to_backup > backup_name.sql

installing an auto backup process of the MySQL database that runs once a day | automysqlbackupdev.to/xarala221/how-to-backup…
The program installs a cron script with automysqlbackup that runs every day. The backup file will be replaced every day. You should tweak these settings in a way that you will be comfortable if something happens.Have in mind that if something gets screwed up you will only have "one day" to realize that a problem exists and at least make a copy of the DB. There for consider to perform also weekly and monthly backups, depending on your routines and needs.

install automysqlbackup
rootname@VPShosting:~# sudo apt-get install automysqlbackup
rootname@VPShosting:~# sudo automysqlbackup


listing automysqlbackup folders
rootname@VPShosting:~# cd /var/lib/automysqlbackup
rootname@VPShosting:~# /var/lib/automysqlbackup# ls
daily monthly weekly

listing daily backed up files:
rootname@VPShosting:~# ls -R /var/lib/automysqlbackup/daily

to have a look at automysqlbackup, as is there is no tweaking neccesary:
rootname@VPShosting:~# nano /etc/default/automysqlbackup

automysqlbackup configuracion file# By default, the Debian version of automysqlbackup will use:
# mysqldump --defaults-file=/etc/mysql/debian.cnf
# but you might want to overwrite with a specific user & pass.
# To do this, simply edit bellow.
# Username to access the MySQL server e.g. dbuser
#USERNAME=`grep user /etc/mysql/debian.cnf | tail -n 1 | cut -d"=" -f2 | awk '{print $1}'`
# Username to access the MySQL server e.g. password
#PASSWORD=`grep password /etc/mysql/debian.cnf | tail -n 1 | cut -d"=" -f2 | awk '{print $1}'`
# Host name (or IP address) of MySQL server e.g localhost
DBHOST=localhost
# List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"
# Note that it's absolutely normal that the db named "mysql" is not in this
# list, as it's added later by the script. See the MDBNAMES directives below
# in this file (advanced options).
# This is ONLY a convenient default, if you don't like it, don't complain
# and write your own.
# The following is a quick hack that will find the names of the databases by
# reading the mysql folder content. Feel free to replace by something else.
# DBNAMES=`find /var/lib/mysql -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f5 | grep -v ^mysql\$ | tr \\\r\\\n ,\ `
# This one does a list of dbs using a MySQL statement.
DBNAMES=`mysql --defaults-file=/etc/mysql/debian.cnf --execute="SHOW DATABASES" | awk '{print $1}' | grep -v ^Database$ | grep -v ^mysql$ | grep -v ^performance_schema$ | grep -v ^information_schema$ | tr \\\r>
# Backup directory location e.g /backups
# Folders inside this one will be created (daily, weekly, etc.), and the
# subfolders will be database names. Note that backups will be owned by
# root, with Unix rights 0600.
BACKUPDIR="/var/lib/automysqlbackup"
# Mail setup
# What would you like to be mailed to you?
# - log : send only log file
# - files : send log file and sql files as attachments (see docs)
# - stdout : will simply output the log to the screen if run manually.
# - quiet : Only send logs if an error occurs to the MAILADDR.
MAILCONTENT="quiet"
# Set the maximum allowed email size in k. (4000 = approx 5MB email [see
# docs])
MAXATTSIZE="4000"
# Email Address to send mail to? (user@domain.com)
MAILADDR="root"
# ============================================================
# === ADVANCED OPTIONS ( Read the doc's below for details )===
#=============================================================
# List of DBBNAMES for Monthly Backups.
MDBNAMES="mysql $DBNAMES"
# List of DBNAMES to EXLUCDE if DBNAMES are set to all (must be in " quotes)
DBEXCLUDE=""
# Include CREATE DATABASE in backup?
CREATE_DATABASE=yes
# Separate backup directory and file for each DB? (yes or no)
SEPDIR=yes
# Which day do you want weekly backups? (1 to 7 where 1 is Monday)
DOWEEKLY=6
# Which day of the month to execute the monthly backup (00 = no monthly backup)
# Two digit required
DOMONTHLY=01
# Choose Compression type. (gzip or bzip2)
COMP=gzip
# Compress backups on the fly with gzip or bzip2 (yes or no)
COMPDIRECT=no
# Compress communications between backup server and MySQL server?
COMMCOMP=no
# Additionally keep a copy of the most recent backup in a seperate
# directory.
LATEST=no
# The maximum size of the buffer for client/server communication. e.g. 16MB
# (maximum is 1GB)
MAX_ALLOWED_PACKET=
# For connections to localhost. Sometimes the Unix socket file must be
# specified.
# For connections to localhost. Sometimes the Unix socket file must be
# specified.
SOCKET=
# Command to run before backups (uncomment to use)
#PREBACKUP="/etc/mysql-backup-pre"
# Command run after backups (uncomment to use)
#POSTBACKUP="/etc/mysql-backup-post"
# Backup of stored procedures and routines (comment to remove)
ROUTINES=yes
# Mysqldump additional option (like "--single-transaction")
OPTIONS=""
1