#!/bin/bash #Pensé pour Fedora 36 ############################ #VARS ostver="v1.16.3" ostdir="/var/www/osticket" ostpluginsrc="/usr/src/osticket/plugins" webuser="nginx" webgroup="nginx" ############################ cd ~ #install modules de base #dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm #dnf -y module enable php:8.0 && \ dnf -y in php php-mysqli php-gd php-gettext php-json php-mbstring php-xml php-pecl-apcu mariadb-server mariadb nginx php-fpm git && \ \ \ cat << EOF > /etc/nginx/conf.d/osticket # Rewrite all requests from HTTP to HTTPS server { listen 80; server_name tickets.noc.1nfo.services; rewrite ^ https://tickets.mydomain.com permanent; } server { listen 443; server_name tickets.1nfo.services; ssl on; ssl_certificate /etc/nginx/certs/cert.pem; ssl_certificate_key /etc/nginx/certs/cert.key; keepalive_timeout 70; root /var/www/osticket; set \$path_info ""; location ~ /include { deny all; return 403; } if (\$request_uri ~ "^/api(/[^\?]+)") { set \$path_info \$1; } location ~ ^/api/(?:tickets|tasks).*$ { try_files \$uri \$uri/ /api/http.php?\$query_string; } if (\$request_uri ~ "^/scp/.*\.php(/[^\?]+)") { set \$path_info \$1; } if (\$request_uri ~ "^/.*\.php(/[^\?]+)") { set \$path_info \$1; } location ~ ^/scp/ajax.php/.*$ { try_files \$uri \$uri/ /scp/ajax.php?\$query_string; } location ~ ^/ajax.php/.*$ { try_files \$uri \$uri/ /ajax.php?\$query_string; } location / { try_files \$uri \$uri/ index.php; } location ~ \.php$ { try_files \$uri = 404; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; include fastcgi_params; fastcgi_param PATH_INFO \$path_info; fastcgi_pass 127.0.0.1:8888; } } } EOF && \ \ \ systemctl enable --now mariadb && \ systemctl enable --now nginx && \ systemctl enable --now php-fpm && \ \ #copie de la source git clone https://github.com/osTicket/osTicket.git && \ cd osTicket && \ git checkout $ostver && \ git pull && \ \ #setup / deploiement mkdir -p $ostdir && \ chown -R $webuser:$webgroup $ostdir && \ chmod -R a+rX $ostdir && \ chmod -R u+rw $ostdir && \ \ php manage.php deploy --setup $ostdir && \ cd .. && \ \ # Setup Official Plugins git clone -b develop https://github.com/osTicket/osTicket-plugins $ostpluginsrc && \ cd $ostpluginsrc && \ php make.php hydrate && \ for plugin in $(find * -maxdepth 0 -type d ! -path doc ! -path lib); do cp -r ${plugin} $ostdir/include/plugins; done; && \ cp -R $ostpluginsrc/*.phar $ostdir/include/plugins/ && \ cd ~ && \ # Add Community Plugins ## Archiver git clone https://github.com/clonemeagain/osticket-plugin-archiver $ostdir/include/plugins/archiver && \ ## Attachment Preview git clone https://github.com/clonemeagain/attachment_preview $ostdir/include/plugins/attachment-preview && \ ## Auto Closer git clone https://github.com/clonemeagain/plugin-autocloser $ostdir/include/plugins/auto-closer && \ ## Fetch Note git clone https://github.com/bkonetzny/osticket-fetch-note $ostdir/include/plugins/fetch-note && \ ## Field Radio Buttons git clone https://github.com/Micke1101/OSTicket-plugin-field-radiobuttons $ostdir/include/plugins/field-radiobuttons && \ ## Mentioner git clone https://github.com/clonemeagain/osticket-plugin-mentioner $ostdir/include/plugins/mentioner && \ ## Multi LDAP Auth git clone https://github.com/philbertphotos/osticket-multildap-auth $ostdir/include/plugins/multi-ldap && \ mv $ostdir/include/plugins/multi-ldap/multi-ldap/* $ostdir/include/plugins/multi-ldap/ && \ rm -rf $ostdir/include/plugins/multi-ldap/multi-ldap && \ ## Prevent Autoscroll git clone https://github.com/clonemeagain/osticket-plugin-preventautoscroll $ostdir/include/plugins/prevent-autoscroll && \ ## Rewriter git clone https://github.com/clonemeagain/plugin-fwd-rewriter $ostdir/include/plugins/rewriter && \ ## Slack git clone https://github.com/clonemeagain/osticket-slack $ostdir/include/plugins/slack && \ ## Teams (Microsoft) git clone https://github.com/ipavlovi/osTicket-Microsoft-Teams-plugin $ostdir/include/plugins/teams && \ \ ### Log Miscellany Installation touch /var/log/msmtp.log && \ chown $webuser:$webgroup /var/log/msmtp.log ##update #git pull #php manage.php deploy -v $ostdir ##upgrade nouvelle version #futur!