Cómo Configurar un VirtualHost en Apache para un Proyecto CodeIgniter
En este tutorial, aprenderás a configurar un VirtualHost en Apache para tu proyecto de CodeIgniter. Un VirtualHost te permite acceder a tu proyecto a través de un dominio personalizado en lugar de usar la dirección IP o una ruta larga. Sigue estos pasos:
Paso 1: Crear proyecto de CodeIgniter 4 usando composer
En este paso se debe tener en cuenta que se debe contar con los permisos necesarios para la creación de nuestro proyecto dentro del directorio /var/www/ en ubuntu,debian o en alguna de las distribuciones derivadas de estas.
le asignaremos los permisos necesarios de la siguiente forma
Asignar a nuestro usuario como propietario del directorio /var/www/
sudo chown grupodelusuario:usuario -R /var/www
con este comando se le asigna al usuario ser el propietario del directorio,hay que remplazar el grupodelusuario por el grupo al que pertenece el usuario con el que se esta trabajando y remplazar usuario por el nombre de nuestro usuario.
Asignar permisos de escritura y lectura a el directorio /var/www
sudo chmod 755 /var/www/
de esta manera le asignamos los permisos a el propietario de escritura y lectura,mientras que los demás usuarios solo puede ver los archivos nada mas.
Crear el proyecto de CodeIgniter 4 usando composer
para eso solo basta que nos dirijamos desde la terminal hasta el directorio /var/www y ejecutamos el siguiente comando.
composer create-project codeigniter4/appstarter miproyecto
de esta manera ya tenemos instalado y creado nuestro proyecto de CodeIgniter 4 en nuestro servidor.pero no podemos probar aun ya que debemos configurar nuestro virtual host.
Paso dos:Crear el archivo de configuración del VirtualHost
para este paso debemos crear un archivo de configuración en el directorio /etc/apache2/sites-available y lo llamaremos mi_proyecto.conf.
Nos dirigimos al directorio de configuración de apache
cd /etc/apache2/sites-available/
Creamos el archivo mi_proyecto.conf,podemos utilizar el editor de nuestra preferencia,podemos remplazar nano por vim,emacs,gedit,xed,featherpad o el editor de nuestra preferencia
sudo nano mi_proyecto.conf
Añade lo siguiente al archivo configuración que estamos creando :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName mi_proyecto.local
DocumentRoot /var/www/miproyecto/public
<Directory /var/www/miproyecto/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Paso 3: Modificar el archivo host:
Modificando el archivo host permitiremos que nuestro dominio personalizado apunte a nuestro servidor local,de esta manera cuando ingresemos mi_proyecto.local en nuestro navegador apuntara a nuestro proyecto.
nos dirigimos al el directorio /etc/
cd /etc/
abrimos el archivo hosts
sudo nano hosts
añadimos la siguiente linea a nuestro archivo hosts
127.0.0.1 mi_proyecto.local
Paso 4: Habilitar el nuevo VirtualHost:
Para habilitar nuestro nuevo virtualhost debemos ejecutar el siguiente comando .
sudo a2ensite mi_proyecto.conf
Ahora que ya habilitamos nuestro nuevo host solo basta con reiniciar nuestro servidor apache.
sudo systemctl restart apache2
Paso 5: Comprobar el correcto funcionamiento de nuestro VirtualHost
para ello hay que asignarle permisos de escritura y lectura a la carpeta /writable de nuestro proyecto,para ello ejecutamos los siguientes comandos
Asignamos a www-data como propietario del directorio writable de nuestro proyecto
sudo chown www-data:www-data /var/www/miproyecto/writable
le asignamos los permisos correspondientes
sudo chmod 755 /var/www/miproyecto/writable/
Ahora en nuestro navegador colocamos la siguiente url
http://mi_proyecto.local/
tendremos que obtener lo siguiente en nuestro navegador
