In this guide, we’ll walk you through the process of adding custom directories to your Apache webserver. This can be useful in a variety of scenarios, such as when you want to organize your website’s files in a specific way, or when you need to make a directory accessible via a specific URL.
To add custom directories to your Apache webserver, you can use either an Alias directive in the Apache config file or create a symbolic link. The Alias directive allows you to map specific URLs to directories on your server, while a symbolic link creates a reference to a directory, making it accessible via a specific URL. Both methods are effective and relatively straightforward for customizing your webserver.
Understanding Apache Webserver
Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation, Apache is an open-source software available for free. It runs on 67% of all webservers in the world. It is fast, reliable, and secure. It can be highly customized to meet the needs of many different environments by using extensions and modules.
Adding Custom Directories to Apache
There are two primary methods for adding custom directories to your Apache webserver:
- Using an Alias Directive in the Apache Config File
- Creating a Symbolic Link
Let’s dive into each method in more detail.
Method 1: Using an Alias Directive in the Apache Config File
The Apache config file is a powerful tool that allows you to control the behavior of your webserver. One of its features is the Alias directive, which allows you to map certain URLs to specific directories on your server.
Here’s how you can use it:
- Open your Apache config file in a text editor. This file is usually located at
- Add an Alias directive to the file. Here’s an example:
Alias /myportal1/ "/media/my/web/portal1/"
Allow from all
Require all granted
In this example, the URL
/myportal1/ maps to the directory
/media/my/web/portal1/ on your server. The
<Directory> block specifies the permissions for this directory.
Order allow,deny and
Allow from all are directives that allow anyone to access this directory, while
Require all granted is a directive that grants access to this directory to everyone.
- Save the changes and restart Apache. You can do this by running the following command in your terminal:
sudo /etc/init.d/apache2 restart
Method 2: Creating a Symbolic Link
A symbolic link is a type of file that serves as a reference to another file or directory. You can use symbolic links to make a directory accessible via a specific URL without having to modify your Apache config file.
Here’s how you can create a symbolic link:
- Open your terminal.
- Run the following command:
sudo ln -s /media/my/web/portal1 /var/www/myportal1
In this command,
ln -s creates a symbolic link.
/media/my/web/portal1 is the directory you want to link, and
/var/www/myportal1 is the location of the symbolic link. This means that the directory will be accessible at
Adding custom directories to your Apache webserver can help you better organize your files and make specific directories accessible via certain URLs. Whether you choose to use an Alias directive in your Apache config file or create a symbolic link, both methods are effective and relatively straightforward.
Remember to ensure that Apache has the necessary permissions to access the directory and its files. You can do this by modifying the permissions of the directory or by configuring the appropriate directives in your Apache config file.
We hope this guide has been helpful. If you have any questions or run into any issues, don’t hesitate to reach out. Happy web serving!
The Apache config file is a file that allows you to configure the behavior of your Apache webserver. It is usually located at
You can open the Apache config file using a text editor. For example, you can use the command
sudo nano /etc/apache2/sites-available/default to open the file in the nano text editor.
The Alias directive in the Apache config file allows you to map specific URLs to directories on your server. This allows you to create custom URLs for accessing specific directories.
After making changes to the Apache config file, you can save the changes by pressing
Ctrl + X, then
Y to confirm, and finally
Enter to save the file in the nano text editor.
You can restart Apache by running the command
sudo /etc/init.d/apache2 restart in your terminal. This will apply the changes made to the config file.
A symbolic link is a type of file that serves as a reference to another file or directory. It allows you to create a shortcut to a directory or file, making it accessible via a different path.
To create a symbolic link, you can use the
ln -s command followed by the path of the directory or file you want to link, and the desired location and name of the symbolic link. For example,
sudo ln -s /media/my/web/portal1 /var/www/myportal1 creates a symbolic link named
myportal1 that points to the directory
You can check the permissions of a directory by using the
ls -l command followed by the path of the directory. This will display the permissions for the directory and its contents.
To modify the permissions of a directory, you can use the
chmod command followed by the desired permissions and the path of the directory. For example,
sudo chmod 755 /media/my/web/portal1 sets the permissions of the directory
/media/my/web/portal1 to read, write, and execute for the owner, and read and execute for others.
In the Apache config file, you can use directives such as
Require to configure permissions for specific directories. For example,
Order allow,deny and
Allow from all allow anyone to access a directory, while
Require all granted grants access to everyone.