PHP Fatal error: You must enable the mbstring extension to use Passbolt

what I could see, is that this nginx error: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol) is the ipv6 protocol disabled, but I already enabled on my interface and in grub

GRUB_CMDLINE_LINUX=“audit=1 ipv6.disable=0 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rd.lvm.lv=centos/usr rhgb quiet”

#interface
IPV6INIT=yes

Then you could remove the grub line command until after you have completed the install. If you’re cormfortable with these kinds of things then feel free to do whatever is needed to get it up and running. The script is not going to catch modifications to the default install for an OS, which would not have ipv6 disabled.

EDIT: I’m sorry I misread your post. I am not used to seeing the ipv6.disable=0 - normally it’s just not there. If you don’t by default have ipv6, a different approach is needed. I’m looking into the issue a bit more.

@Renato Did you make sure to regenerate the updated grub and then try rebooting the server after?

Yes, I rebooted the server.

For me the error is that the script is trying to set nginx to listen to ipv6, but for some reason it stops the installation even though ipv6 is enabled

If you are saying ipv6 is enabled, and have confirmed this, then there must still be an issue with the networking. NGINX is not recognizing ipv6 enabled.

This issue reminds me this one: Cannot run passbolt from docker

User wasn’t able to run the nginx inside docker because of lack of ipv6 support.

A quick way to validate if ipv6 is enabled (this command should returns 0):

sudo sysctl -a | grep disable_ipv6

And with this other command, it should returns some inet6:

$ ip a | grep inet
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic eth0
    inet6 fe80::a00:27ff:fe41:ef8f/64 scope link
    inet 10.55.27.13/24 brd 10.55.27.255 scope global eth1
    inet6 fe80::a00:27ff:fee8:3947/64 scope link
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
1 Like

Hi,

As a quick follow-up regarding my previous message. Enable IPv6 support on your server doesn’t mean you must request a public IPv6 from your provider to use passbolt.
You can have IPv6 support without having your server reachable over the internet through an IPv6 address.

IPv6 is a network protocol enabled by default in Linux since years and if you won’t or can’t enable it on your server, you have to choose “no” to the nginx question and manually configure nginx server.

Cheers,

[root@srv-app03 ~]# sudo sysctl -a | grep disable_ipv6
[root@srv-app03 ~]# ip a | grep inet
inet 127.0.0.1/8 scope host lo
inet 192.168.1.51/24 brd 192.168.1.255 scope global noprefixroute ens160

When I run the script it doesn’t ask me if I install nginx, it runs automatically

Hi,

So you don’t have any IPv6. Can you show the result of the below command:

$ sudo grep -rn IPV6 /etc/sysconfig/network-scripts/ifcfg-*

My output:

/etc/sysconfig/network-scripts/ifcfg-eth0:7:IPV6INIT=yes
/etc/sysconfig/network-scripts/ifcfg-eth0:8:IPV6_AUTOCONF=yes
/etc/sysconfig/network-scripts/ifcfg-eth0:9:IPV6_DEFROUTE=yes
/etc/sysconfig/network-scripts/ifcfg-eth0:10:IPV6_FAILURE_FATAL=no
/etc/sysconfig/network-scripts/ifcfg-eth0:11:IPV6_ADDR_GEN_MODE=stable-privacy

My full eth0 interface configuration file:

$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=8142a7a7-a217-4018-962e-8e0207c22796
DEVICE=eth0
ONBOOT=yes

Cheers,

[root@srv-app03 ~]# sudo grep -rn IPV6 /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens160:7:IPV6INIT=yes
/etc/sysconfig/network-scripts/ifcfg-ens160:20:IPV6_AUTOCONF=yes
/etc/sysconfig/network-scripts/ifcfg-ens160:21:IPV6_DEFROUTE=yes
/etc/sysconfig/network-scripts/ifcfg-ens160:22:IPV6_FAILURE_FATAL=no
/etc/sysconfig/network-scripts/ifcfg-ens160:23:IPV6_ADDR_GEN_MODE=stable-privacy

[root@srv-app03 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160

Generated by dracut initrd

NAME=ens160
DEVICE=ens160
ONBOOT=yes
NETBOOT=yes
UUID=8b53fa04-0157-4b3c-9118-d14efafb37f2
IPV6INIT=yes
BOOTPROTO=none
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
IPADDR=192.168.1.51
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.15
DNS2=192.168.1.240
DOMAIN=mydomain.com
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy

Did you manually added ipv6.disable=0 in grub ? If yes, did you executed an update-grub then rebooted ?

Can you show the output of cat /proc/cmdline ?

Best,

Yes, I did it manually.

cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-1160.59.1.el7.x86_64 root=/dev/mapper/centos-root ro audit=1 ipv6.disable=0 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rd.lvm.lv=centos/usr rhgb quiet

@Renato Are you self-hosting on premises? If not, if you don’t mind my asking who is the host for the server?