On my previous article, about software available on GNU-Hurd, I got a comment about the server use. The person was wondering about how to install Apache and Nginx on GNU-Hurd, so I have decided to make an article about HTTP servers.
We need to install it and switch to mpm_prefork because of the missing mpm_event module.
apt update apt install -y apache2 a2dismod mpm_event a2enmod mpm_prefork service apache2 restart
We now have an Apache server up and running 🙂
This one is easier to install, it doesn’t need any manual modification.
apt install -y lighttpd
Unfortunately, only an old version is available. The installation will fail the first time, don’t panic, it’s normal. We need to reduce the number of connections by worker and how the master/worker processes are handled.
echo 'Acquire::Check-Valid-Until "false";'> /etc/apt/apt.conf.d/99ignore-valid-until echo "deb [trusted=yes] https://snapshot.debian.org/archive/debian/20160603T183104Z/ sid main" > /etc/apt/sources.list.d/snapshot.list apt update apt install -y nginx-full=1.10.1-1 nginx-common=1.10.1-1 libnginx-mod-http-geoip=1.10.1-1 libnginx-mod-http-image-filter=1.10.1-1 libnginx-mod-http-xslt-filter=1.10.1-1 libnginx-mod-mail=1.10.1-1 libnginx-mod-stream=1.10.1-1 libnginx-mod-http-auth-pam=1.10.1-1 sed -i 's/worker_connections 768;/worker_connections 256;/g' /etc/nginx/nginx.conf echo 'master_process off;' > /etc/nginx/modules-available/master-process.conf ln -s /etc/nginx/modules-available/master-process.conf /etc/nginx/modules-enabled/master-process.conf dpkg --configure -a
We are now able to install three different HTTP servers on GNU-Hurd. I recommend you to avoid Nginx since its version is really old. In most of the cases Apache will do the job and you can use lighttpd if you need something lighter.