I am running into some sort of issue when trying to access my local website:
Forbidden You don't have permission to access /index.html on this server. Apache Server at ffghost.local Port 34580
I'm using macOS X Server 5.2 with Apache 2.4.18. OS X Server automatically creates two default websites (one on port 80 and one on port 443). I created a new website. It was my understanding that Apache would redirect from the default site to the created site automatically once created. This didn't happen. So, in an attempt to begin de-conflicting I replaced the files where the default site was located with the new website files and all of the sudden am getting the above 404 message.
I have read a lot of possibilities as to why this may be happening. I've run a syntax checker for Apache in terminal and terminal says syntax is ok. So from there I was going to check into the config files, but there are several, and I just want to know the gist behind them.
There seem to be about 4 file extension types. I don't know what they all mean or if they are active.
- .config (I'm assuming this is the active file)
- .config.prev (I'm assuming this is a previous version or copy of an active config file and is no longer active)
- .config.orig (original file? and is no longer active)
- .config.default (???)
Also, OS X Server and Apache seem to have the same files in two different places and I'm a little confused on which one to change. If I change one of them will it be reflected in the other? Do I need to change both of them? Additionally, I don't have DNS set up and am unsure if that was the original issue of not pulling up the new website over the default site.
You are mixing several aspects in your question which makes it complicated to give a helpful answer. For example, you say you get Forbidden when accessing your site, but later you mention a status 404. The former might be due to configuring a user group being allowed to access the site, while the latter just means Not found.
As to your actual question about the config files:
The file just ending in
.confis the one that is being used.However, the Server app uses a lot of of different config files which might be relevant:
Path
/Library/Server/Web/Config/apache2contains the general config fileshttpd.conf- general Apache configurationhttpd_server_app.conf- more general configuration/Library/Server/Web/Config/apache2/webapps)Path
/Library/Server/Web/Config/apache2/sitescontains config files specific to your websites. They are named something like0000_127.0.0.1_34543_your.domain.name.confwhere34543is the configuration for the https (SSL) port, while35480would indicate the http port. There is also a file like0000_127.0.0.1_34543_.conf(no domain name in the file name) which defines the default site.In addition to these, there are two more configuration file in
/Library/Server/Web/Config/proxywhich configure the proxy services.It is not recommended to manually adjust the config files, except for those in the
sitessubdirectory, because they may get overwritten by the Server app or when updating the Server app.Important: If you change the files manually, you must re-start the Apache server in order to make the changes effective. Use
sudo serveradmin stop/start webto do so.However, I do not know of a detailed documentation of of all these files, so I try to stay on the safe side and possibly not edit the general config files (only those in
sites). I also recommend to write down any manual changes, so they can be reapplied if necessary.Without exactly knowing what you configured in the Server app and which files you changed how, I'm afraid it is impossible to say what might have gone wrong. I recommend to start all over by removing and re-adding the web sites.