|
|
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 -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 * 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
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
|