Our own www server is sometimes needed when building webapp, it is also used in internal like in external networks.
Here is as simple recipe for it:
#set proper hostname
hostnamectl set-hostname nasz_hostname
vim /etc/hosts
#add this line to file
ip.address hostname.domain hostname
apt-get install apache2 apache2-doc apache2-utils
#disable default vhost
a2dissite 000-default.conf
#create your own vhost conf
vim /etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html/
ErrorLog /var/www/example.com/logs/error.log
CustomLog /var/www/example.com/logs/access.log combined
</VirtualHost>
mkdir -p /var/www/example.net/public_html
mkdir /var/www/example.net/logs
a2ensite example.com.conf
service apache2 reload
This configuration is proper for local use.
But if your server will be available outside your network then make those also:
vim /etc/apache2/conf-enabled/security.conf #disable server signature ServerSignature Off ServerTokens Prod
vim /etc/apache2/apache2.conf
#disable directory listing and symlinks
<Directory /var/www/>
#Options Indexes FollowSymLinks
Options -Indexes
AllowOverride All
Require all granted
</Directory>
#add security module apt-get install libapache2-modsecurity /etc/init.d/apache2 restart #remamber that you need to proper configure security module, which is not covered here
Next parts:
Linux – Apache Part 2: Enable SSL
Linux – Apache Part 4: MySQL and MariaDB Database