Changes

Jump to navigation Jump to search
3,831 bytes added ,  13:56, 29 June 2016
Line 1: Line 1:  +
{{Level|Advanced }}
 +
{{Note box|
 +
'''This wiki page is specific to SME8 only.'''
 +
 +
'''There is a separate wiki page on how to install Zarafa 7.x on SME7 [[Zarafa|Zarafa on SME 7]].'''
 +
 +
'''There is a separate wiki page with a ''fully automated'' install of Zarafa 7.1.x on SME9 that utilizes the unix plugin [[Zarafa on SME 9|Zarafa on SME 9]].'''
 +
}}
 +
 +
 
*'''New zarafa-7.0.x- and z-push-install/upgradescripts for SME8'''<br>  These new scipts always take the default NEW-config-files from the zarafa.rpms (found in /usr/share/doc/zarafa/example-config/) and make SME-templates of these default config-files !  So, you will always have the newest templated config-files, even after upgrading to a new Zarafa-version with altered config-files !<br> There is even more integration with the SME-perlDB too.  (Most of the zarafa-config-keys can be set in the SME-perlDB !).<br>  
 
*'''New zarafa-7.0.x- and z-push-install/upgradescripts for SME8'''<br>  These new scipts always take the default NEW-config-files from the zarafa.rpms (found in /usr/share/doc/zarafa/example-config/) and make SME-templates of these default config-files !  So, you will always have the newest templated config-files, even after upgrading to a new Zarafa-version with altered config-files !<br> There is even more integration with the SME-perlDB too.  (Most of the zarafa-config-keys can be set in the SME-perlDB !).<br>  
 
*You can find a upgrade-path to Z-push 2.0 (tested with Zarafa 7.0.12 and Z-push 2.0.7).<br>
 
*You can find a upgrade-path to Z-push 2.0 (tested with Zarafa 7.0.12 and Z-push 2.0.7).<br>
Line 10: Line 20:  
== Maintainer ==
 
== Maintainer ==
 
Frederik POLLET : [mailto:frederik.pollet@pollet-ghys.be email]
 
Frederik POLLET : [mailto:frederik.pollet@pollet-ghys.be email]
 +
 +
