I made a REST api, using Laravel , for an application I am doing, to perform the requisition tests I created a VM where the api is.
Assign a fixed ip to this VM and deactivate the firewall to avoid disturbing.
I configured this way:
In /etc/apache2/sites-enabled/000-default.conf
:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName api.dev
DocumentRoot /var/www/html/apiTeste/public
</VirtualHost>
<Directory "/var/www/html/apiTeste">
AllowOverride All
</Directory>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
In /etc/hosts
:
127.0.0.1 localhost
127.0.1.1 ouvidoria
127.0.0.1 api.dev
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Testing within the VM itself, if using http://api.dev
this returns the Laravel home page, but using http://api.dev/api/unidades
this returns a 404 Not Found
:
Not Found
The requested URL /api/unidades was not found on this server.
Apache/2.4.25 (Ubuntu) Server at api.dev Port 80
But if you drag the php artisan serve
and access http://api.dev:8000/api/unidades
it returns the data correctly.