Initial release
This commit is contained in:
24
config/apache/vhosts/www.test.com.conf
Normal file
24
config/apache/vhosts/www.test.com.conf
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Redirect to SSL
|
||||||
|
<VirtualHost *:80>
|
||||||
|
ServerName www.test.com
|
||||||
|
Redirect permanent / https://www.test.com
|
||||||
|
</VirtualHost>
|
||||||
|
<VirtualHost *:443>
|
||||||
|
ServerAdmin webmaster@test.com
|
||||||
|
ServerName www.test.com
|
||||||
|
DocumentRoot /var/www/html/www.test.com
|
||||||
|
ErrorLog ${APACHE_LOG_DIR}/www.test.com-error.log
|
||||||
|
CustomLog ${APACHE_LOG_DIR}/www.test.com-access.log combined
|
||||||
|
SSLEngine on
|
||||||
|
SSLCertificateFile /etc/ssl/custom/www.test.com/www.test.com.cer
|
||||||
|
SSLCertificateKeyFile /etc/ssl/custom/www.test.com/www.test.com.key
|
||||||
|
<FilesMatch "\.(cgi|shtml|phtml|php)$">
|
||||||
|
SSLOptions +StdEnvVars
|
||||||
|
</FilesMatch>
|
||||||
|
<Directory /var/www/test.com.com>
|
||||||
|
SSLOptions +StdEnvVars
|
||||||
|
Options FollowSymLinks
|
||||||
|
AllowOverride All
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
</VirtualHost>
|
||||||
16
config/mysql/my.cnf
Normal file
16
config/mysql/my.cnf
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
[mysqld]
|
||||||
|
bind-address=0.0.0.0
|
||||||
|
skip-name-resolve=1
|
||||||
|
log_error =/var/log/mysql/mysql_error.log
|
||||||
|
general_log_file=/var/log/mysql/mysql.log
|
||||||
|
general_log =1
|
||||||
|
#slow_query_log =1
|
||||||
|
#slow_query_log_file=/var/log/mysql/mysql_slow.log
|
||||||
|
#long_query_time =2
|
||||||
|
#log_queries_not_using_indexes = 1
|
||||||
|
innodb_buffer_pool_instances = 2
|
||||||
|
innodb-buffer-pool-size=2G
|
||||||
|
wait_timeout = 28800
|
||||||
|
innodb_log_file_size = 256MB
|
||||||
|
max_allowed_packet = 128M
|
||||||
|
interactive_timeout = 28800
|
||||||
14
config/php-fpm/php.ini
Normal file
14
config/php-fpm/php.ini
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
[php]
|
||||||
|
date.timezone=UTC+1
|
||||||
|
log_errors=On
|
||||||
|
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
|
||||||
|
display_errors=Off
|
||||||
|
max_execution_time=60
|
||||||
|
memory_limit=1024M
|
||||||
|
error_log=/var/log/php/error.log
|
||||||
|
access_log=/var/log/php/access.log
|
||||||
|
post_max_size=512M
|
||||||
|
upload_max_filesize=512M
|
||||||
|
short_open_tag=On
|
||||||
|
catch_workers_output = yes
|
||||||
|
log_errors = on
|
||||||
3
config/php/php.ini
Normal file
3
config/php/php.ini
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
memory_limit = 256M
|
||||||
|
post_max_size = 100M
|
||||||
|
upload_max_filesize = 100M
|
||||||
1
config/pma/config.user.inc.php
Normal file
1
config/pma/config.user.inc.php
Normal file
@@ -0,0 +1 @@
|
|||||||
|
$cfg['ExecTimeLimit'] = 0;
|
||||||
5
config/pma/php.ini
Normal file
5
config/pma/php.ini
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
[php]
|
||||||
|
memory_limit=2048M
|
||||||
|
upload_max_filesize=512M
|
||||||
|
short_open_tag=On
|
||||||
|
max_execution_time=60
|
||||||
20
data/ssl/www.test.com/www.test.com.cer
Normal file
20
data/ssl/www.test.com/www.test.com.cer
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFmDCCBICgAwIBAgIQCfIZA5I5bSNWO37MufoFmzANBgkqhkiG9w0BAQsFADBu
|
||||||
|
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
||||||
|
d3cuZGlnaWNlcnQuY29tMS0wKwYDVQQDEyRFbmNyeXB0aW9uIEV2ZXJ5d2hlcmUg
|
||||||
|
RFYgVExTIENBIC0gRzEwHhcNMjEwMTE4MDAwMDAwWhcNMjIwMTE3MjM1OTU5WjAf
|
||||||
|
MR0wGwYDVQQDDBQqLnNlcnZpY2VwYXJ0czI0LmNvbTCCASIwDQYJKoZIhvcNAQEB
|
||||||
|
BQADggEPADCCAQoCggEBAIcgWCF5R0KWXw2uYgjoM2rlAxGkunAa41edGyJUbfTd
|
||||||
|
kVQlKtrW2z5s8iVKn/frnCj+Ii3BSCdzqAGjXJsKCUxJNrj4xXkiL+69bOuwtUP0
|
||||||
|
j37Cqt0UkkSY7JHAU0/3DJZb+dnWm0dq9ooi0EDX1rYFN7GG0uc/04kMRDprQahP
|
||||||
|
eU28jLdLz0HUiY92ixQ5bMDcehqkvl1uUlRSun3K7Z0F3DvkfuWXLGafO0g4VMFN
|
||||||
|
MBz3nlvdp820ExMul8eDFCocUIFBYr4/2XnKacAZ0ZSnGLe0O6eHSe+GtSlQLEzr
|
||||||
|
lv9pRfn/uVbKnB1o3b0TYGU0akTTNnJDH6ycx0EQEvECAwEAAaOCAn8wggJ7MB8G
|
||||||
|
A1UdIwQYMBaAFFV0T7JyT/VgulDR1+ZRXJoBhxrXMB0GA1UdDgQWBBR6IAvKJww+
|
||||||
|
4tSJhRQWwBLvR7U07DAzBgNVHREELDAqghQqLnNlcnZpY2VwYXJ0czI0LmNvbYIS
|
||||||
|
c2VydmljZXBhcnRzMjQuY29tMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggr
|
||||||
|
BgEFBQcDAQYIKwYBBQUHAwIwPgYDVR0gBDcwNTAzBgZngQwBAgEwKTAnBggrBgEF
|
||||||
|
BQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMIGABggrBgEFBQcBAQR0
|
||||||
|
MHIwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBKBggrBgEF
|
||||||
|
BQcwAoY+aHR0cDovLasdasdasd
|
||||||
|
-----END CERTIFICATE-----
|
||||||
19
data/ssl/www.test.com/www.test.com.key
Normal file
19
data/ssl/www.test.com/www.test.com.key
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIEpQIBAAKCAQEAhyBYIXlHQpZfDa5iCOgzauUDEaS6cBrjV50bIlRt9N2RVCUq
|
||||||
|
2tbbPmzyJUqf9+ucKP4iLcFIJ3OoAaNcmwoJTEk2uPjFeSIv7r1s67C1Q/SPfsKq
|
||||||
|
3RSSRJjskcBTT/cMllv52dabR2r2iiLQQNfWtgU3sYbS5z/TiQxEOmtBqE95TbyM
|
||||||
|
t0vPQdSJj3aLFDlswNx6GqS+XW5SVFK6fcrtnQXcO+R+5ZcsZp87SDhUwU0wHPee
|
||||||
|
W92nzbQTEy6Xx4MUKhxQgUFivj/ZecppwBnRlKcYt7Q7p4dJ74a1KVAsTOuW/2lF
|
||||||
|
+f+5VsqcHWjdvRNgZTRqRNM2ckMfrJzHQRAS8QIDAQABAoIBAArscHN0THBzm4eN
|
||||||
|
m1tA+jcgAFmCyZeadNp2VuU1khYDe2YkAwzh5aNsRz8Ag2IVZ/Bgav7r6xtVXDWV
|
||||||
|
sTzPWOUT3hqh8cTTILDaG14KUP0HXjpPHmT07sYg3q8Brzp9rETTdqVHlhH18axF
|
||||||
|
GDTFvhPE5DWzwoTzQfSIS1O1q/8hHzR76LAI+l82rrNeD11zFZZ0BYaB7ebWWPN2
|
||||||
|
/xi4C1QvHWSKz/m0WeGodpf+iy4k3tqnN7EGHgcn9Ro+nOSSrCLPWjBHcD/sBgeT
|
||||||
|
xwKA/ESwpbW0QHp1nKvn0oK3Q0NksISsNffVgI21XgaNFU0DwyOxSXeLC61grcXo
|
||||||
|
v06vgAkCgYEA160bHm6RQdNEZXJ7kb5hrJ1XHQWkaFAh8GF1MkaHsDAi8NiIIQ46
|
||||||
|
2+L5pBDbjXk11wXG6Augbd4nJbostwWZy3sHqzv6mu1Uvh1WzH8X5t8lQEyYHhyZ
|
||||||
|
d6rK0lcXARP8p1i28EUR+oHn6y0BK9bK5WwLVqaW/NFs1VhrI7oqv+cCgYEAoGPi
|
||||||
|
/i8inUWJYWF2J6ZSh7kjkJDS5TxZoe8AldscAG8vMGfkmrMaz/t2zf06ByCo1wks
|
||||||
|
ijvbeOI3AGBE5C3hIcNNnXXnkHjdrR0pXb9pxI1CuFEdjmJV8eSmUKzVoWG3wkLU
|
||||||
|
/2ekYHPadasdasd
|
||||||
|
-----END RSA PRIVATE KEY-----
|
||||||
5
data/www/index.html
Normal file
5
data/www/index.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
Test
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
1
data/www/phpinfo.php
Normal file
1
data/www/phpinfo.php
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?php phpinfo()?>
|
||||||
75
docker-compose.yaml
Normal file
75
docker-compose.yaml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
version: '3.3'
|
||||||
|
services:
|
||||||
|
php-fpm:
|
||||||
|
container_name: php-fpm
|
||||||
|
build:
|
||||||
|
context: './docker/php-fpm'
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- '${DOCUMENT_ROOT}:/var/www/html'
|
||||||
|
- '${PHP_FPM_INI}:/usr/local/etc/php/conf.d/php.override.ini'
|
||||||
|
- '${LOG_ROOT}php-fpm:/var/log/php'
|
||||||
|
environment:
|
||||||
|
MYSQL_USER: ${MYSQL_USER}
|
||||||
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||||||
|
depends_on:
|
||||||
|
- 'mysql'
|
||||||
|
mysql:
|
||||||
|
container_name: mysql
|
||||||
|
build:
|
||||||
|
context: './docker/mysql'
|
||||||
|
restart: always
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
- MYSQL_USER=${MYSQL_USER_NEW}
|
||||||
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD_NEW}
|
||||||
|
- MYSQL_DATABASE=${MYSQL_DATABASE_NEW}
|
||||||
|
ports:
|
||||||
|
- '${MYSQL_PORT}:3306'
|
||||||
|
volumes:
|
||||||
|
- '${MYSQL_CONFIG_ROOT}:/etc/mysql/conf.d'
|
||||||
|
- '${LOG_ROOT}mysql:/var/log/mysql'
|
||||||
|
- '${MYSQL_BACKUP}:/var/log/mysql/backup'
|
||||||
|
phpmyadmin:
|
||||||
|
container_name: 'phpmyadmin'
|
||||||
|
image: phpmyadmin/phpmyadmin
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
- apache
|
||||||
|
- php-fpm
|
||||||
|
volumes:
|
||||||
|
- '${PMA_CFG}:/etc/phpmyadmin/config.user.inc.php'
|
||||||
|
- '${PHP_PMA_INI}:/usr/local/etc/php/php.ini'
|
||||||
|
environment:
|
||||||
|
PMA_HOST: mysql
|
||||||
|
PMA_PORT: 3306
|
||||||
|
PMA_USER: root
|
||||||
|
PMA_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||||||
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||||||
|
MYSQL_USER: ${MYSQL_USER}
|
||||||
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||||||
|
UPLOAD_LIMIT: 1G
|
||||||
|
ports:
|
||||||
|
- '${PMA_PORT}:80'
|
||||||
|
apache:
|
||||||
|
build:
|
||||||
|
context: ./docker/apache
|
||||||
|
container_name: 'apache'
|
||||||
|
restart: 'always'
|
||||||
|
ports:
|
||||||
|
- "${APACHE_PORT}:80"
|
||||||
|
- "${APACHES_PORT}:443"
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
volumes:
|
||||||
|
- ${DOCUMENT_ROOT}:/var/www/html
|
||||||
|
- ${EXZEICHNUNGEN}:/var/www/html/Exzeichnungen
|
||||||
|
- ${PHP_INI}:/usr/local/etc/php/php.ini
|
||||||
|
- ${APACHE_VHOSTS}:/etc/apache2/sites-enabled
|
||||||
|
- ${LOG_ROOT}apache:/var/log/apache2
|
||||||
|
- ${SSL_ROOT}:/etc/ssl/custom
|
||||||
|
environment:
|
||||||
|
PMA_PORT: ${PMA_PORT}
|
||||||
81
docker/apache/Dockerfile
Normal file
81
docker/apache/Dockerfile
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
FROM php:7.4.2-apache-buster
|
||||||
|
|
||||||
|
# Surpresses debconf complaints of trying to install apt packages interactively
|
||||||
|
# https://github.com/moby/moby/issues/4032#issuecomment-192327844
|
||||||
|
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Update
|
||||||
|
RUN apt-get -y update --fix-missing && \
|
||||||
|
apt-get upgrade -y && \
|
||||||
|
apt-get --no-install-recommends install -y apt-utils && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
# Install useful tools and install important libaries
|
||||||
|
RUN apt-get -y update && \
|
||||||
|
apt-get -y --no-install-recommends install nano wget \
|
||||||
|
dialog \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libsqlite3-0 && \
|
||||||
|
apt-get -y --no-install-recommends install default-mysql-client \
|
||||||
|
zlib1g-dev \
|
||||||
|
libzip-dev \
|
||||||
|
libicu-dev && \
|
||||||
|
apt-get -y --no-install-recommends install --fix-missing apt-utils \
|
||||||
|
build-essential \
|
||||||
|
git \
|
||||||
|
curl \
|
||||||
|
libonig-dev && \
|
||||||
|
apt-get -y --no-install-recommends install --fix-missing libcurl4 \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
zip \
|
||||||
|
openssl && \
|
||||||
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
|
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||||
|
|
||||||
|
# Install xdebug
|
||||||
|
RUN pecl install xdebug-2.8.0 && \
|
||||||
|
docker-php-ext-enable xdebug
|
||||||
|
|
||||||
|
# Install redis
|
||||||
|
RUN pecl install redis-5.1.1 && \
|
||||||
|
docker-php-ext-enable redis
|
||||||
|
|
||||||
|
# Install imagick
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get -y --no-install-recommends install --fix-missing libmagickwand-dev && \
|
||||||
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
|
pecl install imagick && \
|
||||||
|
docker-php-ext-enable imagick
|
||||||
|
|
||||||
|
# Other PHP7 Extensions
|
||||||
|
|
||||||
|
RUN docker-php-ext-install pdo_mysql && \
|
||||||
|
docker-php-ext-install pdo_sqlite && \
|
||||||
|
docker-php-ext-install mysqli && \
|
||||||
|
docker-php-ext-install curl && \
|
||||||
|
docker-php-ext-install tokenizer && \
|
||||||
|
docker-php-ext-install json && \
|
||||||
|
docker-php-ext-install zip && \
|
||||||
|
docker-php-ext-install -j$(nproc) intl && \
|
||||||
|
docker-php-ext-install mbstring && \
|
||||||
|
docker-php-ext-install gettext && \
|
||||||
|
docker-php-ext-install exif
|
||||||
|
|
||||||
|
|
||||||
|
# Install Freetype
|
||||||
|
RUN apt-get -y update && \
|
||||||
|
apt-get --no-install-recommends install -y libfreetype6-dev \
|
||||||
|
libjpeg62-turbo-dev \
|
||||||
|
libpng-dev && \
|
||||||
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
|
docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg && \
|
||||||
|
docker-php-ext-install gd
|
||||||
|
|
||||||
|
# Enable apache modules
|
||||||
|
RUN a2enmod rewrite headers
|
||||||
|
RUN a2enmod ssl
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
RUN rm -rf /usr/src/*
|
||||||
5
docker/mysql/Dockerfile
Normal file
5
docker/mysql/Dockerfile
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
FROM mysql:latest
|
||||||
|
RUN mkdir -p /var/log/mysql/backup
|
||||||
|
RUN touch /var/log/mysql/mysql_error.log /var/log/mysql/mysql.log /var/log/mysql/mysql_slow.log
|
||||||
|
RUN chown -R mysql:root /var/log/mysql
|
||||||
|
|
||||||
9
docker/php-fpm/Dockerfile
Normal file
9
docker/php-fpm/Dockerfile
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
FROM php:7.4.13-fpm-alpine3.12
|
||||||
|
|
||||||
|
RUN docker-php-ext-install mysqli pdo pdo_mysql
|
||||||
|
|
||||||
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||||
|
|
||||||
|
|
||||||
|
# Set working directory
|
||||||
|
WORKDIR /var/www
|
||||||
Reference in New Issue
Block a user