===Version===
 +
{{#smeversion:smeserver-zarafa}}
 +
{{#smeversion:zarafa}}
    
== Description ==
 
== Description ==
Line 19: Line 33:  
Z-push is an implementation of Microsoft's ActiveSync protocol which is used 'over-the-air' for multi platform active sync devices, including Windows Mobile and active sync used on Apple's iPhone, Sony Ericsson and Nokia phones. Open source Z-Push enables any PHP-based groupware package to become fully syncable with any ActiveSync-compliant device.
 
Z-push is an implementation of Microsoft's ActiveSync protocol which is used 'over-the-air' for multi platform active sync devices, including Windows Mobile and active sync used on Apple's iPhone, Sony Ericsson and Nokia phones. Open source Z-Push enables any PHP-based groupware package to become fully syncable with any ActiveSync-compliant device.
   −
== Making some decisions before installing : ==
+
== Making some decisions before installing ==
    
Zarafa can be configured with 3 different 'user-backends' :
 
Zarafa can be configured with 3 different 'user-backends' :
Line 36: Line 50:  
{{Warning box|IMPORTANT : If you want to have a multicompany-environment, <u>format of the SME/unix-username and the ZARAFA-username has to be [username].[companyname]</u> !!!<br>}}
 
{{Warning box|IMPORTANT : If you want to have a multicompany-environment, <u>format of the SME/unix-username and the ZARAFA-username has to be [username].[companyname]</u> !!!<br>}}
   −
== INSTALLATION OF VERSION 7.0.x ==
+
== INSTALLATION of VERSION 7.0.x ==
=== Search latest php53-mapi.rpm ===
+
=== Search latest php53-mapi.rpm for 7.0.x (NOT 7.1.x !) ===
    
SME8 uses PHP5.3<br>
 
SME8 uses PHP5.3<br>
Line 44: Line 58:  
  https://community.zarafa.com/pg/blog/read/1837/support-for-php-53-in-rhel-5-via-new-php53mapi-rpm-package
 
  https://community.zarafa.com/pg/blog/read/1837/support-for-php-53-in-rhel-5-via-new-php53mapi-rpm-package
   −
So, search on the EPEL-repositories the latest php53-mapi-package.
+
So, search on the EPEL-repositories <u>'''the latest''' php53-mapi-package</u> for 7.0.x (NOT 7.1.x !).
    
  https://admin.fedoraproject.org/updates/search/php53-mapi?
 
  https://admin.fedoraproject.org/updates/search/php53-mapi?
Line 72: Line 86:  
  signal-event yum-modify
 
  signal-event yum-modify
   −
=== Download via the Zarafawebsite the package for ZCP corresponding with the php53-mapi.rpm (cf. version above) ===
+
=== Download via the Zarafawebsite the package for ZCP <u>''corresponding'' with the php53-mapi.rpm (cf. version above !!)</u> ===
    
Make an installdirectory (ex. : /root/InstallZarafa)
 
Make an installdirectory (ex. : /root/InstallZarafa)
Line 84: Line 98:  
ex.:  
 
ex.:  
 
   
 
   
  cd /root/InstallZararafa
+
  cd /root/InstallZarafa
    
  wget http://download.zarafa.com/community/final/7.0/[version]/zcp-[version]-rhel-5-[cpu-arch]-free.tar.gz
 
  wget http://download.zarafa.com/community/final/7.0/[version]/zcp-[version]-rhel-5-[cpu-arch]-free.tar.gz
Line 125: Line 139:  
-If you did set the EPEL-repository :
 
-If you did set the EPEL-repository :
   −
  yum install php53-mapi --enablerepo=epel --enablerepo=epel-testing
+
  yum install php53-mapi-[same ZCP-verion as above] --enablerepo=epel --enablerepo=epel-testing
    
=== Make install/update-actions ===
 
=== Make install/update-actions ===
Line 1,509: Line 1,523:  
  signal-event post-upgrade; signal-event reboot
 
  signal-event post-upgrade; signal-event reboot
   −
= UPGRADING of Zarafa =
+
== UPGRADING of Zarafa ==
   −
== VERSION 7.0.x (7.0.x -> 7.0.x) ==
+
=== VERSION 7.0.x (7.0.x -> 7.0.x) ===
=== Download via the Zarafawebsite the package for ZCP corresponding with the newest php53-mapi.rpm (cf. version above) ===
+
==== Download via the Zarafawebsite the package for ZCP corresponding with the newest php53-mapi.rpm (cf. version above) ====
    
Go (cd /...) to the installdirectory (ex. : /root/InstallZarafa) :  
 
Go (cd /...) to the installdirectory (ex. : /root/InstallZarafa) :  
Line 1,520: Line 1,534:  
ex.:  
 
ex.:  
 
   
 
   
  cd /root/InstallZararafa
+
  cd /root/InstallZarafa
    
  wget http://download.zarafa.com/community/final/7.0/[version]/zcp-[version]-rhel-5-[cpu-arch]-free.tar.gz
 
  wget http://download.zarafa.com/community/final/7.0/[version]/zcp-[version]-rhel-5-[cpu-arch]-free.tar.gz
   −
=== Unpack the corresponding package for ZCP :===
+
==== Unpack the corresponding package for ZCP :====
    
  tar -zxvf zcp-*
 
  tar -zxvf zcp-*
   −
=== Remove the devel packages ===
+
==== Remove the devel packages ====
    
Go  (cd ./zcp-...) to the created subdirectory (zcp-...) :
 
Go  (cd ./zcp-...) to the created subdirectory (zcp-...) :
Line 1,537: Line 1,551:  
Move the windows-directory to an installshare in your network
 
Move the windows-directory to an installshare in your network
   −
=== Download the latest webapp.rpm too in the same subdirectory :===
+
==== Download the latest webapp.rpm too in the same subdirectory :====
    
  wget http://download.zarafa.com/community/final/WebApp/[version]/rhel/[zarafa-webapp-version.noarch.rpm]
 
  wget http://download.zarafa.com/community/final/WebApp/[version]/rhel/[zarafa-webapp-version.noarch.rpm]
   −
=== Remove the existing php53-mapi.rpm first : ===
+
==== !!! Remove the existing php53-mapi.rpm first : !!! ====
    
  rpm -e php53-mapi --nodeps
 
  rpm -e php53-mapi --nodeps
   −
=== Install all rpm's in the unpacked package of ZCP and the webapp.rpm too :===
+
==== Install all rpm's in the unpacked package of ZCP and the webapp.rpm too :====
    
  yum localinstall *.rpm
 
  yum localinstall *.rpm
Line 1,556: Line 1,570:  
  rpm -Uvh --force zarafa-webapp-[version].noarch
 
  rpm -Uvh --force zarafa-webapp-[version].noarch
   −
=== Remove the default php-mapi.rpm ===
+
==== Remove the default php-mapi.rpm ====
    
We have to remove the installation of the default php-mapi (because it's not built for php 5.3).
 
We have to remove the installation of the default php-mapi (because it's not built for php 5.3).
Line 1,562: Line 1,576:  
  rpm -e php-mapi --nodeps
 
  rpm -e php-mapi --nodeps
   −
=== Install the php53-mapi.rpm ===
+
==== Install the NEW php53-mapi.rpm ====
 
-If you downloaded the rpm :
 
-If you downloaded the rpm :
   Line 1,569: Line 1,583:  
-If you did set the EPEL-repository :
 
-If you did set the EPEL-repository :
   −
  yum install php53-mapi --enablerepo=epel --enablerepo=epel-testing
+
  yum install php53-mapi-[same ZCP-verion as above] --enablerepo=epel --enablerepo=epel-testing
   −
=== Execute zarafa-update (see upgradescript above for 7.0.x !!!!) ===
+
==== Execute zarafa-update (see upgradescript above for 7.0.x !!!!) ====
    
  cd /etc/e-smith/events/actions/
 
  cd /etc/e-smith/events/actions/
Line 1,583: Line 1,597:  
  signal-event post-upgrade; signal-event reboot
 
  signal-event post-upgrade; signal-event reboot
   −
= INSTALLATION of Z-push (1.5.x or 2.0.x) =
+
== INSTALLATION of Z-push (1.5.x or 2.0.x) ==
== VERSION 1.5.x ==
+
 
=== Download the Z-push-package (version 1.5 !!)===
+
* You can test if z-push is installed and functioning by going to http://[your-server-ip]/Microsoft-Server-ActiveSync You should be presented with a login request, and if you cancel, you will see Z-Push info. If you see both, z-push is working just fine.
 +
* If you experience (all of a sudden) z-push issues with your smartphone, please increase the PHP memory limit as descibed [http://wiki.contribs.org/Useful_Commands#Memory_Limit here]
 +
* Please note that z-push version 2.1 works with the below 2.0.x instructions, but you need to install php-posix
 +
yum install php-posix
 +
 
 +
=== VERSION 1.5.x ===
 +
==== Download the Z-push-package (version 1.5 !!)====
    
  wget http://zarafa-deutschland.de/z-push-download/final/1.5/[z-push-latest version]
 
  wget http://zarafa-deutschland.de/z-push-download/final/1.5/[z-push-latest version]
Line 1,591: Line 1,611:  
Save in an installdirectory, ex. : root/InstallZPush
 
Save in an installdirectory, ex. : root/InstallZPush
   −
=== Unpack the package for Z-push :===
+
==== Unpack the package for Z-push :====
    
Go (cd /...) to the installdirectory (if you haven't done this yet) :  
 
Go (cd /...) to the installdirectory (if you haven't done this yet) :  
Line 1,601: Line 1,621:  
  tar -zxvf z-push-[latest version] -C /var/www/html
 
  tar -zxvf z-push-[latest version] -C /var/www/html
   −
=== Change the name of the created z-push-directory in /var/www/html to 'z-push'===
+
==== Change the name of the created z-push-directory in /var/www/html to 'z-push'====
   −
=== INSTALLSCRIPT ===
+
==== INSTALLSCRIPT ====
==== nano -w /etc/e-smith/events/actions/z-push-install ====
+
===== nano -w /etc/e-smith/events/actions/z-push-install =====
 
  <nowiki>
 
  <nowiki>
 
#!/bin/sh
 
#!/bin/sh
Line 1,749: Line 1,769:  
</nowiki>
 
</nowiki>
   −
==== To save : ====
+
===== To save : =====
 
  CTRL + X
 
  CTRL + X
 
  yes
 
  yes
 
  <ENTER>
 
  <ENTER>
   −
=== UPGRADESCRIPT ===
+
==== UPGRADESCRIPT ====
==== nano -w /etc/e-smith/events/actions/z-push-update ====
+
===== nano -w /etc/e-smith/events/actions/z-push-update =====
 
  <nowiki>
 
  <nowiki>
 
#!/bin/sh
 
#!/bin/sh
Line 1,794: Line 1,814:  
</nowiki>
 
</nowiki>
   −
==== To save : ====
+
===== To save : =====
 
  CTRL + X
 
  CTRL + X
 
  yes
 
  yes
 
  <ENTER>
 
  <ENTER>
   −
=== See further : "Any version" ===
+
==== See further : "Any version" ====
   −
== VERSION 2.0.x ==
+
=== VERSION 2.0.x ===
=== Download the Z-push-package (version 2.0 !!)===
+
==== Download the Z-push-package (version 2.0 !!)====
 
  wget http://zarafa-deutschland.de/z-push-download/final/2.0/[z-push-latest version]
 
  wget http://zarafa-deutschland.de/z-push-download/final/2.0/[z-push-latest version]
    
Save in an installdirectory, ex. : root/InstallZPush
 
Save in an installdirectory, ex. : root/InstallZPush
   −
=== Unpack the package for Z-push :===
+
==== Unpack the package for Z-push :====
 
Go (cd /...) to the installdirectory (if you haven't done this yet) :  
 
Go (cd /...) to the installdirectory (if you haven't done this yet) :  
   Line 1,816: Line 1,836:  
  tar -zxvf z-push-[latest version] -C /usr/share
 
  tar -zxvf z-push-[latest version] -C /usr/share
   −
=== Change the name of the created z-push-directory in /usr/share to 'z-push' ===
+
==== Change the name of the created z-push-directory in /usr/share to 'z-push' ====
   −
=== INSTALLSCRIPT ===
+
==== INSTALLSCRIPT ====
==== nano -w /etc/e-smith/events/actions/z-push-install ====
+
===== nano -w /etc/e-smith/events/actions/z-push-install =====
 
  <nowiki>
 
  <nowiki>
 
#!/bin/sh
 
#!/bin/sh
Line 1,946: Line 1,966:  
</nowiki>
 
</nowiki>
   −
==== To save : ====
+
===== To save : =====
 
  CTRL + X
 
  CTRL + X
 
  yes
 
  yes
 
  <ENTER>
 
  <ENTER>
   −
=== UPGRADESCRIPT ===
+
==== UPGRADESCRIPT ====
==== nano -w /etc/e-smith/events/actions/z-push-update ====
+
===== nano -w /etc/e-smith/events/actions/z-push-update =====
 
  <nowiki>
 
  <nowiki>
 
#!/bin/sh
 
#!/bin/sh
Line 1,982: Line 2,002:  
</nowiki>
 
</nowiki>
   −
==== To save : ====
+
===== To save : =====
 
  CTRL + X
 
  CTRL + X
 
  yes
 
  yes
 
  <ENTER>
 
  <ENTER>
   −
=== See further : "Any version" ===
+
==== See further : "Any version" ====
   −
== ANY VERSION (1.5.x or 2.0.x)==
+
=== ANY VERSION (1.5.x or 2.0.x)===
=== Edit the config.php file in the Z-Push directory to fit your needs. ===
+
==== Edit the config.php file in the Z-Push directory to fit your needs. ====
 
ex. Set your timezone in the config.php file.
 
ex. Set your timezone in the config.php file.
   −
=== Execute z-push-install (see script above !!!!) ===
+
==== Execute z-push-install (see script above !!!!) ====
    
  /bin/chmod 554 /etc/e-smith/events/actions/z-push-install
 
  /bin/chmod 554 /etc/e-smith/events/actions/z-push-install
Line 2,001: Line 2,021:  
  ./z-push-install
 
  ./z-push-install
   −
= UPGRADING of Z-push =
+
== UPGRADING of Z-push ==
== VERSION 1.5 (1.5.x -> 1.5.x)==
+
=== VERSION 1.5 (1.5.x -> 1.5.x)===
=== Download the Z-push-package (version 1.5 !!)===
+
==== Download the Z-push-package (version 1.5 !!)====
    
  wget http://zarafa-deutschland.de/z-push-download/final/1.5/[z-push-latest version]
 
  wget http://zarafa-deutschland.de/z-push-download/final/1.5/[z-push-latest version]
Line 2,009: Line 2,029:  
Save in an installdirectory, ex. : root/InstallZPush
 
Save in an installdirectory, ex. : root/InstallZPush
   −
=== Unpack the corresponding package for ZCP and the package for Z-push :===
+
==== Unpack the corresponding package for ZCP and the package for Z-push :====
    
Go (cd /...) to the installdirectory (if you haven't done this yet) :  
 
Go (cd /...) to the installdirectory (if you haven't done this yet) :  
Line 2,019: Line 2,039:  
  tar -zxvf z-push-[latest version] -C /var/www/html
 
  tar -zxvf z-push-[latest version] -C /var/www/html
   −
=== Change the name of the created z-push-directory in /var/www/html to 'z-push'===
+
==== Change the name of the created z-push-directory in /var/www/html to 'z-push'====
=== See further : "Any version" ===
+
==== See further : "Any version" ====
== VERSION 2.0 (2.0.x -> 2.0.x)==
+
=== VERSION 2.0 (2.0.x -> 2.0.x)===
=== Download the Z-push-package (version 2.0 !!)===
+
==== Download the Z-push-package (version 2.0 !!)====
    
  wget http://zarafa-deutschland.de/z-push-download/final/2.0/[z-push-latest version]
 
  wget http://zarafa-deutschland.de/z-push-download/final/2.0/[z-push-latest version]
Line 2,029: Line 2,049:       −
=== Unpack the package for Z-push :===
+
==== Unpack the package for Z-push :====
    
Go (cd /...) to the installdirectory (if you haven't done this yet) :  
 
Go (cd /...) to the installdirectory (if you haven't done this yet) :  
Line 2,039: Line 2,059:  
  tar -zxvf z-push-[latest version] -C /usr/share
 
  tar -zxvf z-push-[latest version] -C /usr/share
   −
=== Change the name of the created z-push-directory in /usr/share to 'z-push'===
+
==== Change the name of the created z-push-directory in /usr/share to 'z-push'====
=== See further : "Any version" ===
+
==== See further : "Any version" ====
== VERSION 1.5.x -> 2.0.x ==
+
=== VERSION 1.5.x -> 2.0.x ===
    
The easiest way to upgrade is to follow the steps for a new installation of version 2.0. The states of Z-Push 1.X are not compatible and there is no upgrade path, but as this version implements a fully automatic resynchronisation of devices it should not affect the users and work without the user interaction
 
The easiest way to upgrade is to follow the steps for a new installation of version 2.0. The states of Z-Push 1.X are not compatible and there is no upgrade path, but as this version implements a fully automatic resynchronisation of devices it should not affect the users and work without the user interaction
   −
== ANY VERSION ==
+
=== ANY VERSION ===
=== Edit the config.php file in the Z-Push directory to fit your needs. ===
+
==== Edit the config.php file in the Z-Push directory to fit your needs. ====
 
ex. Set your timezone in the config.php file.
 
ex. Set your timezone in the config.php file.
   −
=== Execute z-push-update (see script above !!!!) ===
+
==== Execute z-push-update (see script above !!!!) ====
    
  /bin/chmod 554 /etc/e-smith/events/actions/z-push-update
 
  /bin/chmod 554 /etc/e-smith/events/actions/z-push-update
Line 2,067: Line 2,087:  
  /etc/e-smith/events/actions/qmail-update-user
 
  /etc/e-smith/events/actions/qmail-update-user
   −
==== Enable mail delivery to zarafa for ALL users (NOT RECOMMANDED - cf. junkmail-template not adjusted for GlobalForward) : ====
+
==== Enable mail delivery to zarafa for ALL users : ====
 
  config setprop zarafa-server GlobalForward enabled
 
  config setprop zarafa-server GlobalForward enabled
 
  /etc/e-smith/events/actions/qmail-update-user
 
  /etc/e-smith/events/actions/qmail-update-user
 +
 
==== Other options for managing users ====
 
==== Other options for managing users ====
 
  zarafa-admin --help
 
  zarafa-admin --help
Line 2,125: Line 2,146:  
  zarafa-admin --details [user]
 
  zarafa-admin --details [user]
   −
=== Setting send-emailadres for a user ===
+
=== Setting/Changing send-emailadres for a user ===
 
  zarafa-admin -u [user] -e [send-emailadres]
 
  zarafa-admin -u [user] -e [send-emailadres]
 +
 +
=== Setting/Changing fullname for a user ===
 +
zarafa-admin -u [user] -f "[full name]"
    
=== Quota-settings ===
 
=== Quota-settings ===
Line 2,145: Line 2,169:     
  $passwd_cmd = "/usr/bin/zarafa-passwd -u '%s' -o '%s' -p '%s'";
 
  $passwd_cmd = "/usr/bin/zarafa-passwd -u '%s' -o '%s' -p '%s'";
 +
 +
=== Password-change by users from outsite your network for webaccess/webapp (IF USING THE UNIX PLUGIN) ===
 +
==== Install Usermanager ====
 +
[[UserManager]] : Install smeserver-userpanel and smeserver-userpanels
 +
 +
==== nano /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/VirtualHosts/28UserManagerProxyPass ====
 +
<nowiki>
 +
{
 +
    # vim: ft=perl:
 +
    $haveSSL = (exists ${modSSL}{status} and ${modSSL}{status} eq "enabled") ?  'yes' : 'no';
 +
    $plainTextAccess = ${'httpd-admin'}{PermitPlainTextAccess} || 'no';
 +
    $OUT = '';
 +
    foreach $place ('user-manager','server-common','user')
 +
    {
 +
        if (($port eq "80") && ($haveSSL eq 'yes') && ($plainTextAccess ne 'yes'))
 +
        {
 +
            $OUT .= "    RewriteRule ^/$place(/.*|\$)    https://%{HTTP_HOST}/$place\$1 [L,R,NC]\n";
 +
        } else {
 +
            $OUT .= "    ProxyPass /$place http://127.0.0.1:${'httpd-admin'}{TCPPort}/$place\n";
 +
            $OUT .= "    ProxyPassReverse /$place http://127.0.0.1:${'httpd-admin'}{TCPPort}/$place\n";
 +
        }
 +
        $OUT .= "    <Location /$place>\n";
 +
        $OUT .= "        order deny,allow\n";
 +
        $OUT .= "        deny from all\n";
 +
        $OUT .= "        allow from all\n";   
 +
        $OUT .= "    </Location>\n";
 +
    }
 +
}
 +
</nowiki>
 +
 +
==== To save : ====
 +
CTRL + X
 +
yes
 +
<ENTER>
 +
 +
==== Via the Server-Manager : Delegate the userpanel-password to external users ====
 +
Now these external users can change from outsite your network there sme-password : https://www.yourdomain.tld/user
 +
 +
=== WebApp - OwnCloud attachment plug-in ===
 +
 +
[https://community.zarafa.com/pg/plugins/project/16024/developer/h44z/webapp-owncloud-attachment-plugin OwnCloud attachment plug-in]
 +
 +
=== WebApp - Dropbox attachment plug-in===
 +
 +
[https://community.zarafa.com/pg/blog/read/14505/webapp-the-dropbox-plugin Dropbox plug-in]
    
== Webmail : ==
 
== Webmail : ==
Line 2,199: Line 2,268:  
[[Category:Howto]]
 
[[Category:Howto]]
 
[[Category:Groupware]]
 
[[Category:Groupware]]
 +
 +
==Bugs==
 +
 +
Please raise bugs under the SME-Contribs section in {{BugzillaFileBug|product=|component=|title=bugzilla}}and select the smeserver-zarafa-unix component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-zarafa|title=this link}}.
 +
 +
[http://bugs.contribs.org/buglist.cgi?query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&value0-0-0=Open&component=smeserver-zarafa&product=SME%20Contribs Search open bugs] for smeserver-zarafa at bugs.contribs.org
 +
 +
Zarafa: use their forum for zarafa specific bug reporting, http://forums.zarafa.com/
 +
 +
{{#bugzilla:columns=id,product,version,status,summary |sort=id|order=desc |component=smeserver-zarafa|noresultsmessage="No open bugs found."}}
Super Admin, Wiki & Docs Team, Bureaucrats, Interface administrators, Administrators
3,250

edits

Navigation menu