Mediawiki-docker-compose-ldap-ucs: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Verzeichnisse anlegen= *mkdir mediawiki *cd mediawiki *mkdir mariadb =Docker Compose= <syntaxhighlight lang="yaml"> version: '3' services: mediawiki: i…“)
 
 
(27 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=UCS Vorarbeiten=
 +
*cat /etc/apache2/sites-enables/default-ssl.conf
 +
ProxyPass /mediawiki/ http://127.0.0.1:30000/mediawiki/ retry=0
 +
ProxyPassReverse /mediawiki/ http://127.0.0.1:30000/mediawiki/
 +
=Apache2 neustarten=
 +
*systemctl restart apache2
 +
 
=Verzeichnisse anlegen=
 
=Verzeichnisse anlegen=
 +
*cd /var/lib/univention-appcenter/apps
 
*mkdir mediawiki
 
*mkdir mediawiki
 
*cd mediawiki
 
*cd mediawiki
*mkdir mariadb
+
*mkdir mariadb html
  
 
=Docker Compose=
 
=Docker Compose=
Zeile 9: Zeile 17:
 
services:
 
services:
 
   mediawiki:
 
   mediawiki:
     image: weyon/mediawiki-ldap:latest
+
     image: xinux/mediawiki-ldap-plugins:latest
 
     restart: always
 
     restart: always
 
     ports:
 
     ports:
       - 8081:80
+
       - 30000:80
 
     links:
 
     links:
 
       - database
 
       - database
 
     #volumes:
 
     #volumes:
     #   - ./html:/var/www/html/
+
     # - ./html:/var/www/html/
 
     environment:
 
     environment:
 
       LDAPCONF: "/var/www/html/ldap.conf"
 
       LDAPCONF: "/var/www/html/ldap.conf"
Zeile 24: Zeile 32:
 
     volumes:
 
     volumes:
 
       - ./mariadb:/var/lib/mysql
 
       - ./mariadb:/var/lib/mysql
     environment:
+
     env_file:
       - MYSQL_DATABASE="${MYSQL_DATABASE}"
+
       - mariadb.env
      -  MYSQL_USER="${MYSQL_USER}"
+
</syntaxhighlight>
      -  MYSQL_PASSWORD="${MYSQL_PASSWORD}"
+
*cat mariadb.env
      -  MYSQL_RANDOM_ROOT_PASSWORD="${MYSQL_RANDOM_ROOT_PASSWORD}"                                                                   
+
<syntaxhighlight lang="bash">
 +
MYSQL_DATABASE=my_wiki
 +
MYSQL_USER=wiki_user
 +
MYSQL_PASSWORD=sysadm
 +
MYSQL_RANDOM_ROOT_PASSWORD='yes'
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
=Starten=
 
=Starten=
 
*docker-compose up -d
 
*docker-compose up -d
 +
=HTML Verzeichnis kopieren=
 +
*docker cp  mediawiki_mediawiki_1:/var/www/html html/mediawiki
 +
=Mediawiki konfigurieren=
 +
*http://app.meine-domain.org:30000
 +
=LocalSettings kopieren=
 +
*cp /tmp/LocalSettings.php html/mediawiki
 +
*chmod a+r html/mediawiki/LocalSettings.php
 +
 +
=CA Cert kopieren=
 +
*cp /tmp/ca.crt html/ca.crt
 +
 +
=LDAP Conf anlegen=
 +
*cat html/ldap.conf
 +
TLS_CACERT /var/www/html/ca.crt
 +
URI ldaps://ox.meine-domain.org:7636
 +
BASE    dc=meine-domain,dc=org
 +
=LDAP json=
 +
<pre>
 +
{
 +
        "meine-domain.org": {
 +
                "connection": {
 +
                        "server": "ox.meine-domain.org",
 +
                        "port": "7636",
 +
                        "user": "uid=ldapuser,cn=users,dc=meine-domain,dc=org",
 +
                        "pass": "ganz-geheim",
 +
                        "enctype": "ssl",
 +
                        "options": {
 +
                                "LDAP_OPT_DEBUG_LEVEL" : 7,
 +
                                "LDAP_OPT_DEREF": 1
  
=HTML Verzeichnis kopieren=
+
                        },
*docker cp mediawiki_mediawiki_1:/var/www/html .
+
                        "basedn": "dc=meine-domain,dc=org",
 +
                        "userbasedn": "dc=meine-domain,dc=org",
 +
                        "groupbasedn": "dc=meine-domain,dc=org",
 +
                        "searchattribute": "uid",
 +
                        "usernameattribute": "uid",
 +
                        "realnameattribute": "cn",
 +
                        "emailattribute": "mail",
 +
                        "grouprequest": "MediaWiki\\Extension\\LDAPProvider\\UserGroupsRequest\\UserMemberOf::factory",
 +
                        "presearchusernamemodifiers": [ "spacestounderscores", "lowercase" ]
 +
                },
 +
                "userinfo": [],
 +
                "authorization": {
 +
                          "rules": {
 +
                            "groups": {
 +
                            "required" : ["cn=mediawiki,cn=groups,dc=meine-domain,dc=org"]
 +
                                      }
 +
                                  }
 +
                                },
 +
              "groupsync": {
 +
                        "mapping": {
 +
                                "sysop": "cn=mediawiki,cn=groups,dc=meine-domain,dc=org"
 +
                        }
 +
                }
 +
        }
 +
}
 +
</pre>
 +
=LocalSettings ändern=
 +
*cat html/mediawiki/LocalSettings.php
 +
  $wgScriptPath = "/mediawiki";
 +
$wgServer = "http://127.0.0.1:30000";
 
=Kommentarzeichen entfernen=
 
=Kommentarzeichen entfernen=
 
  volumes:
 
  volumes:
 
   - ./html:/var/www/html/
 
   - ./html:/var/www/html/
 +
=Restart vom Container=
 +
*docker-compose down ; docker-compose up -d
 +
=Plugins aktivieren=
 +
*cd html/mediawiki/
 +
*cat < OwnPlugins.php >> LocalSettings.php
 +
=Mediawiki php update=
 +
*docker exec -it mediawiki_mediawiki_1 /bin/bash
 +
*cd /var/www/html/mediawiki/maintenance
 +
*php update.php
 +
*exit
 
=Restart=
 
=Restart=
 
*docker-compose down ; docker-compose up -d
 
*docker-compose down ; docker-compose up -d

Aktuelle Version vom 3. August 2021, 14:39 Uhr

UCS Vorarbeiten

  • cat /etc/apache2/sites-enables/default-ssl.conf
ProxyPass /mediawiki/ http://127.0.0.1:30000/mediawiki/ retry=0
ProxyPassReverse /mediawiki/ http://127.0.0.1:30000/mediawiki/

Apache2 neustarten

  • systemctl restart apache2

Verzeichnisse anlegen

  • cd /var/lib/univention-appcenter/apps
  • mkdir mediawiki
  • cd mediawiki
  • mkdir mariadb html

Docker Compose

version: '3'
services:
  mediawiki:
    image: xinux/mediawiki-ldap-plugins:latest
    restart: always
    ports:
      - 30000:80
    links:
      - database
    #volumes:
    #  - ./html:/var/www/html/
    environment:
      LDAPCONF: "/var/www/html/ldap.conf"
  database:
    image: mariadb
    restart: always
    volumes:
       - ./mariadb:/var/lib/mysql
    env_file:
       - mariadb.env
  • cat mariadb.env
MYSQL_DATABASE=my_wiki
MYSQL_USER=wiki_user
MYSQL_PASSWORD=sysadm
MYSQL_RANDOM_ROOT_PASSWORD='yes'

Starten

  • docker-compose up -d

HTML Verzeichnis kopieren

  • docker cp mediawiki_mediawiki_1:/var/www/html html/mediawiki

Mediawiki konfigurieren

LocalSettings kopieren

  • cp /tmp/LocalSettings.php html/mediawiki
  • chmod a+r html/mediawiki/LocalSettings.php

CA Cert kopieren

  • cp /tmp/ca.crt html/ca.crt

LDAP Conf anlegen

  • cat html/ldap.conf
TLS_CACERT /var/www/html/ca.crt
URI ldaps://ox.meine-domain.org:7636
BASE    dc=meine-domain,dc=org

LDAP json

{
        "meine-domain.org": {
                "connection": {
                        "server": "ox.meine-domain.org",
                        "port": "7636",
                        "user": "uid=ldapuser,cn=users,dc=meine-domain,dc=org",
                        "pass": "ganz-geheim",
                        "enctype": "ssl",
                        "options": {
                                "LDAP_OPT_DEBUG_LEVEL" : 7,
                                "LDAP_OPT_DEREF": 1

                        },
                        "basedn": "dc=meine-domain,dc=org",
                        "userbasedn": "dc=meine-domain,dc=org",
                        "groupbasedn": "dc=meine-domain,dc=org",
                        "searchattribute": "uid",
                        "usernameattribute": "uid",
                        "realnameattribute": "cn",
                        "emailattribute": "mail",
                        "grouprequest": "MediaWiki\\Extension\\LDAPProvider\\UserGroupsRequest\\UserMemberOf::factory",
                        "presearchusernamemodifiers": [ "spacestounderscores", "lowercase" ]
                },
                "userinfo": [],
                "authorization": {
                          "rules": {
                             "groups": {
                             "required" : ["cn=mediawiki,cn=groups,dc=meine-domain,dc=org"]
                                       }
                                   }
                                 },
               "groupsync": {
                        "mapping": {
                                "sysop": "cn=mediawiki,cn=groups,dc=meine-domain,dc=org"
                        }
                }
        }
}

LocalSettings ändern

  • cat html/mediawiki/LocalSettings.php
$wgScriptPath = "/mediawiki";
$wgServer = "http://127.0.0.1:30000";

Kommentarzeichen entfernen

volumes:
 - ./html:/var/www/html/

Restart vom Container

  • docker-compose down ; docker-compose up -d

Plugins aktivieren

  • cd html/mediawiki/
  • cat < OwnPlugins.php >> LocalSettings.php

Mediawiki php update

  • docker exec -it mediawiki_mediawiki_1 /bin/bash
  • cd /var/www/html/mediawiki/maintenance
  • php update.php
  • exit

Restart

  • docker-compose down ; docker-compose up -d