DrewRobertson93 DrewRobertson93 - 1 month ago 12
Apache Configuration Question

Configure Apache to run website off of port-enabled IP address

To be perfectly honest, I'm not even sure if this is doable...

I've configured my vhosts file in /etc/apache2/sites-enabled which you can see here:

<VirtualHost 159.203.171.140:8080>
ServerAdmin webmaster@localhost
ServerName 159.203.171.140:8080
DocumentRoot "/home/wiki/public_html"

DirectoryIndex index.php index.html

<Directory "/home/wiki/public_html">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/wiki_error.log
CustomLog ${APACHE_LOG_DIR}/wiki_access.log combined
</VirtualHost>


for a digitalocean droplet given at the IP listed in the above hosts file. This droplet has absolutely nothing on it except for the wiki user in /home/ plus the required php, mysql/mariadb, apache stuff.

What I want to be able to do is to go to 159.203.171.140:8080 and see my site without having to purchase a useless domain name.

I'd really appreciate some help with this one.

Answer

If you have only one website on the droplet, then you don't need to set up a virtual host. You can use the 000-default.conf, no need for a2ensite.

You do not need the ServerName, which won't work with the IP as a name, you also don't need the IP address in the VirtualHost directive.

So, instead of this:

<VirtualHost 159.203.171.140:8080>
    ServerAdmin webmaster@localhost
    ServerName 159.203.171.140:8080
    DocumentRoot "/home/wiki/public_html"
    ...

You can use this in your 000-default.conf file

<VirtualHost *:8080>
     DocumentRoot "/home/wiki/public_html"
     ...

The rest of the directive stays as you have it.

Also, one note, if you are using port 8080, then you need go to /etc/apache2/ports.conf and set the Listen to 8080 (restart Apache after doing this).

Comments