From 1506e600696cc8ff2545089132ecbac62938d05b Mon Sep 17 00:00:00 2001 From: Ricardo Paes Date: Mon, 17 Feb 2025 11:43:38 -0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20[GEST-2855]=20Configurando=20SSL=20?= =?UTF-8?q?no=20apache=20-=20Configurando=20pastas=20e=20mod=5Frewrite=20d?= =?UTF-8?q?e=20forma=20correta.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/docker-publish.yml | 26 +++++++++++++++++++++++++- Dockerfile | 2 ++ httpd-php.conf | 3 +++ httpd-ssl.conf | 9 --------- httpd-vhosts.conf | 14 ++------------ sh/start | 18 ++++++++++++++++-- 6 files changed, 48 insertions(+), 24 deletions(-) create mode 100644 httpd-php.conf diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 16af57b..cced1e7 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -37,7 +37,7 @@ jobs: run: | CONTENT=$(curl -s "http://127.0.0.1/"); CONTENT_PHP=$(curl -s "http://127.0.0.1/script.php"); - CONTENT_REWRITE=$(curl -s "https://127.0.0.1/rewrite/apache.php"); + CONTENT_REWRITE=$(curl -s "http://127.0.0.1/rewrite/apache.php"); echo "CHAMADA HTTP NORMAL: ${CONTENT}"; echo "CHAMADA HTTP PHP: ${CONTENT_PHP}"; echo "CHAMADA HTTP REWRITE: ${CONTENT_REWRITE}"; @@ -57,6 +57,30 @@ jobs: exit 1; fi + - name: Run tests in https + run: | + CONTENT=$(curl -s "https://127.0.0.1/"); + CONTENT_PHP=$(curl -s "https://127.0.0.1/script.php"); + CONTENT_REWRITE=$(curl -s "https://127.0.0.1/rewrite/apache.php"); + echo "CHAMADA HTTP NORMAL: ${CONTENT}"; + echo "CHAMADA HTTP PHP: ${CONTENT_PHP}"; + echo "CHAMADA HTTP REWRITE: ${CONTENT_REWRITE}"; + + if [ "${CONTENT}" != "html" ]; then + echo "Chamada HTTP NORMAL retornou errado: ${CONTENT}" + exit 1; + fi + + if [ "${CONTENT_PHP}" != "php" ]; then + echo "Chamada HTTP TRYFILES retornou errado: ${CONTENT_PHP}" + exit 1; + fi + + if [ "${CONTENT_REWRITE}" != "/rewrite/apache.php" ]; then + echo "Chamada HTTP REWRITE retornou errado: ${CONTENT_REWRITE}" + exit 1; + fi + push: needs: test diff --git a/Dockerfile b/Dockerfile index c589ffd..7b25e56 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,6 +19,8 @@ ENV TIMEOUT_PHP=60s COPY httpd-vhosts.conf /usr/local/apache2/conf/extra/httpd-vhosts.conf COPY httpd-ssl.conf /usr/local/apache2/conf/extra/httpd-ssl.conf +COPY httpd-php.conf /usr/local/apache2/conf/extra/httpd-php.conf + COPY --from=ssl /ssl/server.crt /usr/local/apache2/conf/server.crt COPY --from=ssl /ssl/server.key /usr/local/apache2/conf/server.key RUN ls -la /usr/local/apache2/conf/ diff --git a/httpd-php.conf b/httpd-php.conf new file mode 100644 index 0000000..d33c3c9 --- /dev/null +++ b/httpd-php.conf @@ -0,0 +1,3 @@ + + SetHandler "proxy:fcgi://{{ default .Env.HOST_PHP "php" }}:{{ .Env.PORTA_PHP }}" + \ No newline at end of file diff --git a/httpd-ssl.conf b/httpd-ssl.conf index d17d73d..e272d3f 100644 --- a/httpd-ssl.conf +++ b/httpd-ssl.conf @@ -121,7 +121,6 @@ SSLSessionCacheTimeout 300 # General setup for the virtual host -DocumentRoot "/var/www/public/" ServerName localhost ServerAlias * ServerAdmin server@likesistemas.com.br @@ -253,14 +252,6 @@ SSLCertificateKeyFile "/usr/local/apache2/conf/server.key" SSLOptions +StdEnvVars - - SetHandler "proxy:fcgi://{{ default .Env.HOST_PHP "php" }}:{{ .Env.PORTA_PHP }}" - - - Options Indexes FollowSymLinks - AllowOverride All - Require all granted - # SSL Protocol Adjustments: # The safe and default but still SSL/TLS standard compliant shutdown diff --git a/httpd-vhosts.conf b/httpd-vhosts.conf index 9bdb931..9072225 100644 --- a/httpd-vhosts.conf +++ b/httpd-vhosts.conf @@ -1,16 +1,6 @@ - - SetHandler "proxy:fcgi://{{ default .Env.HOST_PHP "php" }}:{{ .Env.PORTA_PHP }}" - - - DocumentRoot /var/www/public/ - - - Options Indexes FollowSymLinks - AllowOverride All - Require all granted - - + ServerName localhost + ServerAlias * ErrorLog /dev/stderr TransferLog /dev/stdout \ No newline at end of file diff --git a/sh/start b/sh/start index 5533486..8c1d26f 100644 --- a/sh/start +++ b/sh/start @@ -6,8 +6,22 @@ step() { } step "Configurando apache..."; -dockerize \ - -template conf/extra/httpd-vhosts.conf:conf/extra/httpd-vhosts.conf +dockerize -template conf/extra/httpd-php.conf:conf/extra/httpd-php.conf + +sed -i -e 's/^#\(Include .*httpd-vhosts.conf\)/\1/' conf/httpd.conf; +sed -i -e 's/^#\(LoadModule .*mod_rewrite.so\)/\1/' conf/httpd.conf; +sed -i -e 's/^#\(LoadModule .*mod_proxy.so\)/\1/' conf/httpd.conf; +sed -i -e 's/^#\(LoadModule .*mod_proxy_fcgi.so\)/\1/' conf/httpd.conf; + +sed -i 's|DirectoryIndex index.html|DirectoryIndex index.php index.html|' conf/httpd.conf +sed -i 's/^User daemon/User www-data/' conf/httpd.conf +sed -i 's/^Group daemon/Group www-data/' conf/httpd.conf + +sed -i 's|DocumentRoot "/usr/local/apache2/htdocs"|DocumentRoot "/var/www/public/"|' conf/httpd.conf; +sed -i 's|||' conf/httpd.conf; +sed -i '//,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' conf/httpd.conf; + +echo "Include conf/extra/httpd-php.conf" >> conf/httpd.conf; if [ "${SSL}" == "true" ]; then step "Configurando SSL...";