Docker - CodeIgniter 3.1.13 (PHP 7.4) - MariaDB - Elasticsearch 7.17.3
- En la ruta
docker/php
se encuentra el archivoinit.sh
donde se asigna permisos a la carpetacache
- Se agrega el archivo
.htaccess
donde se coloca regla para omitir elindex.php
de las url's - Se modifica el archivo
application/config/config.php
para permitir tener una url base en['base_url']
, omitir elindex.php
en las url's en['index_page']
y permitir cargar la carpetavendor
en['composer_autoload']
- Se modifica el archivo
application/config/config.php
para guardar las sesiones, esto en la variable['sess_save_path']
; - Se modifica el archivo
application/config/autoload.php
para agregar el helperurl
en['helper']
- Se modifica el archivo
application/config/autoload.php
para agregar las libreríassession
yform_validation
en['libraries']
- Se modifica el archivo
application/config/constants.php
para agregar el host de elasticsearch en la variableHOST_ELASTICSEARCH
defined('HOST_ELASTICSEARCH') OR define('HOST_ELASTICSEARCH', 'http://13.24.22.20:9200');
-
Se modifica el archivo
application/config/database.php
donde se agrega las credenciales para conectarse a la BD -
Antes de iniciar docker ejecutar desde consola el siguiente comando para que el contenedor de elasticsearch pueda iniciar (referencia):
sudo sysctl -w vm.max_map_count=262144
- Para la primera vez que se inicia el proyecto con docker o se cambie los archivos de docker ejecutar:
sudo docker-compose up --build -d
- En las siguientes oportunidades ejecutar:
Para iniciar:
sudo docker-compose start
Para detener:
sudo docker-compose stop
- Para ingresar al contenedor ejecutar:
sudo docker-compose exec webserver bash
- Instalar las dependencias con composer, para ello, dentro del contenedor con php ejecutar:
composer install
- Para ver el proyecto desde un navegador:
Sin virtualhost:
http://localhost:8483
Con virtualhost:
Si se usa Linux, agregar en /etc/hosts de la pc host la siguiente linea:
13.24.22.19 local.elasticsearch.com
- Luego de iniciar docker, loguearse en contenedor con mariadb y luego cargar la data del archivo
docker/my_db.sql
en la BDmy_db
conSOURCE <ruta_de_my_db.sql>
mysql -u root -p -h 13.24.22.18
3*DB6ci9
use my_db;
SOURCE /var/www/html/ci_elasticsearch/docker/my_db.sql
- Luego de iniciar el contenedor con php (webserver) y luego de cargar la data del archivo
docker/my_db.sql
en la BDmy_db
, ingresar al contenedor de php y dentro ejecutar los siguientes comandos para crear el índicees_articles
y agregarle datos a este índice:
php index.php cron/es_articles create_index_es_articles
php index.php cron/es_articles add_documents_index_es_articles
http://localhost:8483
http://localhost:8483/home/create
http://localhost:8483/home/search
http://localhost:8483/home/edit/{id}
http://localhost:8483/home/delete/{id}