148 lines
5.9 KiB
Markdown
Executable File
148 lines
5.9 KiB
Markdown
Executable File
---
|
|
title: "New page"
|
|
language: "en"
|
|
previous: "index.html"
|
|
---
|
|
|
|
## Sentinel EPRO
|
|
|
|
### System Information
|
|
PHP Version: 8.0
|
|
Node Version: 16.20.2
|
|
Laravel Version: 8.X
|
|
|
|
# Main Development AS400
|
|
Development URL: http://164.39.2.139:10011/
|
|
Server Path: /www/ADC8/htdocs/epro2/
|
|
branch: develop
|
|
|
|
# Custom Development AS400 ( Malak's Work )
|
|
Development URL: http://164.39.2.139:10008/login
|
|
Server Path: /www/epro/htdocs/epro2
|
|
branch: master
|
|
|
|
### Git Branch Structure
|
|
1. MPBA Server /develop
|
|
2. MediaDev /stage
|
|
3. MediaUat /qa
|
|
4. Production /master
|
|
|
|
Other possible branch names are:
|
|
production
|
|
main
|
|
staging
|
|
*** it is to developers to adopt these as needed.
|
|
|
|
|
|
The Application does not currently use redis nor memcached and has no reliance upon these caching
|
|
servers.
|
|
|
|
### Important files
|
|
There are few important files that change from host to host, these are contained in the provision directory
|
|
and should be kept upto date with their respective target hosts
|
|
the Keepass file will contain urls and credentials for the various hosts systems.
|
|
|
|
|
|
### Local Development
|
|
|
|
There are several alternatives when it comes to local development of web application
|
|
development, One can use vagrant, Laravel Valet or MAMP LAMP etc,one of the best development systems is
|
|
docker, this builds containers for the various components and is available
|
|
on all major platforms.
|
|
|
|
The first thing to do on your development machine is to install docker and docker desktop along with support for
|
|
docker composer.
|
|
|
|
#### Image Storage
|
|
When running docker the php artisan storage:link does not resolve to the correct path
|
|
to overcome this issue do a docker ps and find the container ID
|
|
```
|
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
1dd8f887cebb sail-8.1/app "start-container" 19 hours ago Up 15 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:5173->5173/tcp, :::5173->5173/tcp, 8000/tcp epro2-sentinal-1
|
|
4d60252a7927 mailhog/mailhog "MailHog" 3 days ago Up 15 minutes 0.0.0.0:1025->1025/tcp, :::1025->1025/tcp, 0.0.0.0:8025->8025/tcp, :::8025->8025/tcp mailhog
|
|
```
|
|
these execute
|
|
```
|
|
docker exec -it 1dd8f887cebb /bin/sh
|
|
```
|
|
navigate to public and remove the storage link, then execute
|
|
``` ln -s ../storage/app/public storage ```
|
|
|
|
this will link the storage folder correctly
|
|
and do not run storage link as this wil use the UPLOAD_DIR flag from the .env file that will contain the an incorrect
|
|
path
|
|
|
|
On AS400 hosts this is normally /tmp/quotations and storage link does work properly
|
|
|
|
#### SSL Self Signed Certificates
|
|
to import your local self signed certs into chrome got to settings then setting privacy and security then
|
|
Authorities click import and navigate to the .valet directory then CA then import .valet/CA/LaravelValetCASelfSigned.pem
|
|
accepting all the options and then restart chrome, you local site is now using SSL.
|
|
|
|
|
|
#### Introduction
|
|
|
|
Laravel Sail is a light-weight command-line interface for interacting with Laravel's default Docker
|
|
development environment. Sail provides a great starting point for building a Laravel application using PHP, MySQL, and Redis without requiring prior Docker experience.
|
|
You can also use laravel valet ( see below)
|
|
|
|
At its heart, Sail is the docker-compose.yml file and the sail script that is stored at the root of your project. The sail script provides a CLI with convenient methods for interacting with the Docker containers defined by the docker-compose.yml file.
|
|
|
|
Laravel Sail is supported on macOS, Linux, and Windows (via WSL2).
|
|
|
|
#### Initial Installation
|
|
Laravel Sail is automatically installed with all new Laravel applications so you may start using it
|
|
immediately. To learn how to create a new Laravel application, please consult Laravel's installation
|
|
documentation for your operating system.
|
|
During installation, you will be asked to choose which Sail supported services your application will be
|
|
interacting with.
|
|
|
|
To install Laravel sail use ``` composer require --dev laravel\sail```
|
|
|
|
|
|
The documentation is available at https://laravel.com/docs/10.x/sail
|
|
|
|
#### Docker Notes
|
|
|
|
Some important docker commands are as follows:
|
|
|
|
NB when running these commands ensure that you have no running instances for example executing sail down.
|
|
|
|
``` docker system prune -a```
|
|
This command will remove the build containers and any downloaded containers, this is useful for saving disk space
|
|
|
|
``` docker volume rm $(docker volume ls -q) ```
|
|
Used to delete any of the volumes created, this is where the database is stored etc again great for cleaning up
|
|
and saving disk space.
|
|
|
|
``` sail build --no-cache ```
|
|
this is perfect for rebuilding your containers
|
|
|
|
### Linux ODBC Installs
|
|
The ODBC drivers for linux can present a challenge and its important to
|
|
install IBM Client Access for Linux, this includes the CLI drivers for many linux distributions
|
|
The database.php in the config directory is the place to set the
|
|
drivers and the DSN one also add a specific config file if needed.
|
|
|
|
We have set credentials in the env file to suite, typically to aid switching between databases
|
|
we recommend using the same db credentials as 192.168.0.81 ( MPBA AS400 Host)
|
|
|
|
|
|
'odbc_local' => [
|
|
'driver' => 'odbc',
|
|
'odbc_driver' => '/opt/ibm/iaccess/lib64/libcwbodbc.so',
|
|
'host' => env('DB_HOST', 'localhost'),
|
|
'database' => env('DB_DATABASE'),
|
|
'username' => env('DB_USERNAME'),
|
|
'password' => env('DB_PASSWORD'),
|
|
'dsn' => 'Driver={IBM i Access ODBC Driver 64-bit};System=192.168.0.81;AlwaysCalculateResultLength=1;CCSID=1208;NAM=1;DBQ=,'.env('DBQ'),
|
|
'options' => [
|
|
PDO::ATTR_CASE => PDO::CASE_NATURAL, // PDO::CASE_UPPER PDO::CASE_LOWER PDO::CASE_NATURAL
|
|
//PDO::ATTR_AUTOCOMMIT => false
|
|
],WARN - #c.j.p.b.d.BladeDebugPathMapper
|
|
|
|
DB2 on docker is presenting more of a challenge as none of the current
|
|
ODBC drivers see to work as expected.
|
|
|
|
#### Laravel Valet Usage Guidelines
|