correct apache2 virtual host config

Posted June 30, 2017 3.7k views
UbuntuApacheLet's Encrypt

I was a dummy and started making changes to the 000-default-ls-ssl.conf file without a back up.

Here is what I think the file should be with the actual domain name changed to

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        <Directory /var/www/html/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted

SSLCertificateFile /etc/letsencrypt/live/ 
SSLCertificateKeyFile /etc/letsencrypt/live/ 
Include /etc/letsencrypt/options-ssl-apache.conf 

If I run apachectl -t as a not root user with SUDO it says that there is a snytax error in the line with the SSLCertifcateFile. It also says that the fullchain.pem file does not exist.

But if I run the same command as root it says syntax is ok?

1st is the config ok?
2nd should the sudo user and root test the config the same?

One last question. I have been reading that it is better to place the items that are normally in the hraccess file in the apache conf since it makes apache faster???? What does the experts on here think?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
2 answers


The non-root user does not have permissions to read some of the files included in your configuration, that is why it gives an error.

The .htaccess file is read on every single request which causes bad performance while configuration is only read when server starts or is reloaded that is why it is better to put the config options in the configuration file especially for production environments.

Hope this helps.

Thanks, that is what I thought was going on but wanted to check.