You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
4.7 KiB

#!/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!