How to Install Foswiki with Apache on Ubuntu 24.04
Installing Foswiki with Apache on Ubuntu 24.04 sets up a powerful wiki for teams to share information and manage projects.
Install Apache2 and necessary Perl modules using `apt`. Download Foswiki, extract it to `/var/www/foswiki`, and set correct file permissions with `chown`. Configure an Apache virtual host in `/etc/apache2/sites-available/foswiki.conf` and enable the site.
Foswiki is an open-source tool built with Perl that helps you create a shared knowledge base. It’s great at mixing plain text with organized data, making it very useful for groups.
This guide focuses on getting Foswiki running smoothly with the Apache web server on Ubuntu 24.04 LTS. This setup ensures your wiki works dependably.
- First, update your package list by running
sudo apt updatein the terminal. - Install the Apache web server with
sudo apt install apache2. - Start Apache using
sudo systemctl start apache2and make sure it runs on startup withsudo systemctl enable apache2. - Install Perl and all the necessary modules for Foswiki using
sudo apt-get install rcs libalgorithm-diff-perl libarchive-tar-perl libauthen-sasl-perl libcgi-pm-perl libcgi-session-perl libcrypt-passwdmd5-perl libdigest-sha-perl libemail-address-xs-perl libemail-mime-perl libencode-perl liberror-perl libfile-copy-recursive-perl libhtml-parser-perl libhtml-tree-perl libio-socket-ip-perl libio-socket-ssl-perl libjson-perl liblocale-codes-perl liblocale-maketext-perl liblocale-maketext-lexicon-perl liblocale-msgfmt-perl libwww-perl liblwp-protocol-https-perl liburi-perl libversion-perl. - Download the latest Foswiki release from GitHub and extract it into the
/var/www/foswikidirectory. - Set the correct permissions for the Foswiki files by running
sudo chown -R www-data:www-data /var/www/foswikiandsudo chmod -R 755 /var/www/foswiki. - Create an Apache virtual host file for Foswiki at
/etc/apache2/sites-available/foswiki.confwith the provided configuration details. - Enable the Foswiki site and necessary Apache modules with
sudo a2ensite foswiki.conf,sudo a2enmod rewrite, andsudo a2enmod cgi, then restart Apache withsudo systemctl restart apache2. - Open your web browser and go to
http://your_server_ip/bin/viewto run the Foswiki setup wizard and complete the installation.
Install Apache HTTP server on Ubuntu
Apache is needed as the web server for Foswiki to function on your Ubuntu system. Open your Ubuntu terminal and run these commands to install Apache.
Open the Ubuntu terminal and run the commands below to install the Apache web server.
sudo apt update
sudo apt install apache2
Once Apache is installed, the commands below can start, stop, and enable the Apache web server to begin automatically when your server boots.
sudo systemctl stop apache2
sudo systemctl start apache2
sudo systemctl enable apache2
Test that the Apache web server is running by opening your web browser and navigating to the server’s localhost or IP address.

