Mohammed Abdel Sattar

 The Alias directive is used to map between URLs and filesystem paths.

 This allows content which is not directly under the DocumentRoot to serve as part of the web document tree.

  • How to make an Alias in Linux:

Edit your Apache config file and add an Alias Directive. For example, let's use the default file.

sudo -e /etc/apache2/sites-enabled/000-default

-e => any editor you use.

Make your alias by adding a section within the VirtualHost directive:

Alias /customers/ "/CUSTOMERS_PATH/"

<Directory "/CUSTOMERS_PATH/">

    Order allow,deny

    Allowoverride all

    Allow from all


Save and restart:

sudo /etc/init.d/apache2 restart

  • How to make an Alias in windows:
  1. Using the interface:

Left-click the system tray icon and then go to Apache | Alias Directories | Add an Alias (Figure A).

A command prompt window will open prompting you to create the alias for the URL (Figure B).

Figure A

Figure B

Type the name of the alias; this will be what is added onto the http://domain_name/ address

(e.g., http://localhost/customers).

Enter the location of the folder that will house the pages for this site. Keeping with our example, type D:\CUSTOMER_DATA\ and then hit Enter.

The alias is now set up -- according to WAMP -- but it doesn't work. The GUI tool isn't good at creating the alias configuration. Never fear, it's a breeze to resolve.

  1. Editing the file

When you create the alias using the WAMP interface, it will create the necessary file in the correct location. The problem is the file's content. What WAMP creates looks like this, which will be all on one line:

Alias /CUSTOMERS/ “D:\CUSTOMER_DATA” <Directory “D:\CUSTOMER_DATA/”> Options Indexes FollowSymLinux MultiViews AllowOverride all order allow, deny  Allow from all</Directory>

The file should look like this:


<Directory "D:/CUSTOMER_DATA">

     Options Indexes FollowSymLinks ExecCGI

     AllowOverride all

     Order Deny, Allow

     Allow from all


To edit that file, follow these steps:

1. Left-click the WAMP icon in the system tray.

2. Go to Apache | Alias Directories | ALIAS_NAME | Edit Alias (ALIAS_NAME is the name of the alias you just created).

3. In the newly opened Notepad window, edit the configuration file to reflect the above contents and save it.

4. Edit the configuration file to best fit your needs (according to the Apache specifications).

After you save the file, restart the WAMP server, and you should be able to point your browser to http://localhost/CUSTOMERS. (Of course, you'll need content within the D:\CUSTOMER_DATA directory.) If you get an error, check to make sure the alias directory's permissions allow the server to read the contents; this will be dictated by a number of issues, such as whether the server resides on a Windows domain.



Software industry is the most changing industry ever you can join. Every single morning new technologies appear that replace old ones. If you are working in, you know you have to be updated 24/7 to be able to cope with this changing environment.

All these make it so hard to adapt the idea of having a process or work standards. They feel that everything is changing so fast that they don’t need to follow such processes or standards. They think it might slow down their fast lifestyle.

Having processes may be one of the most valuable assets any SW firm may have, as it lays the guidelines to such dynamic industry which are very helpful to guide your employees as everything else is changing around them!!!

Process will be the contour for work flexibility; it will not slow down your fast lifestyle, but it will not let it disturb you. It will put everything in its order and time. It will help you control the SW projects and won't let SW projects control your life.

The word “Flexibility” plays a key role here; the team has to apply, enhance, and tailor their own process as this will make it easier. Quality person has to know they should be flexible with process tailoring respecting the core of the process. 

Final Advise: Invest more and more time enhancing your process as this will directly reflect on your daily work.

Mohamed Osman

SQL was created to give relational databases a way to store data and communicate. Relational databases were not designed to manage the scale and agility challenges.

NoSQL in contrast, refers to a newer type of non-relational databases which do not use SQL and are gaining popularity. NoSQL cover a wide variety of different database technologies.

What are these differences?

The relationships and tables that make up SQL databases can be, for large organizations, in millions. Combine this with millions of users doing lookups in these tables, and the system can suffer major performance issues. These data types, which can contain objects, lists, and other data types themselves, do not map well to tables consisting of only rows and columns.


Database Types

  • NoSQL
  1. Document databases: may contain XML, JSON, binary forms like PDF, MS documents eg Elastic Search.
  2. Key-value stores: allow the application to store its data in a schema-less way eg Memcache.
  3. Graph stores: relations are well represented as a graph eg neo4j.
  4. Wide-column: store columns of data together, instead of rows eg Cassandra
  • SQL


    1. MySQL and Oracle are examples.

Data Storage

  • NoSQL: Based on database type
  • SQL: Rows in table and each column storing specific data type (varchar, integer, Boolean, etc...).


  • NoSQL: Dynamic, there is no predefined schema, which means records can be added with new data at runtime which make development goes faster and less database administration time.
  • SQL: Data types are fixed and can’t fit with agile development because whenever you finish a complete feature you need to change your database schema “first you’ll add columns to the database and then update to new schema”. For large databases, this means slow processes and significant downtime.


  • NoSQL: Horizontally database administration can add more servers or cloud instances and database automatically spreads data across servers.
  • SQL: Vertically; increase server power to increase transaction process.


  • NoSQL: Object oriented APIs.
  • SQL: Standard SQL queries.


SQL and NoSQL systems can both perform well when managed by competent administrators, but the best choice will depend on how it will be used and the skills of the people who will be using it.