|
|
|
@@ -1,8 +1,170 @@
|
|
|
|
|
# Cagette péi
|
|
|
|
|
CAGETTE PEI
|
|
|
|
|
===========
|
|
|
|
|
|
|
|
|
|
Fourche du logiciel [Cagette.net](https://github.com/CagetteNet) à partir de la version 0.9.2 Novembre 2018
|
|
|
|
|
|
|
|
|
|
Certaines portions du code source de Cagette.net n'étant plus disponibles en téléchargement,
|
|
|
|
|
j'ai repris sur la base d'un existant pour adapter au marché local réunionnais et leurs AMAPéi.
|
|
|
|
|
|
|
|
|
|
## INSTALL FROM SCRATCH (debian-buster)
|
|
|
|
|
|
|
|
|
|
* apt install -y curl
|
|
|
|
|
* curl -sL https://deb.nodesource.com/setup_8.x | bash -
|
|
|
|
|
* apt install -y nodejs=8.17.0-1nodesource1
|
|
|
|
|
* apt install -y sudo haxe apache2 make git imagemagick gettext libapache2-mod-neko mariadb-server
|
|
|
|
|
* mysql -u root <<EOF
|
|
|
|
|
CREATE DATABASE cagettepei;
|
|
|
|
|
GRANT ALL ON cagettepei.* TO 'cagettepei'@'%' IDENTIFIED BY 'cagettepei';
|
|
|
|
|
EOF
|
|
|
|
|
* cd /var/www
|
|
|
|
|
* git clone https://git.artcode.re/cagetters/cagettepei.git
|
|
|
|
|
* cd cagettepei
|
|
|
|
|
* make install ENV=dev # first time
|
|
|
|
|
* make compile # classes
|
|
|
|
|
* make templates # templates + i18n
|
|
|
|
|
* vim /etc/apache2/sites-available/cagettepei.conf
|
|
|
|
|
```
|
|
|
|
|
<VirtualHost *:80>
|
|
|
|
|
ServerName cagettepei
|
|
|
|
|
DirectoryIndex index.n
|
|
|
|
|
DocumentRoot /var/www/cagettepei/www/
|
|
|
|
|
</VirtualHost>
|
|
|
|
|
```
|
|
|
|
|
* sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
|
|
|
|
|
* a2dissite 000-default.conf
|
|
|
|
|
* a2ensite cagettepei.conf
|
|
|
|
|
* a2enmod neko rewrite
|
|
|
|
|
* systemctl restart apache2
|
|
|
|
|
|
|
|
|
|
## CONFIGURATION
|
|
|
|
|
|
|
|
|
|
* cd /var/www/cagettepei
|
|
|
|
|
* vim config.xml
|
|
|
|
|
```
|
|
|
|
|
<config
|
|
|
|
|
host="<DOMAIN.TLD>"
|
|
|
|
|
key="<SECRET_PHRASE>"
|
|
|
|
|
name = "CagettePéi"
|
|
|
|
|
default_email = "<EMAIL>"
|
|
|
|
|
webmaster_email = "<EMAIL>"
|
|
|
|
|
database="mysql://cagettepei:cagettepei@localhost/cagettepei"
|
|
|
|
|
|
|
|
|
|
smtp_host="localhost"
|
|
|
|
|
smtp_port="25"
|
|
|
|
|
smtp_user=""
|
|
|
|
|
smtp_pass=""
|
|
|
|
|
|
|
|
|
|
lang="fr"
|
|
|
|
|
langs="fr"
|
|
|
|
|
langnames="Français"
|
|
|
|
|
maintain="0"
|
|
|
|
|
debug="0"
|
|
|
|
|
sqllog="0"
|
|
|
|
|
cache="1"
|
|
|
|
|
cachetpl="0"
|
|
|
|
|
/>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
ADMIN RESET PASSWORD
|
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
|
|
* # go to http://localhost for ERROR + table regeneration, then
|
|
|
|
|
* cd /var/www/cagettepei
|
|
|
|
|
* SECRET=$(grep key= config.xml | cut -d= -f2 | cut -d'"' -f2)
|
|
|
|
|
* echo "insert into User values (1,'fr',MD5('${SECRET}cagettepei'),1,'Administrateur','Cagette Péi', 'admin', null, null, null, null, null, null, null, null, null, now(), now(),6,null, null)" | mysql -h localhost -u cagettepei -pcagettepei cagettepei
|
|
|
|
|
* # connect with admin / cagettepei
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* # change admin password
|
|
|
|
|
* echo "update User set pass=MD5('${SECRET}cagettepei') where id=1" | mysql -h localhost -u cagettepei -pcagettepei cagettepei
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SYSTEMD-TIMERS
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
|
|
* vim /var/www/cagettepei-batch
|
|
|
|
|
```
|
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
case $1 in
|
|
|
|
|
minute);;
|
|
|
|
|
daily);;
|
|
|
|
|
*) echo "expected [minute|daily]" && exit 1;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
SELECTOR=$1
|
|
|
|
|
|
|
|
|
|
for i in /var/www/cagettepei-* ; do
|
|
|
|
|
if [[ -d $i ]]; then
|
|
|
|
|
cd $i/www
|
|
|
|
|
echo "cron-$SELECTOR in: $i"
|
|
|
|
|
neko index.n cron/$SELECTOR
|
|
|
|
|
echo
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* chmod +x /var/www/cagettepei-batch
|
|
|
|
|
* vim /etc/systemd/system/cagettepei-batch-minute.service
|
|
|
|
|
```
|
|
|
|
|
[Unit]
|
|
|
|
|
Description=Run batch cagettepei every minute
|
|
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
|
User=www-data
|
|
|
|
|
SyslogIdentifier=cagettepei
|
|
|
|
|
ExecStart=/var/www/cagettepei-batch minute
|
|
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
|
```
|
|
|
|
|
* vim /etc/systemd/system/cagettepei-batch-day.service
|
|
|
|
|
```
|
|
|
|
|
[Unit]
|
|
|
|
|
Description=Run batch cagettepei every day
|
|
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
|
User=www-data
|
|
|
|
|
SyslogIdentifier=cagettepei
|
|
|
|
|
ExecStart=/var/www/cagettepei-batch daily
|
|
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
|
```
|
|
|
|
|
* vim /etc/systemd/system/cagettepei-batch-minute.timer
|
|
|
|
|
```
|
|
|
|
|
[Unit]
|
|
|
|
|
Description=Timer for batch cagettepei every minute
|
|
|
|
|
Requires=apache2.service
|
|
|
|
|
|
|
|
|
|
[Timer]
|
|
|
|
|
OnCalendar=minutely
|
|
|
|
|
Unit=cagettepei-batch-minute.service
|
|
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
|
WantedBy=timers.target
|
|
|
|
|
```
|
|
|
|
|
* vim /etc/systemd/system/cagettepei-batch-day.timer
|
|
|
|
|
```
|
|
|
|
|
[Unit]
|
|
|
|
|
Description=Timer for batch cagettepei every day
|
|
|
|
|
Requires=apache2.service
|
|
|
|
|
|
|
|
|
|
[Timer]
|
|
|
|
|
OnCalendar=daily
|
|
|
|
|
Unit=cagettepei-batch-day.service
|
|
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
|
WantedBy=timers.target
|
|
|
|
|
```
|
|
|
|
|
* systemctl daemon-reload
|
|
|
|
|
* systemctl edit apache2 # bind the 2 timers to apache2 cagette
|
|
|
|
|
```
|
|
|
|
|
[Unit]
|
|
|
|
|
BindsTo = cagettepei-batch-minute.timer cagettepei-batch-day.timer
|
|
|
|
|
```
|
|
|
|
|
* systemctl enable cagettepei-batch-minute.timer cagettepei-batch-day.timer
|
|
|
|
|
* systemctl start cagettepei-batch-minute.timer cagettepei-batch-day.timer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|