From bd174eb10fa025305e4a30705c17feb849e07e81 Mon Sep 17 00:00:00 2001 From: adminbruno Date: Mon, 18 Jul 2022 15:02:01 -0400 Subject: [PATCH] Changements majeurs; RemiRepo PHP8.0+php-imap; Script de nettoyage(incomplet); preparation DB SQL --- osticket-install.sh => 1-osticket-install.sh | 32 +++++++++---- 2-osticket-sql.sh | 5 ++ 3-osticket-secure.sh | 4 ++ fail-cleanup.sh | 9 ++++ nginx-conf/osticket.conf | 48 ++++++++++--------- nginx-conf/osticket.orig | 48 +++++++++++++++++++ php-imap-8.1.8-1.fc36.remi.x86_64.rpm | Bin 0 -> 68521 bytes securesetup.sql | 11 +++++ 8 files changed, 125 insertions(+), 32 deletions(-) rename osticket-install.sh => 1-osticket-install.sh (74%) mode change 100644 => 100755 create mode 100755 2-osticket-sql.sh create mode 100755 3-osticket-secure.sh create mode 100755 fail-cleanup.sh create mode 100644 nginx-conf/osticket.orig create mode 100644 php-imap-8.1.8-1.fc36.remi.x86_64.rpm create mode 100644 securesetup.sql diff --git a/osticket-install.sh b/1-osticket-install.sh old mode 100644 new mode 100755 similarity index 74% rename from osticket-install.sh rename to 1-osticket-install.sh index 61803c1..a509253 --- a/osticket-install.sh +++ b/1-osticket-install.sh @@ -10,17 +10,23 @@ ostdir="/var/www/osticket" ostpluginsrc="/usr/src/osticket/plugins" webuser="nginx" webgroup="nginx" +basedir=$PWD ############################ cd ~ +#dnf -y in php php-intl php-zip php-mysqli php-gd php-gettext php-json php-mbstring php-xml php-pecl-apcu mariadb-server mariadb nginx php-fpm git && \ -#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 && \ + +dnf install http://rpms.remirepo.net/fedora/remi-release-36.rpm -y && \ +dnf remove -y php* && \ +dnf module list reset php -y && \ +dnf module list php && \ +dnf module enable php:remi-8.0 -y +\ +dnf -y in php php-intl php-imap php-zip php-mysqli php-gd php-gettext php-json php-mbstring php-xml php-pecl-apcu mariadb-server mariadb nginx php-fpm git && \ \ \ -cp nginx-conf/osticket.conf /etc/nginx/conf.d/. && \ +cp $basedir/nginx-conf/osticket.conf /etc/nginx/conf.d/. && \ \ \ systemctl enable --now mariadb && \ @@ -31,11 +37,11 @@ systemctl enable --now php-fpm && \ git clone https://github.com/osTicket/osTicket.git && \ cd osTicket && \ git checkout $ostver && \ -git pull && \ +git fetch && \ \ #setup / deploiement mkdir -p $ostdir && \ -chown -R $webuser:$webgroup $ostdir && \ +#chown -R $webuser:$webgroup $ostdir && \ chmod -R a+rX $ostdir && \ chmod -R u+rw $ostdir && \ \ @@ -46,7 +52,7 @@ cd .. && \ 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; && \ +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 @@ -77,7 +83,15 @@ cd ~ && \ \ ### Log Miscellany Installation touch /var/log/msmtp.log && \ - chown $webuser:$webgroup /var/log/msmtp.log + chown $webuser:$webgroup /var/log/msmtp.log && \ +\ +mv /var/www/osticket/include/ost-sampleconfig.php /var/www/osticket/include/ost-config.php && \ +chmod 0666 /var/www/osticket/include/ost-config.php +chown -R $webuser:$webgroup $ostdir && \ +\ +echo "fin" + + ##update diff --git a/2-osticket-sql.sh b/2-osticket-sql.sh new file mode 100755 index 0000000..0073281 --- /dev/null +++ b/2-osticket-sql.sh @@ -0,0 +1,5 @@ +#!/bin/bash + + +mysql -u root < securesetup.sql + diff --git a/3-osticket-secure.sh b/3-osticket-secure.sh new file mode 100755 index 0000000..04c01d7 --- /dev/null +++ b/3-osticket-secure.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +set -x +chmod 0644 /var/www/osticket/include/ost-config.php diff --git a/fail-cleanup.sh b/fail-cleanup.sh new file mode 100755 index 0000000..52a42d1 --- /dev/null +++ b/fail-cleanup.sh @@ -0,0 +1,9 @@ +#!/bin/bash +echo "Nettoyage..." +set -x +cd ~ +rm -rf osTicket +rm -rf /var/www/osticket +rm -rf /usr/src/osticket +set +x +echo "Fin" diff --git a/nginx-conf/osticket.conf b/nginx-conf/osticket.conf index f69debd..357d06e 100644 --- a/nginx-conf/osticket.conf +++ b/nginx-conf/osticket.conf @@ -1,48 +1,50 @@ +#server { +# listen 80; +## server_name tickets.noc.1nfo.services; +# rewrite ^ https://tickets.mydomain.com permanent; +# } 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; + #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 ""; + index index.php index.html index.htm; + + set $path_info ""; location ~ /include { deny all; return 403; } - if (\$request_uri ~ "^/api(/[^\?]+)") { - set \$path_info \$1; + if ($request_uri ~ "^/api(/[^\?]+)") { + set $path_info \$1; } location ~ ^/api/(?:tickets|tasks).*$ { - try_files \$uri \$uri/ /api/http.php?\$query_string; + try_files $uri $uri/ /api/http.php?$query_string; } - if (\$request_uri ~ "^/scp/.*\.php(/[^\?]+)") { - set \$path_info \$1; + if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") { + set $path_info \$1; } - if (\$request_uri ~ "^/.*\.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; + try_files $uri \$uri/ /scp/ajax.php?$query_string; } location ~ ^/ajax.php/.*$ { - try_files \$uri \$uri/ /ajax.php?\$query_string; + try_files $uri \$uri/ /ajax.php?$query_string; } location / { - try_files \$uri \$uri/ index.php; + try_files $uri $uri/ index.php; } location ~ \.php$ { - try_files \$uri = 404; - fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; + 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; + fastcgi_param PATH_INFO $path_info; + fastcgi_pass unix:/run/php-fpm/www.sock; } } diff --git a/nginx-conf/osticket.orig b/nginx-conf/osticket.orig new file mode 100644 index 0000000..a4fb341 --- /dev/null +++ b/nginx-conf/osticket.orig @@ -0,0 +1,48 @@ +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; + } + } + diff --git a/php-imap-8.1.8-1.fc36.remi.x86_64.rpm b/php-imap-8.1.8-1.fc36.remi.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..0e65faa9a78aa421261cfdf38cd2adb3147e942f GIT binary patch literal 68521 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 z∓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 xGyfqBE^c{<&@1 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 DXiGSg literal 0 HcmV?d00001 diff --git a/securesetup.sql b/securesetup.sql new file mode 100644 index 0000000..2e07dfe --- /dev/null +++ b/securesetup.sql @@ -0,0 +1,11 @@ +ALTER USER 'root'@'localhost' IDENTIFIED BY 'msqlroot-=-'; +DELETE FROM mysql.global_priv WHERE User=''; +DELETE FROM mysql.global_priv WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); +DROP DATABASE IF EXISTS test; +DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'; +FLUSH PRIVILEGES; + + +create database osticket_db; +grant all privileges on osticket_db.* to osticket_user identified by 'OsTicketP4'; +flush privileges;