@ -0,0 +1,4 @@ | |||||
db_data/ | |||||
wp-content/uploads/ | |||||
wp-content/themes/twentyseventeen/ | |||||
.buildconfig |
@ -1,2 +1,49 @@ | |||||
# Wordpress | # 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: | 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 | restart: always | ||||
ports: | ports: | ||||
- 8080:80 | |||||
- "3306:3306" | |||||
environment: | 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 | restart: always | ||||
environment: | 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: | 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 | |||||
*/ |