Search
Items tagged with: friendicaPHP-fpm
v.01
!Friendica Support
#friendicaPHP-fpm Q&A @Tutorial
DIY standard procedures - best practice
Open a minimalistic text editor of your choice (e.g. mousepad/kate) to store basic and important information of your interaction with the CLI (console).Backup the commands and copy/paste notes of the basic results as well as information of your search and queries.
checking the existing settings before any modification
rootname@VPShosting:~# sudophp -v
rootname@VPShosting:~# sudo
php --version
rootname@VPShosting:~# sudo
php
rootname@VPShosting:~# sudo
which php
rootname@VPShosting:~# sudo
ls -l /usr/bin/
rootname@VPShosting:~# sudo
ls -l /etc/alternatives/
system up to date check
rootname@VPShosting:~# sudo apt get update
rootname@VPShosting:~# sudo apt get upgrade
eventually
rootname@VPShosting:~# sudo apt get dist-upgrade
adding PHP-fpm PPA to the system
if you havent already added php-fpm PPA to your systemadd PPA's as sources to the system
add the PHP-fpm PPA to the system
rootname@VPShosting:~# sudo
install software-properties-common
rootname@VPShosting:~# sudo
add-apt-repository ppa:ondrej/php
standard instalation of specific php modules for friendica using PHP-fpm
This list is from the install tutorial in progress:Install and/or move friendica 2023.05 to ubuntu 22.04 LTS VPS server
rootname@VPShosting:~# sudo sudo apt install php php-fpm libapache2-mod-php php-common php-gmp php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-imagick php-xml php-cli php-zip php-sqlite3
Changes in friendica over time
php specific mentions in changelog of the friendica github repo over time
Version 2024.03 (2024-03-21)Improved PHP 8.2 compatibility
[MrPetovan] Friendica Addons
advancedcontentfilter
Updated dependency for PHP8.2 compatibility
[MrPetovan]Version 2023.12 (2023-12-24)
Friendica Core
Raised minimal PHP version to 7.4
Version 2022.12 (2022-12-20)
Improved the PHP 8.1 compatibility
[MrPetovan]Version 2022.02 (2022-02-06)
Friendica Core
Bumped the minimal version of PHP to 7.3
Friendica Addons
securemail
Updated dependencies to enhance the PHP8 support
[MrPetovan]Version 2021.07 (2021-07-04)
Friendica Core
Enhanced the support of PHP8 [nupplaphil, MrPetovan]
Version 2021.04 (2021-04-26)
Friendica Core
Enhanced the PHP8 compatibility [annando, nupplaphil, realkinetix]
Version 2021.01 (2021-01-04)
Friendica Core
Enhanced PHP8 compatibility
[annando]Version 2018.09 (2018-09-23)
Friendica Core:
Enhancements to the PHP7.2 compatibility [annando, miqrogroove, MrPetovan]
Friendica Addons:
Directory:
Enhancements of the PHP7 compatibility
[MrPetovan]Version 2018.05 (2018-06-01)
Friendica Core:
Enhancements to the PHP7.2 compatibility [Alkarex, MrPetovan, Quix0r]
Fixed wrong version of a dependency preventing the usage of PHP 5.6
[MrPetovan]Version 3.5.4 (2017-10-16)
Friendica Core:
Update the DB handling for support of PHP 7.1
[annando]Version 3.5.2 (2017-06-06)
Friendica Core:
Improved php7 support
[annando]Version 3.5.1 (2017-03-12)
Friendica Core:
Work on PHP7 compatibility
[ddorian1]Version 3.3
System stuff
no more apc support due problems with PHP 5.5
Specific installation instruction for:
friendica 3.4.3
friendica 3.4.3 and Addons:Instalation Instructions Requirements:
Apache with mod-rewrite enabled and "Options All" so you can use a
local .htaccess file PHP 5.2+. The later the better. PHP 5.3 is required for communications
with the Diaspora network and improved security. PHP *command line* access with register_argc_argv set to true in the
php.ini file - (cli,) curl, gd (with at least jpeg support), mysql, mbstring, mcrypt,
and openssl extensions ?
- Mysql 5.x ?
relevant changelog entries 3.4.3 to 3.6 -
https://github.com/friendica/friendica/blob/3.4.3/CHANGELOGVersion 3.5.4 (2017-10-16)
Friendica Core:
Update the DB handling for support of PHP 7.1
[annando]Version 3.5.2 (2017-06-06)
Friendica Core:
Improved php7 support
[annando]Version 3.5.1 (2017-03-12)
Friendica Core:
Work on PHP7 compatibility
[ddorian1]Version 3.3
System stuff
no more apc support due problems with PHP 5.5
friendica 2019.12
Github tree 2019.12Requirements
Apache with mod-rewrite enabled and "Options All" so you can use a local .htaccess file
PHP 7+ (PHP 7.1+ is recommended for performance and official support)
PHP command line access with register_argc_argv set to true in the php.ini file
Curl, GD, PDO, MySQLi, hash, xml, zip and OpenSSL extensions
The POSIX module of PHP needs to be activated (e.g. RHEL, CentOS have disabled it)
some form of email server or email gateway such that PHP mail() works
MySQL 5.6+ or an equivalent alternative for MySQL (MariaDB, Percona Server etc.)
relevant changelog entries 2019.12
https://github.com/friendica/friendica/blob/2019.12/CHANGELOG]Version 2018.09 (2018-09-23)Friendica Core:Enhancements to the PHP7.2 compatibility [annando, miqrogroove, MrPetovan]
2021.01 | apparently no changes to 2019.12
Github tree 2021.01Requirements
Apache with mod-rewrite enabled and "Options All" so you can use a local .htaccess file
PHP 7+ (PHP 7.1+ is recommended for performance and official support)
PHP command line access with register_argc_argv set to true in the php.ini file
Curl, GD, PDO, MySQLi, hash, xml, zip and OpenSSL extensions
The POSIX module of PHP needs to be activated (e.g. RHEL, CentOS have disabled it)
some form of email server or email gateway such that PHP mail() works
MySQL 5.6+ or an equivalent alternative for MySQL (MariaDB, Percona Server etc.)
PHP 7.1+
Curl, GD, PDO, MySQLi, hash, xml, zip and OpenSSL extensions
relevant changelog entries 2021.01
https://github.com/friendica/friendica/blob/2021.01/CHANGELOG]Version 2021.01 (2021-01-04)Friendica Core
Enhanced PHP8 compatibility [annando]
2021.04 | apparently no changes to 2021.01
Github tree 2021.04Requirements
Apache with mod-rewrite enabled and "Options All" so you can use a local .htaccess file
PHP 7+ (PHP 7.1+ is recommended for performance and official support)
PHP command line access with register_argc_argv set to true in the php.ini file
Curl, GD, PDO, MySQLi, hash, xml, zip and OpenSSL extensions
The POSIX module of PHP needs to be activated (e.g. RHEL, CentOS have disabled it)
some form of email server or email gateway such that PHP mail() works
MySQL 5.6+ or an equivalent alternative for MySQL (MariaDB, Percona Server etc.)
relevant changelog entries 2021.04
https://github.com/friendica/friendica/blob/2021.04/CHANGELOGVersion 2021.04 (2021-04-26)
Friendica Core
Enhanced the PHP8 compatibility [annando, nupplaphil, realkinetix]
2023.05
Github tree 2023.05Requirements
Apache with mod-rewrite enabled and "Options All" so you can use a local .htaccess file
PHP 7.3+ (PHP8 is not fully supported yet)
PHP command line access with register_argc_argv set to true in the php.ini file
Curl, GD, GMP, PDO, mbstrings, MySQLi, hash, xml, zip and OpenSSL extensions
The POSIX module of PHP needs to be activated (e.g. RHEL, CentOS have disabled it)
Some form of email server or email gateway such that PHP mail() works. If you cannot set up your own email server, you can use the phpmailer addon and use a remote SMTP server.
relevant changelog entries 2023.05
https://github.com/friendica/friendica/blob/2023.05/CHANGELOGVersion 2022.02 (2022-02-06)
Friendica Core
Bumped the minimal version of PHP to 7.3
Friendica Addons
securemail
Updated dependencies to enhance the PHP8 support
[MrPetovan]Version 2021.07 (2021-07-04)
Friendica Core
Enhanced the support of PHP8 [nupplaphil, MrPetovan]
2024.12
Github tree 2023.05Requirements
Apache with mod_rewrite enabled and "AllowOverride All" so you can use a local .htaccess file
PHP 7.4+
PHP command line access with register_argc_argv set to true in the php.ini file
Curl, GD, GMP, PDO, mbstring, MySQLi, xml, zip, IntlChar, IDN and OpenSSL extensions
The POSIX module of PHP needs to be activated (e.g. RHEL, CentOS have disabled it)
Some form of email server or email gateway such that PHP mail() works. If you cannot set up your own email server, you can use the phpmailer addon and use a remote SMTP server.
MySQL with support of InnoDB and Barracuda (we suggest a MariaDB server as all development is done using these, but alternatives like MySQL or Percona Server etc. might work as well)
relevant changelog entries 2024.12
https://github.com/friendica/friendica/blob/2024.012/CHANGELOGVersion 2024.03 (2024-03-21)
Improved PHP 8.2 compatibility
[MrPetovan] Friendica Addons
advancedcontentfilter
Updated dependency for PHP8.2 compatibility
[MrPetovan]Version 2023.12 (2023-12-24)
Friendica Core
Raised minimal PHP version to 7.4
Version 2022.12 (2022-12-20)
Improved the PHP 8.1 compatibility [MrPetovan]
The following are adapted lists of modules for older versions of friendica so they can run in a PHP-fpm setup.
php-fpm version php8.1
all avilabel modules:php8.1 php8.1-cli php8.1-common php8.1-dev php8.1-fpm php8.1-cgi libphp8.1-embed php8.1-phpdbg php8.1-readline php8.1-curl php8.1-mysql php8.1-sqlite3 php8.1-pgsql php8.1-imap imagemagick php8.1-imagick php8.1-gd memcached php8.1-memcached php8.1-memcache php8.1-opcache php-apcu php-apcu-bc php8.1-apcu php8.1-igbinary php8.1-mcrypt php8.1-bcmath php8.1-zip php8.1-bz2 xml2 php8.1-xml php8.1-tidy php8.1-xsl php8.1-intl php8.1-mbstring php8.1-pspell php8.1-ldap php8.1-soap php8.1-xmlrpc php-pear pkg-php-tools shtool dh-php dh-make php-geoip libruby
libapache2-mod-php8.1 libapache2-mod-fcgid apache2-suexec-pristine libapache2-mod-python
Use the following command to search available PHP 8 modules in the package repository.sudo apt-cache search php8*
Adjustet modules list for a PHP8.1-fpm instalation for friendica 2023.05 to friendica 2024.12 using version php8.1 (as of writing):
basic modules to work with and run properly php8.1-fpm
libapache2-mod-php -> to run PHP scripts on apache, necessary for -fpm?libapache2-mod-fcgid -> unclear if necessary for -fpm
php8.1 -> standard PHP
php8.1-fpm -> standard PHP-spm module
php8.1-mysql -> Allows PHP to interact with MySQL databases
php8.1-cgi -> run PHP scripts without apache PHP module
php8.1-cli -> run PHP scripts from the command line
rootname@VPShosting:~# sudo
apt install libapache2-mod-php8.1 php8.1 php8.1-fpm php8.1-cgi php8.1-cli php8.1-mysql
specific additional modules to run friendica with php8.1-fpm
php8.1-common ->php8.1-curl -> URL transfer in PHP applications
php8.1-gd -> image processing
php8.1-imagick ->
php8.1-intl ->
php8.1-mbstring -> support for UTF-8 text formats
php8.1-sqlite3 ->
php8.1-xml -> XML support
php8.1-xmlrpc ->
php8.1-zip -> ZIP file support
rootname@VPShosting:~# sudo
apt install php8.1-common php8.1-curl php8.1-gd php8.1-intl php8.1-zip php8.1-xml php8.1-xmlrpc php8.1-imagick php8.1-mbstring php8.1-sqlite3
some more optional basic modules for php8.1-fpm:
php8.1-phpdbg ->hp8.1-imap ->
imagemagick ->
php8.1-mcrypt ->
php8.1-json ->
rootname@VPShosting:~# sudo
apt install php8.1-phpdbg php8.1-imap imagemagick php8.1-mcrypt php8.1-json
activate php8.1-fpm
enable php8.1restart the apache server to initialize the changes
rootname@VPShosting:~# sudo
a2enconf php8.1-fpm
]rootname@VPShosting:~# sudo
systemctl restart apache2
php7.Xy specific notes
php-imagick = [-imagick] is php-version specific present since php7.4-imagick.before it's moste likely necessary to install imagemagick(?)
2019.12 mentions the module "hash" ?
OpenSSL extensions ?
List of php7.Xy-fpm specific modules not mentioned in the install instructions
rootname@VPShosting:~# sudoapt install php7.2-fpm
List of modules mentioned in the github and/or the friendica ubuntu server install instructions
rootname@VPShosting:~# sudoapt install libapache2-mod-php7.2 php7.2 php7.2-common php-gmp php7.2-intl php7.2-mbstring php-xmlrpc php7.2-gd php7.2-mysql php7.2-zip php7.2-curl php7.2-xml php7.2-cli php7.2-sqlite3
List of php7.Xy-fpm modules not mentioned in the install instructions but present in newer versions of friendica (?)
Adjustet modules list for a PHP-fpm instalation for earliest friendica versions running from php7.Xy forward or somehow already installed (/):rootname@VPShosting:~# sudo
apt install phpmyadmin imagemagick
very old friendica versions using php5.6
modules list for a PHP-fpm instalation for earliest friendica versions running php5.6.Notes php5.6-fpm
The following modules do not exist in php5.6 as specific version modul: php-imagickSpecific installtion instruction for friendica 3.4.3 and Addons
Instalation Instructions Requirements:
Apache with mod-rewrite enabled and "Options All" so you can use a
local .htaccess file PHP 5.2+. The later the better. PHP 5.3 is required for communications
with the Diaspora network and improved security. PHP *command line* access with register_argc_argv set to true in the
php.ini file - (cli,) curl, gd (with at least jpeg support), mysql, mbstring, mcrypt,
and openssl extensions ?
- Mysql 5.x ?
complete list of php5.6-fpm modules
php5.6 php5.6-common php5.6-gd php5.6-mysql php5.6-imap phpmyadmin php5.6-cli php5.6-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby libapache2-mod-python php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl memcached php-memcache php-imagick php-gettext php5.6-zip php5.6-mbstring php5.6-opcache php5.6-json php5.6-ldap php5.6-soap php5.6-bz2 php5.6-bcmath php5.6-xml php5.6-dev php5.6-fpm php5.6-phpdbg php-apcu dh-php php5.6-readline pkg-php-tools shtool xml2
list of modules extracted from the list above that don't have a php5.6 prefix
phpmyadmin libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby libapache2-mod-python memcached php-memcache php-imagick php-gettext php-apcu dh-php pkg-php-tools shtool xml2
List of php5.6-fpm specific modules not mentioned in the install instructions
rootname@VPShosting:~# sudoapt install php5.6-fpm
List of php5.6-fpm modules mentioned in the github and/or the friendica ubuntu server install instructions
rootname@VPShosting:~# sudoapt install php5.6-cli php5.6-curl php5.6-gd php5.6-mysql php5.6-mbstring mcrypt
List of php5.6-fpm modules not mentioned in the install instructions but present in newer versions of friendica (?)
rootname@VPShosting:~# sudoapt install php5.6 php5.6-common php5.6-sqlite3 php5.6-imap php5.6-intl php5.6-xml php5.6-zip php5.6-json php5.6-xmlrpc
standard information of platform specific settings in phpX.Yz.ini of phpX.Yz-fpm
changes in platform specific settings in phpX.Yz.ini of phpX.Yz-fpm
standard information of platform specific settings in platform specific files
changes in platform specific settings in platform specific files
standard settings in configuration files of domains
check the existing settings after the modification
rootname@VPShosting:~# sudophp -v
rootname@VPShosting:~# sudo
php --version
rootname@VPShosting:~# sudo
php
rootname@VPShosting:~# sudo
which php
rootname@VPShosting:~# sudo
ls -l /usr/bin/
rootname@VPShosting:~# sudo
ls -l /etc/alternatives/
deadlink
Ver. 05 | install and/or move friendica to ubuntu 22.04 LTS VPS server
--EDIT - information
This tutorial is supposed to be published by the tutorial profile of this server.
It is designed to have several chapters, each being distinctively seperated by an own titel. In total as of now there are like besides this introduction like 6 chapters.
posting and edition time of and by this EDIT profileof ver05 as of now 1hs
mastodon review contact: @mʕ•ﻌ•ʔm bitPickup
Categories:
@helpers@forum.friendi.ca
SPOILER - click to open/close || Introduction
This tutorial is an adaption of the tutorial "creating a friendica server - ubuntu" by @Hank G ☑️ based on the experience of the installation report by @…ᘛ⁐̤ᕐᐷ jesuisatire bitPickup:
https://squeet.me/display/962c3e10-5765-2e86-4a15-589579746174
and specific help by @Raroun.Server specs and friendica version used:
VPS server | Ubuntu 22.04 LTS
PHP Version 8.1.2-1ubuntu2.14
4 Core CPU, 8 GB Ram with 300GB NVME Disk
Friendica [STABLE] | 'Giant Rhubarb' 2023.05 - 1518SPOILER - click to open/close || Installation environment and HowTo
The only reasonable way to work with a VPSserver on the web is using the console.
If you are not familiar with that don't worry, it is easy and the only thing you have to do is being able to copy/paste the commands displayed:
¡Copy/paste only the codeBoxes like this one
, located outside of the spoilers of this tutorial one after another without altering the sequence!
Of course it is necessary to change the specific file names and passwords for you indiviual site, but that's all. promise!
On the console you wont be able to copy/paste with the keyboard ctrl-C/ctrl-V technique, you'll have to use the mouse "right click, chose option" technique.
This tutorial was created on a #debian #linux desktop environment.
There shouldn't be differences if you want to do this from a #windows machine.
The method used for communication between your local computer and the VPS server is called #SSH:
Wikipedia - Secure Shell:
"Cryptographic network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers."
#linux #debian #ubuntu #friendica #fediVerse #fediTutorial #tutorial #fediHelp #fediTips #activityPub #HowTo #DIY #VPS #server #selfHosting@admin@tupambae.org @tutorial@tupambae.org