| @ -0,0 +1,4 @@ | |||
| db_data/ | |||
| wp-content/uploads/ | |||
| wp-content/themes/twentyseventeen/ | |||
| .buildconfig | |||
| @ -1,2 +1,49 @@ | |||
| # Wordpress | |||
| ## Benutzerrechte auf Host | |||
| Zum Ermöglichen serverseitiger/lokaler Arbeiten an Themes, Plugins und anderen Änderungen bei gleichzeitiger Dashboard-Kompatibilität über das Wordpress Backend. | |||
| ``` | |||
| sudo chown -R www-data:www-data wp-content/themes/ | |||
| mkdir wp-content/uploads/ | |||
| sudo chown -R www-data:www-data wp-content/uploads/ | |||
| sudo chmod g+w wp-content/uploads/ wp-content/themes/ | |||
| sudo chown www-data:www-data wp-cli.phar | |||
| sudo chmod g+x wp-cli.phar | |||
| ``` | |||
| > ggf. lokalen Computer-Benutzer der www-data Gruppe hinzufügen: | |||
| ``` | |||
| sudo usermod -a -G www-data <USER> | |||
| ``` | |||
| >→ Computer-Benutzer neu einloggen! | |||
| ## Datenbank | |||
| ### Datenbank importieren | |||
| ``` | |||
| docker exec -i <DB-CONTAINER-NAME> mysql -uwordpress -pwordpress wordpress < /path/to/sql/file.sql | |||
| ``` | |||
| ### URL auf localhost:8000 in der Datenbank umstellen | |||
| ``` | |||
| docker exec -i -u www-data <WP-CONTAINER-NAME> wp search-replace '<REMOTE URL>' 'http://localhost:8000' --skip-columns=guid | |||
| ``` | |||
| ### MYSQL Random Root Passwort auslesen | |||
| ``` | |||
| docker logs <DB-CONTAINER-NAME> 2>&1 | grep GENERATED | |||
| ``` | |||
| ## Wordpress-Benutzer verwalten | |||
| ### Benutzer erstellen | |||
| ``` | |||
| docker exec -i -u www-data <WP-CONTAINER-NAME> wp user create <WP-USER> <E-MAIL> --role=administrator | |||
| ``` | |||
| ### Benutzerpasswort ändern | |||
| Das kann aber nur im Container selbst erfolgen. | |||
| ``` | |||
| wp user update <WP-USER> --prompt=user_pass | |||
| ``` | |||
| ## Notes | |||
| - download theme | |||
| - "emma" als Datenbank Client | |||
| - db.env auf Prod-Server anlegen (Variablen-Datei) | |||
| @ -0,0 +1,41 @@ | |||
| version: '3.3' | |||
| services: | |||
| db: | |||
| image: mariadb:10.5 | |||
| container_name: wordpress-openwill-db | |||
| volumes: | |||
| - /opt/docker/wordpress-openwill/db_data:/var/lib/mysql | |||
| restart: always | |||
| environment: | |||
| - MYSQL_RANDOM_ROOT_PASSWORD='1' | |||
| - MYSQL_DATABASE=${MYSQL_DATABASE} | |||
| - MYSQL_USER=${MYSQL_USER} | |||
| - MYSQL_PASSWORD=${MYSQL_PASSWORD} | |||
| env_file: | |||
| - db.env | |||
| networks: | |||
| - backend-wordpress-openwill | |||
| wordpress: | |||
| image: wordpress:5.4.2-apache | |||
| container_name: wordpress-openwill | |||
| ports: | |||
| - "8081:80" | |||
| restart: always | |||
| environment: | |||
| - WORDPRESS_DB_HOST=db:3306 | |||
| - WORDPRESS_DB_USER=${MYSQL_USER} | |||
| - WORDPRESS_DB_PASSWORD=${MYSQL_PASSWORD} | |||
| - WORDPRESS_DB_NAME=${MYSQL_DATABASE} | |||
| env_file: | |||
| - db.env | |||
| volumes: | |||
| - ./wp-content/themes:/var/www/html/wp-content/themes:ro | |||
| - /opt/docker/wordpress-openwill/uploads:/var/www/html/wp-content/uploads | |||
| - ./wp-cli.phar:/usr/local/bin/wp | |||
| networks: | |||
| - backend-wordpress-openwill | |||
| - nginx-proxy | |||
| depends_on: | |||
| - db | |||
| @ -1,29 +1,35 @@ | |||
| version: '3.1' | |||
| version: '3.3' | |||
| services: | |||
| app: | |||
| image: wordpress:5.4.1-php7.2-fpm | |||
| db: | |||
| image: mariadb:10.5 | |||
| container_name: wordpress-openwill-db | |||
| volumes: | |||
| - ./db_data:/var/lib/mysql | |||
| restart: always | |||
| ports: | |||
| - 8080:80 | |||
| - "3306:3306" | |||
| environment: | |||
| WORDPRESS_DB_HOST: db | |||
| WORDPRESS_DB_USER: exampleuser | |||
| WORDPRESS_DB_PASSWORD: examplepass | |||
| WORDPRESS_DB_NAME: exampledb | |||
| volumes: | |||
| - ./wordpress:/var/www/html | |||
| depends_on: | |||
| - db | |||
| MYSQL_RANDOM_ROOT_PASSWORD: '1' | |||
| MYSQL_DATABASE: wordpress | |||
| MYSQL_USER: wordpress | |||
| MYSQL_PASSWORD: wordpress | |||
| db: | |||
| image: mariadb:10.5.3 | |||
| wordpress: | |||
| image: wordpress:5.4.2-apache | |||
| container_name: wordpress-openwill | |||
| ports: | |||
| - "8000:80" | |||
| restart: always | |||
| environment: | |||
| MYSQL_DATABASE: exampledb | |||
| MYSQL_USER: exampleuser | |||
| MYSQL_PASSWORD: examplepass | |||
| MYSQL_RANDOM_ROOT_PASSWORD: '1' | |||
| WORDPRESS_DB_HOST: db:3306 | |||
| WORDPRESS_DB_USER: wordpress | |||
| WORDPRESS_DB_PASSWORD: wordpress | |||
| WORDPRESS_DB_NAME: wordpress | |||
| volumes: | |||
| - ./db:/var/lib/mysql | |||
| - ./wp-content/themes:/var/www/html/wp-content/themes | |||
| - ./wp-content/uploads:/var/www/html/wp-content/uploads | |||
| - ./wp-cli.phar:/usr/local/bin/wp | |||
| depends_on: | |||
| - db | |||
| @ -0,0 +1,9 @@ | |||
| docker exec -i -u www-data wordpress-openwill wp plugin install \\ | |||
| polylang \\ | |||
| contact-form-7 \\ | |||
| posts-in-category-widget \\ | |||
| shapepress-dsgvo \\ | |||
| wordpress-importer \\ | |||
| widget-importer-exporter | |||
| recent-posts-widget-with-thumbnails \\ | |||
| --activate | |||
| @ -0,0 +1,2 @@ | |||
| <?php | |||
| // Silence is golden. | |||
| @ -0,0 +1,51 @@ | |||
| <?php | |||
| /** | |||
| * The template for displaying the footer | |||
| * | |||
| * Contains the closing of the #content div and all content after. | |||
| * | |||
| * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials | |||
| * | |||
| * @package WordPress | |||
| * @subpackage Twenty_Seventeen | |||
| * @since Twenty Seventeen 1.0 | |||
| * @version 1.2 | |||
| */ | |||
| ?> | |||
| </div><!-- #content --> | |||
| <footer id="colophon" class="site-footer" role="contentinfo"> | |||
| <div class="wrap"> | |||
| <?php | |||
| get_template_part( 'template-parts/footer/footer', 'widgets' ); | |||
| if ( has_nav_menu( 'social' ) ) : | |||
| ?> | |||
| <nav class="social-navigation" role="navigation" aria-label="<?php esc_attr_e( 'Footer Social Links Menu', 'twentyseventeen' ); ?>"> | |||
| <?php | |||
| wp_nav_menu( | |||
| array( | |||
| 'theme_location' => 'social', | |||
| 'menu_class' => 'social-links-menu', | |||
| 'depth' => 1, | |||
| 'link_before' => '<span class="screen-reader-text">', | |||
| 'link_after' => '</span>' . twentyseventeen_get_svg( array( 'icon' => 'chain' ) ), | |||
| ) | |||
| ); | |||
| ?> | |||
| </nav><!-- .social-navigation --> | |||
| <?php | |||
| endif; | |||
| get_template_part( 'template-parts/footer/site', 'info' ); | |||
| ?> | |||
| </div><!-- .wrap --> | |||
| </footer><!-- #colophon --> | |||
| </div><!-- .site-content-contain --> | |||
| </div><!-- #page --> | |||
| <?php wp_footer(); ?> | |||
| </body> | |||
| </html> | |||
| @ -0,0 +1,13 @@ | |||
| /* | |||
| Theme Name: Twenty Seventeen Child | |||
| Theme URI: https://gitea.openwill.de/Applications/Wordpress | |||
| Description: Twenty Seventeen Child Theme | |||
| Author: Timm Wille | |||
| Author URI: https://openwill.de | |||
| Template: twentyseventeen | |||
| Version: 0.1 | |||
| License: CC-BY 4.0 | |||
| License URI: https://gitea.openwill.de/Applications/Wordpress/src/branch/master/LICENSE | |||
| Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready | |||
| Text Domain: twentyseventeenchild | |||
| */ | |||