Selaa lähdekoodia

working ssl

master
Daniel 2 vuotta sitten
vanhempi
commit
0d6250315b
11 muutettua tiedostoa jossa 213 lisäystä ja 42 poistoa
  1. +41
    -22
      .docker/Dockerfile
  2. +19
    -0
      .docker/apache/localhost.crt
  3. +28
    -0
      .docker/apache/localhost.key
  4. +41
    -0
      .docker/apache/vhost.conf
  5. +24
    -11
      .docker/docker-compose.yml
  6. +3
    -0
      .gitignore
  7. +55
    -6
      README.md
  8. +0
    -0
      logs/tbserver-cron-log.txt
  9. +0
    -0
      logs/tbserver-log.txt
  10. +0
    -3
      public/index.php
  11. +2
    -0
      src/index.php

+ 41
- 22
.docker/Dockerfile Näytä tiedosto

@@ -1,27 +1,55 @@
FROM php:8.1-apache

ENV APACHE_DOCUMENT_ROOT /var/www/html/public
ENV APACHE_DOCUMENT_ROOT /var/www/html
ENV APACHE_SERVER_NAME localhost
#ENV APACHE_SERVER_NAME 172.0.0.1
ENV PATH="$PATH"
WORKDIR /var/www/html

RUN apt-get update

# Install php and extensions
RUN apt-get update
RUN apt-get install -y \
git zip \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libicu-dev \
libxml2-dev \
libxslt1-dev \
libzip-dev \
zip \
&& docker-php-ext-install -j$(nproc) iconv \
&& docker-php-ext-configure gd --with-jpeg=/usr/include/ --with-freetype=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install -j$(nproc) intl \
&& docker-php-ext-install -j$(nproc) pdo_mysql
&& docker-php-ext-install -j$(nproc) pdo_mysql \
&& docker-php-ext-install bcmath \
&& docker-php-ext-install soap \
&& docker-php-ext-install xsl \
&& docker-php-ext-install zip \
&& docker-php-ext-install sockets

# Increase memory limit for php
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
RUN echo 'memory_limit = 2048M' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini;

RUN apt-get install -y git zip
# Create ssl directory for apache and copy vhost.conf
RUN mkdir /etc/apache2/sites-available/ssl
COPY ./apache/vhost.conf /etc/apache2/sites-available/000-default.conf

# Copy app code into container -> NOTE: "./" -> means dir of volume in docker-compose (./../src:/var/www/html)
COPY ./ /var/www/html

WORKDIR /var/www/html
RUN chown -R www-data:www-data /var/www/html && a2enmod rewrite ssl

# Install nano
RUN apt install nano

# Download an install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Install xdebug
RUN pecl install xdebug-3.1.5 \
&& docker-php-ext-enable xdebug \
&& echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
@@ -31,23 +59,14 @@ RUN pecl install xdebug-3.1.5 \
&& echo 'xdebug.log=/var/www/var/log/xdebug.log' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo 'xdebug.log_level=0' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini

RUN a2enmod rewrite && a2enmod headers
RUN a2ensite 000-default

COPY ./ /var/www/html

RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf


RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"

RUN chown -R www-data:www-data /var/www/html/
# Expose port 80
#EXPOSE 80

COPY /init.sh /init.sh
RUN chmod 755 /init.sh
RUN chmod +x /init.sh
EXPOSE 80
# Optional: shell script to initialize
#COPY /init.sh /init.sh
#RUN chmod 755 /init.sh
#RUN chmod +x /init.sh
#ENTRYPOINT ["/init.sh"]

ENTRYPOINT ["/init.sh"]
# Set apache foreground explicitely (maybe not necessary in all cases)
CMD ["apache2-foreground"]

+ 19
- 0
.docker/apache/localhost.crt Näytä tiedosto

