I am attempting to set up apache with sslh. The latter is running fine, but when I attempt to start the apache2 server, it fails with the following message: dnessett@Mount:/etc/apache2/sites-available$ sudo systemctl restart apache2 Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details. Wnen I investigate further (asking for apache status), I find the following: dnessett@Mount:/etc/apache2/sites-available$ systemctl status apache2.service ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled-runtime; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: failed (Result: exit-code) since Thu 2022-12-15 11:08:46 MST; 41s ago Process: 2520 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE) Dec 15 11:08:46 Mount systemd[1]: Starting The Apache HTTP Server... Dec 15 11:08:46 Mount apachectl[2520]: (98)Address already in use: AH00072: make_sock: could not bind to address 127.0.0.1:4443 Dec 15 11:08:46 Mount apachectl[2520]: no listening sockets available, shutting down Dec 15 11:08:46 Mount apachectl[2520]: AH00015: Unable to open logs Dec 15 11:08:46 Mount apachectl[2520]: Action 'start' failed. Dec 15 11:08:46 Mount apachectl[2520]: The Apache error log may have more information. Dec 15 11:08:46 Mount systemd[1]: apache2.service: Control process exited, code=exited status=1 Dec 15 11:08:46 Mount systemd[1]: apache2.service: Failed with result 'exit-code'. Dec 15 11:08:46 Mount systemd[1]: Failed to start The Apache HTTP Server. Since it appears port 4443 is already in use, I print the active listen addresses: dnessett@Mount:/etc/apache2/sites-available$ sudo lsof -i -P -n | grep LISTEN systemd-r 760 systemd-resolve 13u IPv4 20577 0t0 TCP 127.0.0.53:53 (LISTEN) cupsd 859 root 6u IPv6 21248 0t0 TCP [::1]:631 (LISTEN) cupsd 859 root 7u IPv4 21249 0t0 TCP 127.0.0.1:631 (LISTEN) vsftpd 977 root 3u IPv6 21478 0t0 TCP *:21 (LISTEN) sshd 989 root 3u IPv4 23513 0t0 TCP *:22 (LISTEN) sshd 989 root 4u IPv6 23515 0t0 TCP *:22 (LISTEN) mysqld 1565 mysql 17u IPv6 26365 0t0 TCP *:3306 (LISTEN) sslh 2166 sslh 3u IPv4 75977 0t0 TCP 98.127.182.220:443 (LISTEN) sslh 2167 sslh 3u IPv4 75977 0t0 TCP 98.127.182.220:443 (LISTEN) As is shown, there is no active listen address for port 4443. journalctl -xe gave no additional information. I have configured apache to listen on 4443, since sslh listens on 443 and forwards https requests to port 4443. I am using a virtual host for this purpose in 000-default.conf, which I include below (notice I have commented out the listen on port 80, since I only want apache to listen for https requests). I have also commented out some <Directory > directives that came from an XAMPP configuration, which I have disabled. If I get apache working I will remove most of this commented out text dnessett@Mount:/etc/apache2/sites-available$ cat 000-default.conf # Comment out the port 80 virtual host block <IfDefine IgnoreBlockComment> <VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost> </IfDefine> Listen localhost:4443 ssl; # These defintions are in the main conf file <IfDefine IgnoreBlockComment> <Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> </IfDefine> # Comment out the lampp phpadmin and htdocs Directory blocks <IfDefine IgnoreBlockComment> <Directory "/opt/lampp/phpmyadmin"> AllowOverride AuthConfig Limit Require all granted ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory> <Directory "/opt/lampp/apache2/htdocs"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </IfDefine> <VirtualHost localhost:4443> ServerName coop.mountolive.com:4443 DocumentRoot /var/www/sites/coop-mountolive ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /root/.acme.sh/*.mountolive.com/fullchain.cer SSLCertificateKeyFile /root/.acme.sh/*.mountolive.com/*.mountolive.com.key </VirtualHost> For completeness, I include below the configuration information for sslh: dnessett@Mount:/etc/default$ cat sslh # Default options for sslh initscript # sourced by /etc/init.d/sslh # Disabled by default, to force yourself # to read the configuration: # - /usr/share/doc/sslh/README.Debian (quick start) # - /usr/share/doc/sslh/README, at "Configuration" section # - sslh(8) via "man sslh" for more configuration details. # Once configuration ready, you *must* set RUN to yes here # and try to start sslh (standalone mode only) RUN=yes # binary to use: forked (sslh) or single-thread (sslh-select) version # systemd users: don't forget to modify /lib/systemd/system/sslh.service DAEMON=/usr/sbin/sslh DAEMON_OPTS="--user sslh --listen coop.mountolive.com:443 --ssh 127.0.0.1:22 --ssl localhost:4443 --pidfile /var/run/sslh/sslh.pid" Thanks for any help you can give. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx