-
Notifications
You must be signed in to change notification settings - Fork 190
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds Apache2 as new Proxy Webserver option (#87)
* Adds Apache2 as new Proxy Webserver option * Adds Apache2 log support * Removes useless ProxyPassReverse option for Apache Container * Adds example for Apache * Remvoes comments from httpd config file * Adds shared folder for sharing resources between Apache and Nginx * Cleaning * Adds shared directories * Removes shared directories as it does not work * Updates README with new Apache example
- Loading branch information
Showing
18 changed files
with
307 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
## Simple Web Service | ||
|
||
### Setup | ||
|
||
Copy the index file in this folder to the project root: | ||
|
||
```bash | ||
cd <project_folder>/ | ||
|
||
cp -r nodock/_examples/apache/* . | ||
``` | ||
|
||
### Usage | ||
|
||
```bash | ||
cd nodock/ | ||
|
||
docker-compose up -d node apache | ||
``` | ||
|
||
By going to `127.0.0.1` in your browser you should be seeing a nice greeting! |
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
var express = require('express'); | ||
var app = express(); | ||
|
||
app.get('/', function(req, res) { | ||
res.send('You are amazing'); | ||
}); | ||
|
||
app.listen(8000); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
{ | ||
"name": "example-simple-web-node-docker", | ||
"version": "1.0.0", | ||
"description": "", | ||
"main": "index.js", | ||
"scripts": { | ||
"test": "echo \"Error: no test specified\" && exit 1" | ||
}, | ||
"author": "", | ||
"license": "MIT", | ||
"dependencies": { | ||
"express": "^4.14.0" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
FROM httpd:2.4 | ||
|
||
# openssl not installed in image | ||
RUN apt-get update && apt-get install openssl | ||
|
||
RUN mkdir /usr/local/apache2/templates \ | ||
&& mkdir /usr/local/apache2/sites-available \ | ||
&& rm /usr/local/apache2/conf/httpd.conf \ | ||
&& rm /usr/local/apache2/conf/extra/*.conf | ||
ADD httpd.conf /usr/local/apache2/conf | ||
|
||
COPY scripts /root/scripts/ | ||
COPY certs/* /etc/ssl/ | ||
|
||
COPY sites /usr/local/apache2/templates | ||
|
||
ARG WEB_REVERSE_PROXY_PORT=8000 | ||
ARG WEB_SSL=false | ||
ARG SELF_SIGNED=false | ||
ARG NO_DEFAULT=false | ||
|
||
ENV WEB_REVERSE_PROXY_PORT=$WEB_REVERSE_PROXY_PORT | ||
ENV WEB_SSL=$WEB_SSL | ||
ENV SELF_SIGNED=$SELF_SIGNED | ||
ENV NO_DEFAULT=$NO_DEFAULT | ||
|
||
RUN /bin/bash /root/scripts/build-apache.sh | ||
|
||
CMD ["apachectl", "-D", "FOREGROUND"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
ServerRoot "/usr/local/apache2" | ||
|
||
LoadModule authn_file_module modules/mod_authn_file.so | ||
LoadModule authn_core_module modules/mod_authn_core.so | ||
LoadModule authz_host_module modules/mod_authz_host.so | ||
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so | ||
LoadModule authz_user_module modules/mod_authz_user.so | ||
LoadModule authz_core_module modules/mod_authz_core.so | ||
LoadModule access_compat_module modules/mod_access_compat.so | ||
LoadModule auth_basic_module modules/mod_auth_basic.so | ||
LoadModule reqtimeout_module modules/mod_reqtimeout.so | ||
LoadModule filter_module modules/mod_filter.so | ||
LoadModule mime_module modules/mod_mime.so | ||
LoadModule log_config_module modules/mod_log_config.so | ||
LoadModule env_module modules/mod_env.so | ||
LoadModule headers_module modules/mod_headers.so | ||
LoadModule setenvif_module modules/mod_setenvif.so | ||
LoadModule version_module modules/mod_version.so | ||
LoadModule proxy_module modules/mod_proxy.so | ||
LoadModule proxy_http_module modules/mod_proxy_http.so | ||
LoadModule ssl_module modules/mod_ssl.so | ||
LoadModule unixd_module modules/mod_unixd.so | ||
LoadModule status_module modules/mod_status.so | ||
LoadModule autoindex_module modules/mod_autoindex.so | ||
LoadModule dir_module modules/mod_dir.so | ||
LoadModule alias_module modules/mod_alias.so | ||
|
||
<IfModule unixd_module> | ||
User www-data | ||
Group www-data | ||
|
||
</IfModule> | ||
|
||
ServerAdmin [email protected] | ||
|
||
<Directory /> | ||
AllowOverride none | ||
Require all denied | ||
</Directory> | ||
|
||
DocumentRoot "/usr/local/apache2/htdocs" | ||
<Directory "/usr/local/apache2/htdocs"> | ||
Options Indexes FollowSymLinks | ||
AllowOverride None | ||
Require all granted | ||
</Directory> | ||
|
||
<IfModule dir_module> | ||
DirectoryIndex index.html | ||
</IfModule> | ||
|
||
<Files ".ht*"> | ||
Require all denied | ||
</Files> | ||
|
||
ErrorLog /proc/self/fd/2 | ||
LogLevel warn | ||
|
||
<IfModule log_config_module> | ||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined | ||
LogFormat "%h %l %u %t \"%r\" %>s %b" common | ||
|
||
<IfModule logio_module> | ||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio | ||
</IfModule> | ||
|
||
CustomLog /proc/self/fd/1 common | ||
|
||
</IfModule> | ||
|
||
<IfModule alias_module> | ||
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" | ||
</IfModule> | ||
|
||
<Directory "/usr/local/apache2/cgi-bin"> | ||
AllowOverride None | ||
Options None | ||
Require all granted | ||
</Directory> | ||
|
||
<IfModule headers_module> | ||
RequestHeader unset Proxy early | ||
</IfModule> | ||
|
||
<IfModule mime_module> | ||
TypesConfig conf/mime.types | ||
AddType application/x-compress .Z | ||
AddType application/x-gzip .gz .tgz | ||
</IfModule> | ||
|
||
Include sites-available/*.conf | ||
|
||
<IfModule proxy_html_module> | ||
Include conf/extra/proxy-html.conf | ||
</IfModule> | ||
|
||
<IfModule ssl_module> | ||
SSLRandomSeed startup builtin | ||
SSLRandomSeed connect builtin | ||
</IfModule> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#!/bin/bash | ||
|
||
for conf in /usr/local/apache2/templates/*.conf; do | ||
mv $conf "/usr/local/apache2/sites-available/"$(basename $conf) > /dev/null | ||
done | ||
|
||
for template in /usr/local/apache2/templates/*.template; do | ||
mv $template "/usr/local/apache2/sites-available/"$(basename $template)".conf" > /dev/null | ||
done | ||
|
||
if [[ "$NO_DEFAULT" = true ]]; then | ||
rm /usr/local/apache2/sites-available/node.template.conf | ||
rm /usr/local/apache2/sites-available/node-https.template.conf | ||
else | ||
if [[ "$WEB_SSL" = false ]]; then | ||
rm /usr/local/apache2/sites-available/node-https.template.conf | ||
fi | ||
fi | ||
|
||
. /root/scripts/run-openssl.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#!/bin/bash | ||
|
||
if [[ "$WEB_SSL" = true && "$NO_DEFAULT" = false ]]; then | ||
if [[ "$SELF_SIGNED" = true ]]; then | ||
echo "---------------------------------------------------------" | ||
echo "APACHE: Generating certificates" | ||
echo "---------------------------------------------------------" | ||
openssl req \ | ||
-new \ | ||
-newkey rsa:4096 \ | ||
-days 1095 \ | ||
-nodes \ | ||
-x509 \ | ||
-subj "/C=FK/ST=Fake/L=Fake/O=Fake/CN=0.0.0.0" \ | ||
-keyout /etc/ssl/privkey1.pem \ | ||
-out /etc/ssl/cert1.pem | ||
chown www-data:www-data /etc/ssl/cert1.pem | ||
chown www-data:www-data /etc/ssl/privkey1.pem | ||
else | ||
echo "---------------------------------------------------------" | ||
echo "APACHE: Using certificates in 'nodock/apache/certs/'" | ||
echo "---------------------------------------------------------" | ||
if [ -e /var/certs/cert1.pem ]; then | ||
cp /var/certs/cert1.pem /etc/ssl/cert1.pem | ||
fi | ||
if [ -e /var/certs/privkey1.pem ]; then | ||
cp /var/certs/privkey1.pem /etc/ssl/privkey1.pem | ||
fi | ||
fi | ||
fi | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# environment variables | ||
# WEB_REVERSE_PROXY_PORT ${WEB_REVERSE_PROXY_PORT} | ||
|
||
Listen 443 | ||
|
||
<VirtualHost *:443> | ||
|
||
SSLEngine on | ||
SSLCertificateFile /etc/ssl/cert1.pem | ||
SSLCertificateKeyFile /etc/ssl/privkey1.pem | ||
|
||
ProxyPass / http://node:${WEB_REVERSE_PROXY_PORT} | ||
|
||
ErrorLog logs/https-error.log | ||
CustomLog logs/https-access.log common | ||
|
||
</VirtualHost> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# environment variables | ||
# WEB_REVERSE_PROXY_PORT ${WEB_REVERSE_PROXY_PORT} | ||
|
||
Listen 80 | ||
|
||
<VirtualHost *:80> | ||
|
||
ProxyPass / http://node:${WEB_REVERSE_PROXY_PORT} | ||
# ProxyPassReverse / http://node:${WEB_REVERSE_PROXY_PORT} | ||
|
||
ErrorLog logs/http-error.log | ||
CustomLog logs/http-access.log common | ||
|
||
</VirtualHost> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,6 +5,6 @@ description: | | |
Framework Agnostic: MEAN, Meteor, Sails, etc. Run the stack you choose, the way you want. Totally unopinionated, fully customizable. Better, Faster & Stronger: Docker + Docker Compose ensures your environment is fast and stable for development, testing and production. Focus on Code: Plug-and-play configurations allow you to get started in minutes. Reduce the learning curve for new developers. | ||
email: [email protected] | ||
repo_url: https://github.com/Osedea/nodock | ||
tags: node,docker,nginx,mysql,certbot,yarn,mongodb,memcached,rabbitmq | ||
tags: node,docker,nginx,apache,mysql,certbot,yarn,mongodb,memcached,rabbitmq | ||
private: false | ||
cmd: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#!/bin/bash | ||
|
||
if [[ "$WEB_SSL" = true && "$NO_DEFAULT" = false ]]; then | ||
if [[ "$SELF_SIGNED" = true ]]; then | ||
echo "---------------------------------------------------------" | ||
echo "APACHE: Generating certificates" | ||
echo "---------------------------------------------------------" | ||
openssl req \ | ||
-new \ | ||
-newkey rsa:4096 \ | ||
-days 1095 \ | ||
-nodes \ | ||
-x509 \ | ||
-subj "/C=FK/ST=Fake/L=Fake/O=Fake/CN=0.0.0.0" \ | ||
-keyout /etc/ssl/privkey1.pem \ | ||
-out /etc/ssl/cert1.pem | ||
chown www-data:www-data /etc/ssl/cert1.pem | ||
chown www-data:www-data /etc/ssl/privkey1.pem | ||
else | ||
echo "---------------------------------------------------------" | ||
echo "APACHE: Using certificates in 'nodock/apache/certs/'" | ||
echo "---------------------------------------------------------" | ||
if [ -e /var/certs/cert1.pem ]; then | ||
cp /var/certs/cert1.pem /etc/ssl/cert1.pem | ||
fi | ||
if [ -e /var/certs/privkey1.pem ]; then | ||
cp /var/certs/privkey1.pem /etc/ssl/privkey1.pem | ||
fi | ||
fi | ||
fi | ||
|