catchpoint / WebPageTest.server-install

Installation scripts for the WebPageTest server
Apache License 2.0
9 stars 13 forks source link

install doesnt work on Ubuntu 18.04.6 LTS #6

Open nutmix opened 1 year ago

nutmix commented 1 year ago

ran this script as a normal user with sudo (i.e. not root): bash <(curl -s https://raw.githubusercontent.com/WPO-Foundation/wptserver-install/master/ubuntu.sh)

The script produced no errors, except at the end it showed this:

# number of packets to keep in backlog before the kernel starts dropping them
net.ipv4.tcp_max_syn_backlog = 3240000

# increase socket listen backlog
net.core.somaxconn = 65535
net.ipv4.tcp_max_tw_buckets = 1440000

# Increase TCP buffer sizes
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.ip_local_port_range = 2000 65000
sysctl: cannot stat /proc/sys/net/ipv4/tcp_window_scaling: No such file or directory
sysctl: cannot stat /proc/sys/net/ipv4/tcp_max_syn_backlog: No such file or directory
net.core.somaxconn = 65535
sysctl: cannot stat /proc/sys/net/ipv4/tcp_max_tw_buckets: No such file or directory
sysctl: cannot stat /proc/sys/net/core/rmem_default: No such file or directory
sysctl: cannot stat /proc/sys/net/core/rmem_max: No such file or directory
sysctl: cannot stat /proc/sys/net/core/wmem_max: No such file or directory
sysctl: cannot stat /proc/sys/net/ipv4/tcp_rmem: No such file or directory
sysctl: cannot stat /proc/sys/net/ipv4/tcp_wmem: No such file or directory

if I look in /var/www I see:

html webpagetest wptserver-install

So the install script did do something.

i tried pointing the document root at /var/www/webpagetest/www

and now I get the following in the browser when I hit my webserver:

<?php
// Copyright 2020 Catchpoint Systems Inc.
// Use of this source code is governed by the Polyform Shield 1.0.0 license that can be
// found in the LICENSE.md file.
//$REDIRECT_HTTPS = true;
include 'common.inc';

// see if we are overriding the max runs
$max_runs = GetSetting('maxruns', 9);
if (isset($_COOKIE['maxruns']) && (int)$_GET['maxruns'] > 0) {
    $max_runs = (int)$_GET['maxruns'];
}
if (isset($_GET['maxruns'])) {
    $max_runs = (int)$_GET['maxruns'];
    setcookie("maxruns", $max_runs);
}

I tried to restart apache, but it wont, because the installer has installed nginx which conflicts. The nginx which the installer has installed is broken (e.g. php doesnt work).

nutmix commented 1 year ago

So Ive spent many days trying to get his script working with standard ubutnu 18. I notice that the installer ignores the existing apache2 instance, and tries to install nginx, which of course conflicts (as both are operating on port 80).

I rebuild the server from scratch, and purged apache2, then tried this installer again.

I get the same error messages at the end of the script.

Also, it doesnt configure the virtual host, and it doesn't say this is required.

I tried manually editing the default vhost, and added:

 root   /var/www/webpagetest/www;

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                limit_except GET POST HEAD {
                        deny all;
                }
                #fastcgi_pass   127.0.0.1:9000;
                fastcgi_pass    unix:/run/php/php7.0-fpm.sock;
                #fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /var/www/webpagetest/www$fastcgi_script_name;
                fastcgi_param  HTTP_MOD_REWRITE On;
                include fastcgi.conf;
        }

        include /var/www/webpagetest/www/nginx.conf;

However, now I cant restart nginx, with this error:

Dec 08 13:39:45 xxx.net systemd[1]: Starting A high performance web server and a reverse proxy server... Dec 08 13:39:45 xxx.net nginx[20121]: nginx: [emerg] duplicate location "/" in /var/www/webpagetest/www/nginx.conf:26

So the instructions on the webpagetest site conflict directly with the installer script.