@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDDzCCAfegAwIBAgIUacRT0wfDwFpu2HEAkbuTxeF7UMswDQYJKoZIhvcNAQEL
BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDkyOTA5MjM0M1oXDTIzMTAy
OTA5MjM0M1owFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAwh2eWfKmijSIrDRZAJVcmg4oZgWUmJf+8DEgP+5KBB2b
r88Vaw9+eNYo2NWMCEFswCFbyWfMcnDfIpybV25OQTJQjiGdCsXkRuEnIQbOMasz
0mD+oWBzEVaB4SpLRAFpBKl8+XHgsAT6J3NTk26RhaZY6i+WqvAkY0R1fbFwJ31z
9OYkNE8QeRoC+MQMWdiXuXflN+5NUUs8WR7zvr+CjSmHEUKpDnEv4MWUWkfiL2Zy
xEPagl0IiHrXuXUWqzaq+mr+ATlnNouU+dcO44NdiBmzh2GVK442dW0JjgdQjUgs
Y0XVQ2qh9u7x6TGU27jCgouM7gi1suOAxtKjQbEmbwIDAQABo1kwVzAUBgNVHREE
DTALgglsb2NhbGhvc3QwCwYDVR0PBAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMB
MB0GA1UdDgQWBBTepkPYYWeaCWfqRoVe2yHz8HHX+DANBgkqhkiG9w0BAQsFAAOC
AQEAW6A/oqkgb32Mx7BaIWz491SEC6QWeQgQYres8WpiwP51aks10W41Ofli/JAS
N69p6PmkpXrfrJPq5+rTqCquNtqVAaS6ub66uvGviavAvmYN/Ach3EniQePeVrMN
F+QQkO4HCh930TIRI+966Vf1PmPw21uNR784bGtYVCZkL5RZftjNXX+VkK3UUbUd
D70aAWrO+VE5WhVOZ8nptP1EkW0FskzXlRWgiwYjClircnIQyFqBrwrCfIkdkddi
g+Yya0+8BPxluvpnRwXZBy4scQsgeYK36GRLj/hwjpJxuqzAKy3EvCx7l26orTXP
vGRifB/WxTmhZKW3LXW3RjJ43Q==
-----END CERTIFICATE-----

