I have installed Apache/2.4.4 in my ubuntu 21. I have already had a website in this IP: 172.20.x.y is listening to port 80 i.e the default port. It doesn’t have a domain name yet. I have mentioned its document root below,
DocumentRoot: /var/www/html
I plan to use port 81 to run WordPress on the same machine.
DocumentRoot: /srv/www/wordpress
I tried to update the 000.default.conf file to support that. Below are the codes I changed.
Listen 81
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/htm
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:81>
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/wordpress
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /srv/www/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Require all granted
</Directory>
</VirtualHost>
However, when I access the 172.20.x.y:81, it will redirect to the default port.
Wordpress doesn’t work,
when I disable 000.default.conf and run only WordPress.conf it works fine.
<VirtualHost *:80>
DocumentRoot /srv/www/wordpress
<Directory /srv/www/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Require all granted
</Directory>
<Directory /srv/www/wordpress/wp-content>
Options FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
Can anyone help fix this problem?
2
Answers
I do not know how it works, but it works. I erased all the changes I had made and started doing it all over again. Now I did not touch the 000-default.conf file, I just added the wordpress.conf file and wrote vhost code mentioned below in it.
Let me test the Apache syntax by running the
$apache2ctl configtest
command, it shows syntax ok. Then I reload the apache server by running$service apache2 reload
;Finally, I open 172.20.x.y:81, which says "You do not have permission to access", At which point I uncommnent some parts of code on apache2.conf file at /etc/apache2/. It was like
Changed to
Again I reload the Apache server. Finally, it works properly.
I would recommend checking the Site/Home URL of your WordPress. Make sure to change the Site/Home URLs to match the port, for example, if your URL is currently "http://localhost" ( 80 HTTP port by default ) it is absolutely normal behavior to see a redirection occur when you attempt to visit "http://localhost:81".
Please try adding ":81" at the end of your WordPress URL and see how it goes.