Skip to content

Commit

Permalink
implement SSL for testing purposes (#13)
Browse files Browse the repository at this point in the history
  • Loading branch information
schuer committed Apr 23, 2018
1 parent b0bc06e commit 1880ab5
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 11 deletions.
9 changes: 6 additions & 3 deletions README.md
Expand Up @@ -71,11 +71,14 @@ Oder praktischerweise zusammengefasst (Alle Images bauen und alle Container neus

__REDAXO im Browser aufrufen:__

http://localhost:20080
http://localhost:20080
https://localhost:20443

:point_right: _Wir benutzen Port `20080` f眉r HTTP und `23306` f眉r die Datenbank, um nicht in Konflikt mit den Standardports `80`/`3306` zu kommen, sollten diese bereits verwendet werden. Das macht unser Setup robuster.
:point_right: _Wir benutzen Port `20080` f眉r HTTP, `20443` f眉r HTTPS und `23306` f眉r die Datenbank, um nicht in Konflikt mit den Standardports `80`/`443`/`3306` zu kommen, sollten diese bereits verwendet werden. Das macht unser Setup robuster.
Wenn du mehrere Docker-Projekte verwendest, musst du noch beachten, dass alle diese Ports verwenden und deshalb immer nur eins laufen kann, nicht mehrere gleichzeitig._

:point_right: _F眉r den Zugriff mittels HTTPS wird ein SSL-Zertifikat generiert, das nur f眉r Testzwecke funktioniert. Dein Browser wird dich darauf hinweisen, dass die Verbindung nicht sicher ist. Zum lokalen Testen allerdings reicht das v枚llig aus, und du kannst den Sicherheitshinweis 眉bergehen._

---

## Anpassungen f眉r deine Projekte
Expand Down Expand Up @@ -124,7 +127,7 @@ FROM php:5.6-apache

### Weitere PHP-Extensions installieren

Neben den Extensions, die das PHP-Apache-Image bereits mitbringt, installieren wir zus盲tzlich noch [GD](http://php.net/manual/de/book.image.php) und [PDO_MYSQL](http://php.net/manual/de/ref.pdo-mysql.php), siehe [/docker/php-apache/Dockerfile#L17-L18](https://github.com/FriendsOfREDAXO/redaxo-mit-docker/blob/master/docker/php-apache/Dockerfile#L17-L18). Falls du weitere Extensions ben枚tigst, kannst du die Helfer-Funktionen benutzen, die das Image anbietet: `docker-php-ext-configure` und `docker-php-ext-install`.
Neben den Extensions, die das PHP-Apache-Image bereits mitbringt, installieren wir zus盲tzlich noch [GD](http://php.net/manual/de/book.image.php) und [PDO_MYSQL](http://php.net/manual/de/ref.pdo-mysql.php), siehe [/docker/php-apache/Dockerfile#L23-L24](https://github.com/FriendsOfREDAXO/redaxo-mit-docker/blob/master/docker/php-apache/Dockerfile#L23-L24). Falls du weitere Extensions ben枚tigst, kannst du die Helfer-Funktionen benutzen, die das Image anbietet: `docker-php-ext-configure` und `docker-php-ext-install`.

Manche Extensions m眉ssen konfiguriert werden, wie du bei GD siehst, die meisten jedoch lassen sich einfach so installieren. In dem Fall brauchst du sie nur hinter `pdo_mysql` erg盲nzen, etwa so:

Expand Down
3 changes: 2 additions & 1 deletion docker-compose.yml
Expand Up @@ -6,7 +6,8 @@ services:
hostname: redaxodocker
build: ./docker/php-apache # location for web server dockerfile and config
ports:
- 20080:80 # web server will use port 20080
- 20080:80 # web server will use port 20080 for http
- 20443:443 # web server will use port 20443 for https
volumes:
- ./html:/var/www/html:cached # webroot `/var/www/html` will be synced with your local folder `./html`
depends_on:
Expand Down
16 changes: 10 additions & 6 deletions docker/php-apache/Dockerfile
Expand Up @@ -5,17 +5,21 @@ COPY php.ini /usr/local/etc/php/
COPY apache.conf /etc/apache2/sites-available/000-default.conf
COPY ssmtp.conf /etc/ssmtp/

# generate SSL cert for testing purposes
RUN openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/ssl-cert-snakeoil.key -out /etc/ssl/certs/ssl-cert-snakeoil.pem -subj "/CN=localhost"

# enable apache modules
RUN a2enmod expires headers rewrite ssl
RUN a2ensite default-ssl

# install extensions
RUN apt-get update -q && apt-get install -qy \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
ssmtp \
unzip \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
ssmtp \
unzip \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd pdo_mysql

Expand Down
3 changes: 2 additions & 1 deletion docker/php-apache/apache.conf
@@ -1,6 +1,7 @@
Listen 20080
Listen 20443

<VirtualHost *:20080>
<VirtualHost *:20080 *:20443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
Expand Down

0 comments on commit 1880ab5

Please sign in to comment.