+ 28
- 0
.docker/apache/localhost.key Näytä tiedosto

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDCHZ5Z8qaKNIis
NFkAlVyaDihmBZSYl/7wMSA/7koEHZuvzxVrD3541ijY1YwIQWzAIVvJZ8xycN8i
nJtXbk5BMlCOIZ0KxeRG4SchBs4xqzPSYP6hYHMRVoHhKktEAWkEqXz5ceCwBPon
c1OTbpGFpljqL5aq8CRjRHV9sXAnfXP05iQ0TxB5GgL4xAxZ2Je5d+U37k1RSzxZ
HvO+v4KNKYcRQqkOcS/gxZRaR+IvZnLEQ9qCXQiIete5dRarNqr6av4BOWc2i5T5
1w7jg12IGbOHYZUrjjZ1bQmOB1CNSCxjRdVDaqH27vHpMZTbuMKCi4zuCLWy44DG
0qNBsSZvAgMBAAECggEAL62YtF0ePLn0i997sOH+0bQChjR+sBA9RP+7/RfpRCOF
luQVTauLk+B+PewNrgVr0bEf21NMaxuAIv82RH5KaEcUdCSbbwb2L9ajhsAmKxry
6ox6XmbTPIHz+rspq3VxNvzuPlKTLoi6bLAt6ftxcNNP6Y1ww2GifmNVPF81vezr
5UegZM4IhibpMjat4KOWGQRq6tOyFbb0HxFaIwEOPFXiJOhm62mCaNXLW/LsyM99
285t8G6tiEBkkI1TmSwaTW74sVqO6/7ixtNxbpgT3I0d4wTplbD6h1nmr7Jx3vfo
GvfmnyVQ8F6iNVn9fmA8Fkd3NbHEbDoRXYfM/j4BwQKBgQDiuUcpFCe73ATWWRNT
pKeFO5fDRk/8e3DB8pP7fjGyNMR/AWZlHHew3jddcq5USHCsIuSO6C5ziLvHa+Lu
DoVTQ5Lx/u8wBDB+yuwt6kNzoxaL05H7lIllUVGBheF4HDXyOHhia6OWZn6UXlu2
gmVBDxpsjcVjx/aoCJIvTXLAjwKBgQDbLm27lXvF+K4xbLin7Kfwl3C2jxYB7mBL
In/x/xNqgifTrcpMDxpnStFzpQHKZ1RT9fV2BPLlfPjsgUJiRUJ0jgfuO3WUjs5w
YIh+wKQE+/o56OqMA7oM+yIRMNO9/MmocdPtic2gvq1tDG46M8Qox8EAnTChpHbp
gw5VGbZsIQKBgAXFOW5uOOSrIORjt/40/p6BecdajsaaTbBiACoyeAlVFns1Ceog
41r5DOev94floBiBete4SRZfsIfO0yPD8ti/q4nFN0k9kg5oE8LHZ5gV2okMhXal
vSl6/FwTkD2CWk0j6sx2eN9nFGmqTSNEBle1jrKcmR2FBV4Zeb8CdZ05AoGAFJkd
aOaYdjdzr2NnSyi7c6nXxuBVkiLj28vHOGffXEAVHBiWDWXR9mkanAKi03G4hBd2
VPwME7MV9awEIBYgM7HxXtsppqdxETCRQ1A5WdqQXobcHAJxpqynO/RZwd4S2Yix
AP7VW0jwJXJonYGl6qszISqkmlxJbJKLc0XyVeECgYBVLs9eAGLVUQnMfm3c6ykA
61Olqkz5gMSRClpMDffrIeH6P261KsEsopV/8rdWyrvTEzba/g2vNsy+ybgxx8bD
fOGMch/Vz3fYIuTKvB9d604rCjV3Z5qeiqwG2TuI8uuFHAHo3EI90zt7BRF9y+R+
4hPycH/ZTj4TND2bZDxbOA==
-----END PRIVATE KEY-----

+ 41
- 0
.docker/apache/vhost.conf Näytä tiedosto

@@ -0,0 +1,41 @@
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so

<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html

<Directory "/var/www/html">
Options Indexes FollowSymLinks Includes execCGI
AllowOverride All
Require all granted
allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost _default_:443>

DocumentRoot "/var/www/html"
ServerName localhost:443
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

SSLEngine on

SSLCertificateFile "/etc/apache2/sites-available/ssl/localhost.crt"
SSLCertificateKeyFile "/etc/apache2/sites-available/ssl/localhost.key"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>

<Directory "/var/www/html">
Options Indexes FollowSymLinks Includes execCGI
AllowOverride All
Require all granted
</Directory>

</VirtualHost>

+ 24
- 11
.docker/docker-compose.yml Näytä tiedosto

@@ -1,34 +1,47 @@
version: '3.7'
name: spt-magento

services:
database:
image: mariadb
container_name: skeleton-mariadb
mariadb:
image: mariadb:10.4
container_name: mariadb-10.4
ports:
- "3401:3306"
environment:
# think about .env file here
MYSQL_ROOT_PASSWORD: root
volumes:
- ./../.db:/var/lib/mysql
- ./../.mariadb:/var/lib/mysql
restart: always
networks:
- default
php:
php-apache:
build:
context: ./
context: .
dockerfile: Dockerfile
image: 'skeleton_php'
container_name: skeleton-php
image: 'php81_apache'
container_name: php-8.1-apache
environment:
- "APACHE_LOG_DIR:/src"
ports:
- '8101:80'
- '80:80'
- '443:443'
volumes:
- ./../:/var/www/html
- ./apache:/etc/apache2/sites-available/ssl
- ./../src:/var/www/html
networks:
- default
depends_on:
- mariadb
- elasticsearch
elasticsearch:
image: docker.io/bitnami/elasticsearch:7
container_name: elasticsearch7
volumes:
- ./../.elasticsearch:/bitnami/elasticsearch/data'
phpmyadmin:
image: phpmyadmin
container_name: skeleton-phpmyadmin
container_name: phpmyadmin
restart: always
ports:
- "8102:80"


