Server configuration files and bash scripts for managing a virtual host server.
Go to file
Matthew Saunders Brown f20bd3b14e fix fpmmax var name 2024-05-16 11:15:17 -07:00
bin fix fpmmax var name 2024-05-16 11:15:17 -07:00
etc add new etc/apache2/sites-available/001-default-ssl.conf 2024-03-26 13:42:03 -07:00
html add phpMyAdmin config file 2022-07-19 12:55:42 -07:00
libexec change license from MIT to GPL 3.0+ 2022-08-22 13:22:16 -07:00
sbin change license from MIT to GPL 3.0+ 2022-08-22 13:22:16 -07:00
systemd rework systemd stuff - missed one file in previous update 2023-12-21 11:19:18 -08:00
COPYING change license from MIT to GPL 3.0+ 2022-08-22 13:22:16 -07:00
README.md add general description, and info about default index page 2024-04-11 13:17:26 -07:00
install.sh fix path to le cert 2024-04-03 15:21:53 -07:00
update.sh rework systemd stuff 2023-12-20 10:07:20 -08:00

README.md

Vhost Stack

This package installs & configures the Apache web server for hosting multiple websites on a server.

Requirements

A minimal Ubuntu 22.04 server install. It is recommended to first install base-stack which will configure a basic server set up including firewald & fail2ban to secure the server: https://git.stack-source.com/msb/base-stack

Install

cd /usr/local/src/
git clone https://git.stack-source.com/msb/vhost-stack.git
cd vhost-stack
bash install.sh

Apache mod_macro gets configured with a ServerAlias for a subdomain of the domain name of this server. The idea is to have development hostnames that you can use before updating DNS when migrating existing sites. Check the ServerAlias configs in /etc/apache2/mods-available/macro.conf to make sure they are using the domain you wish, and optionally change or comment out the subdomain ServerAlias settings.

The default website page is /srv/www/html/index.html. You can edit this page to suit your needs. This default page is displayed for any domain that points to the server, but has not been enabled as it's own VirtualHost yet.

Let's Encrypt

For integrated Let's Encrypt certificate configuration install Let's Encrypt Tools: https://git.stack-source.com/msb/letsencrypt-tools

WordPress

If you will be installing WordPress sites then install WordPress Tools: https://git.stack-source.com/msb/wordpress-tools

Mail Server

For an integrated and full featured mail server configuration it's recommended to install vmail-stack: https://git.stack-source.com/msb/vmail-stack If you just want a minimal smtp mail server for getting automated emails (cron, website contact forms, etc.) off the server you can install and configure exim4-daemon-light with the commands below. Note if you started with base-stack this has already been done.

apt -y install exim4-daemon-light mailutils
sed -i "s|dc_eximconfig_configtype='local'|dc_eximconfig_configtype='internet'|g" /etc/exim4/update-exim4.conf.conf
/usr/sbin/update-exim4.conf
systemctl restart exim4
echo "user@example.com" > /root/.forward

License

Copyright (c) 2022 Matthew Saunders Brown matthewsaundersbrown@gmail.com
GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)