skip to Main Content

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


  1. Chosen as BEST ANSWER

    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.

    Listen 81
    
    <VirtualHost *:81>
    
            ServerAdmin webmaster@localhost
            DocumentRoot /srv/wordpress
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    

    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

    # <Directory /srv/>
    #        Options Indexes FollowSymLinks
    #        AllowOverride None
    #        Require all granted
    # </Directory>
    
    

    Changed to

    <Directory /srv/>
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
    </Directory>
    

    Again I reload the Apache server. Finally, it works properly.


  2. 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&quot; ( 80 HTTP port by default ) it is absolutely normal behavior to see a redirection occur when you attempt to visit "http://localhost:81&quot;.

    Please try adding ":81" at the end of your WordPress URL and see how it goes.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search