+ 3
- 0
.gitignore Näytä tiedosto

@@ -0,0 +1,3 @@
.idea
.mariadb
.elasticsearch

+ 55
- 6
README.md Näytä tiedosto

@@ -1,29 +1,78 @@
# contao-docker-test
# magento-test

#Installation:

# Some important information

# Some helpful docker commands:

# Build all containers
- `docker-compose up -d`

# Stop all containers
- `docker-compose down`
- `docker exec -it tb-con-tbuddy /bin/bash`
- `docker build -t tb-con-tbuddy .`
- `docker image rm tb_spt_image`

# Remove image
- `docker image rm php81_apache`

# Stop containers, remove image and recreation of container
- `docker-compose down && docker image rm php81_apache && docker-compose up -d`

# Get into container
- `docker exec -it php-8.1-apache /bin/bash`


- `docker build -t magento-php .`
- `docker image rm magento_php`
- `docker ps`
- `docker ps --all`
- `docker container stop $(docker container ls -aq)`
- `docker container rm $(docker container ls -aq)`
- `docker rmi $(docker images -q)`
- `docker stop spt_tbuddy && docker rm spt_tbuddy && docker rmi spt_tb && docker-compose up -d`
- `docker stop magento-test && docker rm magento-test && docker rmi spt_tb && docker-compose up -d`

# Some helpful other commands:
- Restart Apache within the container
- Go into docker container `docker exec -it spt_tbuddy /bin/bash`
- Go into docker container `docker exec -it magento-php /bin/bash`
- Apache restart `sudo /etc/init.d/apache2 reload`

# Clean restart of Docker instance
1. Stop the container(s) using the following command: `docker-compose down`
2. Delete all containers using the following command: `docker rm -f $(docker ps -a -q)`
3. Delete all volumes using the following command: `docker volume rm $(docker volume ls -q)`
4. Restart the containers using the following command: `docker-compose up -d`
4. Restart the containers using the following command: `docker-compose up -d`


# INSTALL MAGENTO via composer
- docker Container starten und in den Container wechseln
- composer install
- "bin/magento install" Befehl:
php bin/magento setup:install --base-url="http://127.0.0.1" \
--db-host="magento-mariadb" \
--db-name="magento" \
--db-user="root" \
--db-password="root" \
--admin-firstname="Admin" \
--admin-lastname="Admin" \
--admin-email="re@spawntree.de" \
--admin-user="admin" \
--admin-password="magento2test" \
--use-rewrites="1" \
--backend-frontname="admin" \
--db-prefix=mage_ \
--search-engine=elasticsearch7 \
--elasticsearch-host=elasticsearch \
--elasticsearch-port=9200

# create admin account
bin/magento admin:user:create --admin-user=admin --admin-password=admin2spt --admin-email=re@spawntree.de --admin-firstname=Admin --admin-lastname=Administrator

# mkdir for volumes
mkdir -m 775 elasticsearch_data magento_data mariadb_data
mkdir .elasticsearch .mariadb

# standard permission magento - do we use it?
find . -type d -exec chmod 0711 {} +
find . -type f -exec chmod 0644 {} +
find . -type f -name “*.php” -exec chmod 600 {} +

+ 0
- 0
logs/tbserver-cron-log.txt Näytä tiedosto


+ 0
- 0
logs/tbserver-log.txt Näytä tiedosto


+ 0
- 3
public/index.php Näytä tiedosto

@@ -1,3 +0,0 @@
<?php echo 'du bist geil flo' ?>
<?php phpinfo() ?>
<div>hello</div>

+ 2
- 0
src/index.php Näytä tiedosto

@@ -0,0 +1,2 @@
<?php
echo 'hello world';

Ladataan…
Peruuta
Tallenna