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