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.
152 lines
4.6 KiB
152 lines
4.6 KiB
#!/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 <<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 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!
|