Setting Up an Apache Virtual Host for Your WordPress Subdomain: A Step-by-Step Guide
If you're using Apache as your web server and hosting a WordPress site, setting up a subdomain with the right configurations can streamline the process. In this article, I'll walk you through setting up an Apache Virtual Host for a WordPress site on a domain, using yourwebsite.com as an example.
Step 1: Enable Apache Modules
The first step in our setup is to ensure that Apache’s rewrite module is enabled. This module is essential for WordPress to function correctly, especially when it comes to permalinks and URL rewriting.
To enable the rewrite module and restart Apache, run the following commands:
sudo a2enmod rewrite
sudo systemctl restart apache2
Step 2: Create the Virtual Host Configuration
Now that the necessary module is enabled, we need to create a configuration file for the subdomain betterlife.deienami.com.
First, navigate to the Apache sites-available directory and create a new configuration file:
sudo nano /etc/apache2/sites-available/yourwebsite.com.conf
Next, add the following configuration details to the file:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName yourwebsite.com
DocumentRoot /var/www/html/yourwebsite
DirectoryIndex index.php index.html index.htm
<Directory /var/www/html/yourwebsite>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/yourwebsite_error.log
CustomLog ${APACHE_LOG_DIR}/yourwebsite_access.log combined
</VirtualHost>
Key points:
领英推荐
Step 3: Enable the Subdomain
Once the configuration file is ready, the next step is to enable the site using the following command:
sudo a2ensite yourwebsite.com.conf
sudo systemctl reload apache2
This will activate the subdomain and reload Apache to apply the changes.
Step 4: Set Correct File Permissions
For WordPress to function properly, we need to ensure that Apache has the correct permissions to access the files in the WordPress directory.
To set the right ownership and permissions, run:
sudo chown -R www-data:www-data /var/www/html/yourwebsite
sudo chmod -R 755 /var/www/html/yourwebsite
This will give Apache the necessary access while maintaining security best practices.
Step 6: Final Checks and Restart
Once everything is set up, it’s a good idea to restart Apache to ensure that all configurations are applied properly:
sudo systemctl restart apache2
At this point, your domain yourwebsite.com should be up and running, with Apache serving your WordPress site securely.
Note: You will have to point your domain to the above server ip to make it work.