Installing ISPConfig 3.2.9 development version on Ubuntu 22.04

Discussion in 'Developers' Forum' started by till, Oct 24, 2022.

  1. till

    till Super Moderator Staff Member ISPConfig Developer

    This post describes the steps to install the current development version of ISPConfig on Ubuntu 22.04 using the ISPConfig auto installer.

    Prerequisites
    • Clean Ubuntu 22.04 system
    Installation

    1) Install git:

    Code:
    apt update
    apt install git cron -y
    2) Check out the ISPConfig auto installer using git and switch to the branch that contains the Ubuntu 22.04 code:

    Code:
    cd /tmp
    git clone https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller.git
    cd ispconfig-autoinstaller
    git checkout ubuntu-22
    3) Run the auto-installer. It is important to use the dev channel as it contains the latest ISPConfig development code with the fixes for PHP 8 and PHP 8.1. Other auto installer options can be used as normal.

    Code:
    ./ispc3-ai.sh --use-ftp-ports=40110-40210 --unattended-upgrades --channel=dev
    We will release a beta version of ISPConfig 3.2.9 in the next few days.
     
    ahrasis and Th0m like this.
  2. ahrasis

    ahrasis Well-Known Member

    So far so good. Minor warnings.

    Strangely, the installer ignore LE certs already obtained and create SS certs instead. I am always under the impression that it was coded to acknowledge any existing certs especially LE certs. Anyway, I haven't check ISPConfig installer for quite long time, so I do not exactly know what was changed recently.
     
  3. till

    till Super Moderator Staff Member ISPConfig Developer

    Yes, there are plenty of warnings that need to be ruled out related to PHP 8.1, but nothing that prevents the system from working correctly.

    For websites, yes. But not the installer itself as it requires to start with a completely empty minimal system anyway, so there can not be any existing LE certs if your system is compliant with that rule.
     
  4. ahrasis

    ahrasis Well-Known Member

    No, not really. Based on what we discussed in the git way back before LE certs for ISPConfig code was introduced, we coded it to check for existing server certs before SS certs are to be processed, if needed be.

    A glance through just now confirmed the code is still there in the ISPConfig installer but why it was not working, I am not sure. I guess too many code suppressing may blind us sometimes.
     
  5. till

    till Super Moderator Staff Member ISPConfig Developer

    Ok, I was not aware that we implemented it in the installer too. But might be, yes :) Then I don't know why it was not recognized.
     
    ahrasis likes this.
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    @ahrasis : And thank you for testing the pre-release code!
     
    ahrasis likes this.
  7. ahrasis

    ahrasis Well-Known Member

    Thank you.

    Anyway, the problem of already obtained LE certs is not due to php8.1 nor just in Ubuntu 22.04.1 (with this version). I tested on a fresh Ubuntu 20.04.5 (with 3.2.8p2) and the problem is repeating. I opened a new thread on that.
     
  8. nhybgtvfr

    nhybgtvfr Well-Known Member HowtoForge Supporter

    just tried it on a digital ocean droplet...
    used the install options:
    Code:
    ./ispc3-ai.sh --channel=dev --use-php=7.4,8.0,8.1 --use-ftp-ports=42000-42100 --no-mail --no-roundcube --unattended-upgrades
    
    install seems ok... usual error on first starting clamav/freshclam. nothing to worry about there.

    it does throw and error and abort the install when enabling the quota because the running kernel doesn't support it. although the kernel support is installed by the script.. just needed to reboot and restart the install. then it completes without problems.

    initially, it created a self-signed cert. but that may have been my fault. i initially created a 22.10 droplet without noticing. and after destroying and creating a 22.04 one, i had to change dns records, it may have looked up the old records. ignoring the dns check got a valid new cert.
    after running ispconfig_update.sh --force using git-develop and ignoring the dns check acme.sh got a valid certificate

    will test it over the next week, see if i can find any problems..

    that said, i notice it installs libapache2-mod-python, but @till's recent tutorial shows python being enabled using libapache2-mod-wsgi-py3
    why the difference? what would be the better method going forward?

    also in jk_init.ini in the php section, it has the line:
    Code:
    includesections = php_common, php7_3
    
    should that not be changed to
    Code:
    includesections = php_common, php8_1
    
    for ubuntu 22.04 installs?
     
    ahrasis likes this.
  9. till

    till Super Moderator Staff Member ISPConfig Developer

    Thank you for testing the dev version!

    The tutorial that I've published recently is not for ISPConfig systems, so it's a different kind of setup. I'm not sure if one is better or worse than the other.


    I don't think that this is configurable for different Linux Distributions yet, so it's probably wrong on other distributions as well except Debian 10, we probably have to add a function to set this based on the distribution in the installer.
     
  10. Th0m

    Th0m ISPConfig Developer Staff Member ISPConfig Developer

    See https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6211
     
  11. h2rw

    h2rw New Member

    Install went fine for me using nginx.

    The only thing I noticed is that I got a white screen when trying to access phpmyadmin.
    I'm not sure what version comes with 22.04 but I followed a blog post on how to update it and then it was accessible (I can't post a link)
     
  12. till

    till Super Moderator Staff Member ISPConfig Developer

  13. bvo007

    bvo007 New Member

    Thanks Till for the Beta.
    I tested it with Ubuntu 20.0.4.1 LTS (minimal) and with this options: ./ispc3-ai.sh --use-ftp-ports=40110-40210 --unattended-upgrades --channel=dev --use-nginx
    It installed well, but adding any options in the nginx Directives field does not work by me.
    I putted there this:
    **********
    add_header Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
    server_tokens off;
    *********
    Maybe I did something wrong or missed something?
    Greetings
     
  14. till

    till Super Moderator Staff Member ISPConfig Developer

    This is not really an issue with the beta version, its a problem with what you entered into the Nginx directives field. If Nginx refuses what you enter, then the data is not saved as your web server would go offline otherwise. I guess this must be one line and not two lines.
     
  15. bvo007

    bvo007 New Member

    A minor difference it was of the two lines (the quotes). This works:
    ***************
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
    server_tokens off;
    **************
    thanks for the advices.
     
    till likes this.
  16. experience

    experience New Member

    I receive the following error during install:
    [ERROR] Exception occured: ISPConfigOSException -> Command a2enmod suexec rewrite ssl actions include dav_fs dav auth_digest cgi headers proxy_fcgi alias http2 mpm_event 2>&1 failed. (/ispconfig.ai.php:15)

    Clean ubuntu 22.04 install, followed this guide https://www.howtoforge.com/tutorial...l-pureftpd-bind-postfix-doveot-and-ispconfig/
    I guess related to this part of the guide
    Then run the following command to enable the Apache modules suexec, rewrite, ssl, actions, and include (plus dav, dav_fs, and auth_digest if you want to use WebDAV):

    a2enmod suexec rewrite ssl actions include cgi alias proxy_fcgi
    a2enmod dav_fs dav auth_digest headers
    To ensure that the server cannot be attacked through the HTTPOXY vulnerability, I will disable the HTTP_PROXY header in apache globally. Create a new httpoxy.conf file with nano:

    nano /etc/apache2/conf-available/httpoxy.conf
    Paste this content into the file:

    <IfModule mod_headers.c>
    RequestHeader unset Proxy early
    </IfModule>
    Enable the config file by running:

    a2enconf httpoxy
    Restart Apache afterward:

    service apache2 restart
     
  17. experience

    experience New Member

  18. till

    till Super Moderator Staff Member ISPConfig Developer

    This explains your failure, you can not run the auto-installer on a system installed like this. The auto-installer requires a clean and empty system, the system you used was not empty, and there might not be any services running on the server before using the auto installer. Do not mix different guides, either use manual install or auto-installer, not both. If you want to install a server manually, which is possible of course, then you must also install ISPConfig manually 'the old way' and not use auto installer. So there is nothing wrong with the auto-installer or ISPConfig 3.2.9.
     

Share This Page