|
|
CAGETTE PEI ===========
Cagette Péi est un logiciel libre qui favorise les circuits courts. Il a été adapté pour les besoins des AMAPs sur le marché réunionnais.
> <french>
> Fourche du logiciel [Cagette.net](https://github.com/CagetteNet) à partir de la version 0.9.2 Novembre 2018. Certaines portions de code n'étant plus disponibles en téléchargement à partir de cette date, le logiciel a été repris, adapté puis réactualisé. Pour plus d'information, contact@artcode.re
> </french>
![Screenshot](www/img/screenshot.png)
## PREREQUISITE MARIADB
```bash apt install -y mariadb-server mysql -u root <<EOF CREATE DATABASE cagettepei; GRANT ALL ON cagettepei.* TO 'cagettepei'@'%' IDENTIFIED BY 'cagettepei'; EOF ```
## INSTALL FROM SCRATCH
Rk: Works on any Debian (>=Buster) compatible server!
``` apt install -y curl curl -L 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 sendemail libio-socket-ssl-perl libnet-ssleay-perl
cd /var/www git clone https://git.artcode.re/cagetters/cagettepei.git cd cagettepei make install ENV=dev
vim /etc/apache2/sites-available/cagettepei.conf ```
``` <VirtualHost *:80> DocumentRoot /var/www/cagettepei/www DirectoryIndex index.n CustomLog ${APACHE_LOG_DIR}/cagettepei/access.log combined </VirtualHost> ```
```bash sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf a2dissite 000-default.conf a2ensite cagettepei.conf a2enmod rewrite mkdir -p /var/log/apache2/cagettepei systemctl restart apache2 ```
## CONFIGURATION
```bash cd /var/www/cagettepei vim config.xml ``` ``` <config host = "<DOMAIN.TLD>" database = "mysql://cagettepei:cagettepei@localhost/cagettepei" key = "<SECRET_PHRASE>" default_email = "<EMAIL>" webmaster_email = "<EMAIL>"
debug = "0" sqllog = "0" maintain = "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 ```
then, 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
|