Seeing the Apache2 Default Page means the Apache HTTP server, version 2.4.57, has been successfully installed and is operational.
Additional help for installing Apache on Ubuntu is available in the link below.
Install Perl and Related Modules
Foswiki requires Perl to run, so you must install Perl and its related modules on your Ubuntu system. This provides the necessary tools for Foswiki to work correctly after installation.
sudo apt-get install rcs libalgorithm-diff-perl libarchive-tar-perl libauthen-sasl-perl libcgi-pm-perl libcgi-session-perl libcrypt-passwdmd5-perl libdigest-sha-perl libemail-address-xs-perl libemail-mime-perl libencode-perl liberror-perl libfile-copy-recursive-perl libhtml-parser-perl libhtml-tree-perl libio-socket-ip-perl libio-socket-ssl-perl libjson-perl liblocale-codes-perl liblocale-maketext-perl liblocale-maketext-lexicon-perl liblocale-msgfmt-perl libwww-perl liblwp-protocol-https-perl liburi-perl libversion-perl
Download Foswiki files
First, navigate to the `/tmp/` directory and download the Foswiki files. Next, extract the contents into the `Foswiki` folder within Apache's web root directory.
Run the commands below to adjust Apache's root folder permissions, allowing the Foswiki application to function as intended.
cd /tmp
wget https://github.com/foswiki/distro/releases/download/FoswikiRelease02x01x09/Foswiki-2.1.9.zip
unzip Foswiki-*.zip
sudo cp -rf Foswiki-2.1.9 /var/www/foswiki
sudo chown -R www-data:www-data /var/www/foswiki/
If permissions become incorrect, you can use the provided shell script `tools/fix_file_permissions.sh` to correct your installation.
Execute the `configure` script from the Foswiki installation directory to repair the `bin` scripts and confirm proper setup. This script, usually found at `foswiki/bin/configure`, checks file permissions and module dependencies, which helps prevent common issues with version 1.2.5.
cd /var/www/foswiki/tools
sudo -u www-data perl rewriteshebang.pl
When prompted, press 'y' to confirm and apply your changes.
Apache configuration is the next crucial step to serve your Foswiki content effectively. This ensures Foswiki can display its web pages correctly to users.
Run the commands below to create an Apache virtual host file for Foswiki.
sudo nano /etc/apache2/sites-available/foswiki.conf
Then, copy and paste the content block into the Apache server block, which defines how Apache handles requests for your Foswiki site.
<VirtualHost *:80>
ServerName foswiki.example.com
ServerAdmin admin@example.com
DocumentRoot /var/www/foswiki
ScriptAlias /bin /var/www/foswiki/bin
Alias /pub /var/www/foswiki/pub
<Directory /var/www/foswiki/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/foswiki/bin>
Options +ExecCGI -FollowSymLinks
AllowOverride None
SetHandler cgi-script
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Save the file.
Enable the Foswiki virtual host for Apache and restart the server with `sudo a2ensite foswiki.conf` and `sudo systemctl restart apache2`. This makes Foswiki accessible through your web browser.
sudo a2ensite foswiki.conf
sudo a2enmod rewrite
sudo a2enmod cgi
sudo a2enmod access_compat
sudo systemctl restart apache2
Setup Let’s Encrypt SSL/TLS for Foswiki
Secure your Foswiki site with HTTPS by setting up a free SSL/TLS certificate using Let's Encrypt with Apache on Ubuntu. This protects user data and makes your Foswiki installation secure.
Refer to the post below for more information on installing and creating Let’s Encrypt SSL certificates for Apache.
How to set up Let’s Encrypt SSL certificate for Apache on Ubuntu Linux
After restarting the Apache web server, open your browser and navigate to the server hostname or IP address specified in the Apache server block.
http://foswiki.example.com/bin/view
The Foswiki setup wizard should now appear.
Click the configure link to set up the application.

Configure all the necessary settings for your site. Click the Save button located in the upper right corner of the configuration page.
The login section at the top of the left-hand menu should indicate that you are still logged in as a temporary Admin user. Click the "Log Out" link to exit this user.

Your Foswiki installation is now complete. You can start creating and editing Foswiki pages immediately.

Foswiki is ready for use.
Conclusion:
To summarize, installing Foswiki on Ubuntu 24.04 with Apache involves these key steps:
-
- Install Apache: Ensure a stable HTTP server is set up to host Foswiki.
-
- Install Perl and Dependencies: Foswiki is Perl-based, so installing required Perl modules is essential.
-
- Download and Configure Foswiki: Fetch the latest Foswiki package and set it up in the Apache root directory.
-
- Set Permissions: Adjust file permissions for secure interaction between Apache and Foswiki.
-
- Configure Apache: Create a virtual host file to properly route web traffic to the Foswiki installation.
-
- Secure with SSL: Enhance security by implementing an SSL/TLS certificate using Let’s Encrypt.
-
- Complete Installation: Access the Foswiki setup wizard to finalize configurations and start using the platform.
A secure Foswiki installation, achieved by following these steps, ensures your team can effectively collaborate and manage knowledge. This setup is ready for multiple users.
Was this guide helpful?
About the Author
Richard
Tech Writer, IT Professional
Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.
No comments yet — be the first to share your thoughts!