Hi everyone i have to have within the same listen port different projects and logs, example:

<VirtualHost *:80>
        DocumentRoot /home/projects/smk
        ErrorLog /var/log/apache2/smk-error.log

        RedirectMatch ^/$ /cms
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /home/projects/smk/cms
        ErrorLog /var/log/apache2/smk-cms-error.log
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /home/projects/smk/deploy
        ErrorLog /var/log/apache2/smk-deploy-error.log
</VirtualHost>

Solution result

Apache configuration:

NameVirtualHost *:80
Listen 80
<VirtualHost *:80>
        ServerName localhost:80
        DocumentRoot /home/projects/smk
    ErrorLog /var/log/apache2/smk-error.log
</VirtualHost>


<VirtualHost *:80>
        DocumentRoot /home/projects/smk/cms
        ServerName cms.localhost
    ErrorLog /var/log/apache2/smk-cms-error.lo
</VirtualHost>

/etc/hosts configuration:

127.0.0.1       cms.localhost           cms.localhost

Add different ServerName directive in most virtual hosts:

<VirtualHost *:80>
        ServerName dev.localhost
        DocumentRoot /home/projects/smk/cms
        ErrorLog /var/log/apache2/smk-cms-error.log
</VirtualHost>

<VirtualHost *:80>
        ServerName my-project.localhost
        DocumentRoot /home/projects/smk/deploy
        ErrorLog /var/log/apache2/smk-deploy-error.log
</VirtualHost>

Be sure to add host-records for dev.localhost and my-project.localhost in /etc/hosts to 127.0.0.1 or whatever ip you would like it to indicate.