From 00ea24b5c582dfc28ff11cda14abd98a4da82f12 Mon Sep 17 00:00:00 2001 From: Thibodeau Bruno Date: Wed, 22 Jun 2022 15:22:27 -0400 Subject: [PATCH] premier commit --- osticket-install.sh | 153 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 osticket-install.sh diff --git a/osticket-install.sh b/osticket-install.sh new file mode 100644 index 0000000..efad204 --- /dev/null +++ b/osticket-install.sh @@ -0,0 +1,153 @@ +#!/bin/bash + +#Pensé pour CentOS Stream 8 + + +############################ +#VARS +ostver="v1.16.3" +ostdir="/var/www/osticket" +ostpluginsrc="/usr/src/osticket/plugins" +############################ + +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-imap php-json php-mbstring php-xml php-apc mariadb-server mariadb nginx php-fpm git + + +cat <> /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 nginx:nginx $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 nginx:nginx /var/log/msmtp.log && \ + + + + +##update +#git pull +#php manage.php deploy -v $ostdir + + +##upgrade nouvelle version +#futur!