PHP 5.6: OpenSSL Support => disabled (install ext/openssl)

Discussion in 'Server Operation' started by SparkyRih, May 12, 2020.

  1. SparkyRih

    SparkyRih Member

    https://www.howtoforge.com/tutorial/how-to-install-php-5-6-on-ubuntu-16-04/
    I've used this tutorial to add PHP 5.6 to my ISPConfig setup, and everything works perfectly fine, except I need the OpenSSL extension to be enabled on this PHP installation as well.

    However, phpinfo() says: OpenSSL Support => disabled (install ext/openssl)

    I have already uncommented "extension=php_openssl.dll" (*.dll on Ubuntu?) in /opt/php-5.6.30/lib/php.ini.

    But that doesn't do the trick, any advise?
     
  2. nhybgtvfr

    nhybgtvfr Active Member

    it's not going to be anything to do with php_openssl.dll, that'll be windows only.

    did you type in those commands in that tutorial, or use cut-and paste?
    is it possible you accidentally missed the openssl or libssl references, or they had errors that you didn't notice?

    also, I don't know if you're actually trying this on an ubuntu 16.04 server, or if you're just using that tutorial to do the same on a newer version.

    you could check that the openssl packages are actually installed with
    apt list --installed | grep -I ssl

    if you are on ubuntu 16.04 they may be a bit different, but on a working ubuntu 18.04, it shows these packages installed:
    Code:
    libcrypt-openssl-bignum-perl/bionic,now 0.09-1build1 amd64 [installed,automatic]
    libcrypt-openssl-rsa-perl/bionic,now 0.28-5build2 amd64 [installed,automatic]
    libio-socket-ssl-perl/bionic-updates,bionic-security,now 2.060-3~ubuntu18.04.1 all [installed]
    libnet-smtp-ssl-perl/bionic,now 1.04-1 all [installed,automatic]
    libnet-ssleay-perl/bionic-updates,bionic-security,now 1.84-1ubuntu0.2 amd64 [installed,automatic]
    libssl1.0-dev/bionic-updates,bionic-security,now 1.0.2n-1ubuntu5.3 amd64 [installed]
    libssl1.0.0/bionic-updates,bionic-security,now 1.0.2n-1ubuntu5.3 amd64 [installed]
    libssl1.1/now 1.1.1d-1+ubuntu18.04.1+deb.sury.org+2 amd64 [installed,upgradable to: 1.1.1g-1+ubuntu18.04.1+deb.sury.org+1]
    libxmlsec1-openssl/bionic,now 1.2.25-1build1 amd64 [installed]
    openssl/now 1.1.1d-1+ubuntu18.04.1+deb.sury.org+2 amd64 [installed,upgradable to: 1.1.1g-1+ubuntu18.04.1+deb.sury.org+1]
    perl-openssl-defaults/bionic,now 3build1 amd64 [installed,automatic]
    python3-openssl/bionic,now 17.5.0-1ubuntu1 all [installed]
    ssl-cert/bionic,now 1.0.39 all [installed,automatic]
    
    so you could try installing any of those if they're missing and see if that solves your problem.
    anything beyond that is probably due to something happening during the compilation, which I won't be much help with, compiling packages for live servers is something I try to avoid as much as possible...

    I use the ondrej repo's to install the main, and additional versions of php, it's much simpler to install in the first place, and to keep updated. (and all the ssl bits are already included and enabled by default)
     
  3. SparkyRih

    SparkyRih Member

    I should've mentioned I was indeed on 18.04. I do have the same packages as you, even a couple extra. I think it has to do with the compilation of the PHP version/repo used in that tutorial.

    I guess my best option is to install a secondary 5.6.* version using the ondrej repo's and switch my site to that. If that works migrate all the sites to the new version, and continue from there.

    Edit: Do you have a good tutorial on how to set it up like you do?
    Would this one be good? https://www.goover.at/article/8-installing-several-php-versions-with-ispconfig3-and-ubuntu-18-04/
    It looks like a very clean method to improve my setup.
     
    Last edited: May 13, 2020
  4. Taleman

    Taleman Well-Known Member HowtoForge Supporter

  5. SparkyRih

    SparkyRih Member

    Thanks, I've already read through it. I think I'm going to clean up my entire PHP setup, this approach appears to be much better maintainable.
     
    ahrasis likes this.
  6. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    So true. If you compile PHP yourself, you have to do it again weekly. At least that is what Ondrej Sury seems todo, there is PHP update almost every week from his repository.
    And I do not trust my competence as to PHP compiling and maintaining, so I prefer to trust Ondrej does it properly.
     
  7. SparkyRih

    SparkyRih Member

    So... That killed my ISPConfig CP...

    My default PHP version was already set to /etc/php/7.2 (which has now been upgraded using the new repo (I made sure to get the Ubuntu version)).
    After that I installed PHP 5.6 according to your tutorial, I added it as an additional PHP version using the ISPConfig CP, then I went to one of my websites to actually set this new PHP version, and manually restarted apache2. And that's where ISPConfig stopped working...

    The website of which I attempted to change the PHP version from the compiled 5.6.30 version to the new 5.6 does in fact still run on the old compiled 5.6.30 version...

    All websites are running fine, even though this is a production server, I did not revert back to my VMWare snapshot since I think this is a minor issue, but I can't figure it out...

    The Apache error log:
    Code:
    [/COLOR][/FONT][/SIZE][/LEFT]
    [Wed May 13 23:02:14.352303 2020] [fcgid:warn] [pid 5944] [client 172.10.0.2:62916] mod_fcgid: stderr: PHP Fatal error:  Uncaught Error: Call to undefined function mysqli_init() in /usr/local/ispconfig/interface/lib/classes/db_mysql.inc.php:83
    [Wed May 13 23:02:14.352351 2020] [fcgid:warn] [pid 5944] [client 172.10.0.2:62916] mod_fcgid: stderr: Stack trace:
    [Wed May 13 23:02:14.352357 2020] [fcgid:warn] [pid 5944] [client 172.10.0.2:62916] mod_fcgid: stderr: #0 /usr/local/ispconfig/interface/lib/app.inc.php(66): db->__construct()
    [Wed May 13 23:02:14.352362 2020] [fcgid:warn] [pid 5944] [client 172.10.0.2:62916] mod_fcgid: stderr: #1 /usr/local/ispconfig/interface/lib/app.inc.php(375): app->__construct()
    [Wed May 13 23:02:14.352367 2020] [fcgid:warn] [pid 5944] [client 172.10.0.2:62916] mod_fcgid: stderr: #2 /usr/local/ispconfig/interface/web/index.php(32): require_once('/usr/local/ispc...')
    [Wed May 13 23:02:14.352372 2020] [fcgid:warn] [pid 5944] [client 172.10.0.2:62916] mod_fcgid: stderr: #3 {main}
    [Wed May 13 23:02:14.352377 2020] [fcgid:warn] [pid 5944] [client 172.10.0.2:62916] mod_fcgid: stderr:   thrown in /usr/local/ispconfig/interface/lib/classes/db_mysql.inc.php on line 83
    [Wed May 13 23:02:15.324897 2020] [fcgid:warn] [pid 6102] [client 172.10.0.2:62917] mod_fcgid: stderr: PHP Fatal error:  Uncaught Error: Call to undefined function mysqli_init() in /usr/local/ispconfig/interface/lib/classes/db_mysql.inc.php:83
    [Wed May 13 23:02:15.324929 2020] [fcgid:warn] [pid 6102] [client 172.10.0.2:62917] mod_fcgid: stderr: Stack trace:
    [Wed May 13 23:02:15.324934 2020] [fcgid:warn] [pid 6102] [client 172.10.0.2:62917] mod_fcgid: stderr: #0 /usr/local/ispconfig/interface/lib/app.inc.php(66): db->__construct()
    [Wed May 13 23:02:15.324939 2020] [fcgid:warn] [pid 6102] [client 172.10.0.2:62917] mod_fcgid: stderr: #1 /usr/local/ispconfig/interface/lib/app.inc.php(375): app->__construct()
    [Wed May 13 23:02:15.324945 2020] [fcgid:warn] [pid 6102] [client 172.10.0.2:62917] mod_fcgid: stderr: #2 /usr/local/ispconfig/interface/web/index.php(32): require_once('/usr/local/ispc...')
    [Wed May 13 23:02:15.324950 2020] [fcgid:warn] [pid 6102] [client 172.10.0.2:62917] mod_fcgid: stderr: #3 {main}
    [Wed May 13 23:02:15.324954 2020] [fcgid:warn] [pid 6102] [client 172.10.0.2:62917] mod_fcgid: stderr:   thrown in /usr/local/ispconfig/interface/lib/classes/db_mysql.inc.php on line 83
    suexec policy violation: see suexec log for more details
    suexec policy violation: see suexec log for more details
    [LEFT][SIZE=14px][FONT=Tahoma][COLOR=rgb(71, 75, 81)]
    The suexec log:
    Code:
    [2020-05-13 07:54:03]: uid: (5003/ispconfig) gid: (5004/ispconfig) cmd: .php-fcgi-starter
    [2020-05-13 09:02:21]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 09:02:21]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    [2020-05-13 11:26:40]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 11:26:40]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    [2020-05-13 12:28:01]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 12:28:01]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    [2020-05-13 13:14:07]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 13:14:07]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    [2020-05-13 13:25:22]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 13:25:22]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    [2020-05-13 16:20:14]: uid: (5003/ispconfig) gid: (5004/ispconfig) cmd: .php-fcgi-starter
    [2020-05-13 16:21:11]: uid: (5003/ispconfig) gid: (5004/ispconfig) cmd: .php-fcgi-starter
    [2020-05-13 16:23:25]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 16:23:25]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    [2020-05-13 18:17:00]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 18:17:00]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    [2020-05-13 18:21:07]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 18:21:07]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    [2020-05-13 19:54:01]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 19:54:01]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    [2020-05-13 22:20:47]: uid: (5003/ispconfig) gid: (5004/ispconfig) cmd: .php-fcgi-starter
    [2020-05-13 22:22:15]: uid: (5003/ispconfig) gid: (5004/ispconfig) cmd: .php-fcgi-starter
    [2020-05-13 22:26:18]: uid: (5003/ispconfig) gid: (5004/ispconfig) cmd: .php-fcgi-starter
    [2020-05-13 22:32:20]: uid: (5003/ispconfig) gid: (5004/ispconfig) cmd: .php-fcgi-starter
    [2020-05-13 23:00:17]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 23:00:17]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    [2020-05-13 23:03:09]: uid: (5014/web41) gid: (5005/client1) cmd: .php-fcgi-starter
    [2020-05-13 23:03:09]: directory is writable by others: (/var/www/php-fcgi-scripts/web41)
    
    
     
  8. till

    till Super Moderator Staff Member ISPConfig Developer

    1) Compare the permissions of the directory /var/www/php-fcgi-scripts/web41 with the other directories in the folder
    /var/www/php-fcgi-scripts and adjust it to be not world writable.

    2) You installed a PHP version without MySQL support and that's why ISPConfig fails. You probably missed to switch back the system default php version. Follwo chapter 9 in this guide https://www.howtoforge.com/tutorial...fig-3-from-debian-packages-on-debian-8-and-9/ to fix that.
     
  9. SparkyRih

    SparkyRih Member

    I figured out the file permissions alreadyy, but the default PHP version for Ubuntu 18.04 should be 7.2, which it is set to...

    Edit: In the meantime, ISPConfig seems to have applied my PHP versions change of my website (it's now on 5.6.40, and runs fine).

    Edit 2: Fixed it, in an attempt to fix the issue I messed up /var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter

    This is what it looks like now:
    Code:
    #!/bin/sh
    PHPRC=/etc/php/7.2/cgi
    export PHPRC
    export PHP_FCGI_MAX_REQUESTS=5000
    export PHP_FCGI_CHILDREN=1
    exec /usr/bin/php-cgi7.2 \
        -d disable_classes= \
        -d disable_functions= \
        -d magic_quotes_gpc=off \
        -d open_basedir= \
        -d session.save_path=/usr/local/ispconfig/interface/temp
    
    The details of phpinfo() of my PHP versions is looking much better now :) thank you guys for my help.
     
    Last edited: May 14, 2020
    nhybgtvfr likes this.

Share This Page