The configuration file of Apache under Linux is /etc/apache2/apache2.conf. Apache will automatically read the configuration information of this file when it starts. Some other configuration files, such as httpd.conf, etc., are included through the Include directive.
There is a sites-enabled directory in apache2.conf, and there is a sites-available directory under /etc/apache2. In fact, this is the real configuration file, and the sites-enabled directory stores Just some symbolic links pointing to files here, you can verify this with ls /etc/apache2/sites-enabled/.
So, if multiple virtual hosts are configured on apache, and the configuration file of each virtual host is placed under sites-available, then it is very convenient to deactivate and enable the virtual host: when in sites When a link to a virtual host configuration file is established under -enabled, it is enabled; if you want to turn off a virtual host, you only need to delete the corresponding link, and there is no need to change the configuration file at all.
sudo cp /etc/apache2/sites-avaliable/000-default.conf , 命名为 test.conf
2. Modify the configuration file: test.conf
<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. ServerName www.test.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html/test/ ErrorLog /var/www/html/test/error.log CustomLog /var/www/html/test/access.log combined <Directory "/var/www/html/test"> Options FollowSymLinks DirectoryIndex index.php index.html index.htm AllowOverride All #注意这个地方的配置,会影响本地目录下的.htaccess的启用 Order deny,allow Allow from All </Directory> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost>
Create a link file:
sudo ln -s /etc/apache2/sites-available/test.conf /etc/apache2/sites-enabled/test.conf
Or: sudo a2ensite test.conf
4. Restart apache server
sudo /etc/init.d/apache2 restart
Modify hosts(/etc/hosts)
// 增加一行 127.0.0.1 www.test.com
You can basically access it normally here!
Attachment: If you still need directory-level URL rewriting support, continue below:
Terminal operation
sudo a2enmod
The program prompts for the module name available for activation, enter :rewrite
Success will prompt
rewrite already load
Modify /etc/apache2/sites-enabled/test.conf (this link points to the site configuration file)
Put the following Change the AllowOverride property to All and save. (We have configured it to All above)
Reload apache
sudo /etc/init.d/apache2 restart
For more Apache related knowledge, please visit the Apache usage tutorial column!
The above is the detailed content of Where is the apache configuration file under linux?. For more information, please follow other related articles on the PHP Chinese website!