155 lines
3.8 KiB
Markdown
Executable File
155 lines
3.8 KiB
Markdown
Executable File
# NINESKELETOR
|
|
|
|
Squelette applicatif symfony
|
|
|
|
## Installation for local dev
|
|
```
|
|
curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.deb.sh' | sudo -E bash
|
|
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
|
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
|
apt-get update
|
|
apt-get install git docker-compose composer symfony-cli php php-xml php-zip php-gd php-curl php-pgsql yarn
|
|
git clone https://forge.cadoles.com/Cadoles/nineskeletor.git
|
|
cd nineskeletor
|
|
symfony server:ca:install
|
|
cp .env .env.local
|
|
```
|
|
Change in .env.local APP_SECRET variabile
|
|
This secret is the init password for admin user
|
|
|
|
Change in .env.local MERCURE_JWT_SECRET variable
|
|
And report this secret in docker-compose.yml MERCURE_PUBLISHER_JWT_KEY and MERCURE_SUBSCRIBER_JWT_KEY
|
|
|
|
And finish with
|
|
```
|
|
bin/reconfigure.sh
|
|
```
|
|
|
|
## Run for local
|
|
|
|
```
|
|
symfony server:start
|
|
```
|
|
|
|
## Installation for apache
|
|
exec installation for local dev except /bin/reconfigure.sh
|
|
|
|
Between
|
|
Change in .env.local APP_WEBURL variable
|
|
For sample
|
|
```
|
|
APP_WEBURL=MyDomaine
|
|
```
|
|
|
|
Change in .env.local MERCURE variable like
|
|
The /hub alias must be the same on Apache configuration ProxyPass and ProxyPassReverse
|
|
```
|
|
MERCURE_URL=http://MyDomaine/hub/.well-known/mercure
|
|
MERCURE_PUBLIC_URL=http://MyDomaine/hub/.well-known/mercure
|
|
```
|
|
|
|
|
|
Create the file docker-compose.override.yml like
|
|
The port 9090 must be the same in the apache configuration ProxyPass and ProxyPassReverse
|
|
```
|
|
version: '3'
|
|
|
|
services:
|
|
mercure:
|
|
ports:
|
|
- "9090:80"
|
|
environment:
|
|
SERVER_NAME: ':80'
|
|
MERCURE_PUBLISHER_JWT_KEY: '!ChangeMe!'
|
|
MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeMe!'
|
|
MERCURE_EXTRA_DIRECTIVES: |
|
|
cors_origins http://MyDomaine
|
|
```
|
|
|
|
And finish with
|
|
```
|
|
bin/reconfigure.sh
|
|
```
|
|
|
|
After install and configure apache
|
|
```
|
|
apt-get install apache libmodapache2
|
|
a2enmod rewrite proxy_http
|
|
service apache2 restart
|
|
```
|
|
|
|
sample apache configuration in /etc/apache2/site-available/000-
|
|
```
|
|
<VirtualHost *:80>
|
|
DocumentRoot /var/www/html/nineskeletor/public
|
|
CustomLog /var/log/apache2/access.log common
|
|
ErrorLog /var/log/apache2/error.log
|
|
|
|
<Directory /var/www/html/nineskeletor/public>
|
|
DirectoryIndex index.php
|
|
|
|
<IfModule mod_negotiation.c>
|
|
Options -MultiViews
|
|
</IfModule>
|
|
|
|
<IfModule mod_rewrite.c>
|
|
RewriteEngine On
|
|
|
|
RewriteCond %{REQUEST_URI}::$0 ^(/.+)/(.*)::\2$
|
|
RewriteRule .* - [E=BASE:%1]
|
|
|
|
RewriteCond %{HTTP:Authorization} .+
|
|
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
|
|
|
|
RewriteCond %{ENV:REDIRECT_STATUS} =""
|
|
RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
|
|
|
|
RewriteCond %{REQUEST_FILENAME} !-f
|
|
RewriteRule ^ %{ENV:BASE}/index.php [L]
|
|
</IfModule>
|
|
|
|
<IfModule !mod_rewrite.c>
|
|
<IfModule mod_alias.c>
|
|
RedirectMatch 307 ^/$ /index.php/
|
|
</IfModule>
|
|
</IfModule>
|
|
</Directory>
|
|
|
|
# For mercure server
|
|
ProxyPass /hub/ http://localhost:9090/
|
|
ProxyPassReverse /hub/ http://localhost:9090/
|
|
|
|
</VirtualHost>
|
|
|
|
<VirtualHost *:1080>
|
|
# For mailer server
|
|
ProxyPass / http://localhost:1080/
|
|
ProxyPassReverse / http://localhost:1080/
|
|
</VirtualHost>
|
|
|
|
```
|
|
|
|
|
|
## Cron Job
|
|
|
|
Make sure the cron job is running all the minute
|
|
You can copy this bin/nineskeletor.cron in your crontab
|
|
```
|
|
cp /var/www/html/nineskeletor/bin/nineskeletor.cron /etc/cron.d/nineskeletor
|
|
```
|
|
|
|
## Messenger worker
|
|
|
|
Make sure the messenger consume the bus
|
|
Needed to send mail
|
|
You can copy this bin/nineskeletor.service in your systemd
|
|
```
|
|
cp /var/www/html/nineskeletor/bin/nineskeletor.service /etc/systemd/system/
|
|
systemctl enable nineskeletor.service
|
|
systemctl start nineskeletor.service
|
|
```
|
|
|
|
|
|
|
|
|