Configuracion vhost ubuntu/centos
Crear un vhost para este directorio en apache, directorio de configuración de vhost normalmente ubicado en
- /etc/apache2/sites-available/
En este directorio debe crear un archivo con el nombre de su dominio
- /etc/apache2/sites-available/YOURDOMAIN.COM.conf
Este archivo debe contar con un contenido similar a este:
Vhost Ubuntu
```
ServerName YOURDOMAIN.COM
ServerAlias www.YOURDOMAIN.COM
DocumentRoot /var/www/html/xxxxx-xxxxx-xxxxx-xxxxx-xxxxx/web
DirectoryIndex app.php index.html
<Directory /var/www/html/xxxxx-xxxxx-xxxxx-xxxxx-xxxxx/web>
AllowOverride None
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/YOURDOMAIN.COM-error.log
CustomLog ${APACHE_LOG_DIR}/YOURDOMAIN.COM-access.log combined
</VirtualHost>```
Luego de crear el archivo y guardar deberá activar el módulo rewrite
- a2enmod rewrite
Reinicie apache siendo el usuario root
- service apache2 restart
Vhost Centos
```
ServerName YOURDOMAIN.COM
ServerAlias www.YOURDOMAIN.COM
DocumentRoot /var/www/html/xxxxx-xxxxx-xxxxx-xxxxx-xxxxx/web
DirectoryIndex app.php index.html
<Directory /var/www/html/xxxxx-xxxxx-xxxxx-xxxxx-xxxxx/web>
AllowOverride None
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
</VirtualHost>```
Para modificar el archivo, puede usar herramientas como vi o nano.
NOTA: Recuede cambiar “YOURDOMAIN.COM” Y “xxxxx-xxxxx-xxxxx-xxxxx-xxxxx” con los valores correspondientes, su dominio y el nombre del directorio que se ha descomprimido en un paso anterior. Además el dominio debe estar apuntando a la ip de su VPS, esto lo puede hacer desde su administrador de dominio, ejemplo de administrador de dominio: godaddy
Luego de crear el archivo y guardar deberá activar el módulo rewrite
Primero, escriba lo siguiente en su terminal ssh:
- httpd -V
Esto mostrará las siguientes líneas:
- -D HTTPD_ROOT="/etc/httpd"
- -D SERVER_CONFIG_FILE="conf/httpd.conf"
La salida de HTTPD_ROOT y la salida de SERVER_CONFIG_FILE juntas dan la localización del Apache2 httpd.conf. En este caso esta ubicado en:
- /etc/httpd/conf/httpd.conf
El directorio de módulos esta:
- /etc/httpd/modules
Revisamos si mod_rewrite existe como un módulo.
- ls /etc/httpd/modules | grep mod_rewrite
si existe se mostrará lo siguiente, de lo contrario no saldrá nada:
- mod_rewrite.so
Si sale mod_rewrite.so, ya tienes el módulo y solo necesitas cargarlo
Ahora, use el siguiente comando y confirme si mod_rewrite is cargado y activado:
- grep -i LoadModule /etc/httpd/conf/httpd.conf | grep rewrite
Esto mostrará algo como lo siguiente:
- LoadModule rewrite_module modules/mod_rewrite.so
Si se muesta lo anterior, mod_rewrite a sido activado.
Si se muestra lo siguiente, quita el # del principio:
#LoadModule rewrite_module modules/mod_rewrite.so
Reinicie apache
- apachectl restart or:
- /sbin/service httpd restart