Setup:Installation Guide/Upgrade and Setup:System requirements: Difference between pages

(Difference between pages)
No edit summary
Tag: 2017 source edit
 
No edit summary
Tag: 2017 source edit
 
Line 1: Line 1:
{{DISPLAYTITLE:Upgrade from BlueSpice 3 to 4}}
__NOTOC__


==System requirements==
For a trouble-free installation of the current version of BlueSpice 4, we recommend the following system requirements.  
{{Setup:System_requirements}}
{{Messagebox|boxtype=note|icon=|Note text=You might need to add external repos to get the correct php on your server! Please check your package manager for the available php versions on your system.|bgcolor=}}
==Back up the old wiki==
In BlueSpice 3, create a temporary migration folder and copy all necessary data:<syntaxhighlight lang="bash">
mkdir /tmp/migration
cd /tmp/migration
wikifolder=/path/to/wikifolder
cp -r $wikifolder/images .
cp -r $wikifolder/extensions/BlueSpiceFoundation/config .
cp -r $wikifolder/LocalSettings.* .
#check for for locals in settings.d
find $wikifolder/settings.d/ -iname '*.local.php' -exec cp --parent {} /tmp/migration \;


==Browser==


</syntaxhighlight>Also search for specialized php files in <code>settings.d</code>  (normally <code>090-</code> or <code>099-</code> ).
*Microsoft Edge
==Upgrade step 1==
*Google Chrome
This step has to be completed before the ''Upgrade step 2'' further below.{{Messagebox|boxtype=warning|icon=|Note text=BlueSpice 4.x cannot process wiki pages and files that were uploaded and edited by '''deleted users'''. To prevent data loss, don't skip any upgrade steps!|bgcolor=}}
*Firefox
===Create a "substitute user" for deleted users===
In BlueSpice 3.x, create a user with a random password:
php maintenance/createAndPromote.php --force DeletedUser someR4ndomPass
{{Messagebox|boxtype=note|icon=|Note text=You may need to temporarily disable authentication plugins like LDAP-Stack, SAML  or OpenIDConnect extensions.|bgcolor=}}
Get the <code>user_id</code>  of the substitute user by running the following command in the database:
SELECT user_id FROM user WHERE user_name = "DeletedUser";
==Sql dump==
Create the backup of your data:<syntaxhighlight lang="bash">
mysql -u root -p bluespice > migrationdump.sql
</syntaxhighlight>
==Optional files for migration==
If any of the following features apply to your installation, check if migration steps are necessary. In that case, add everything to your ''tar'' file and send it to the new server.
 
Examples of files that you might have to consider:
 
* ssl-certs
* apache.conf
* ldapprovider.json
* kerberos files (krb5.conf/keyfile)
 
==Migrate to the new wiki==
''Grep'' <code>LocalSettings.php</code> for <code>wgDB</code><syntaxhighlight lang="bash">
grep wgDB LocalSettings.*
LocalSettings.local.php:$wgDBserver = "Your-IP";
LocalSettings.local.php:$wgDBname = "Your-datbase-name";
LocalSettings.local.php:$wgDBuser = "Your-database-user";
LocalSettings.local.php:$wgDBpassword = "Your-password";
 
</syntaxhighlight>and create the '''database'''  and '''DBuser''' with the '''DBpassword'''. Grant <code>all</code> on database to the '''DBuser''' in mysql.
 
Migrate the data:<syntaxhighlight lang="bash">
mysql -u root -p bluespice < migration.sql
cp -r images $wikifolder
cp -r extensions $wikifolder
cp -r LocalSettings.php $wikifolder
setWikiPerm $wikifolder
 
</syntaxhighlight>
====Modify LocalSettings.php====
Replace:<syntaxhighlight lang="php">
$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";
</syntaxhighlight>with:<syntaxhighlight lang="php">
$wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/wiki.png" ];
 
</syntaxhighlight>
*Check other <code>LocalSettings.*</code> for individual configurations from the old BlueSpice installation.
*Compare the <code>migrated settings.d/*.local.php</code> with the new <code>settings.d/*.php</code> and check for individual (probably deprecated) configurations.  Do the same with <code>09*-xx.php</code>.
*Copy to <code>$wikifolder/settings.d/</code> what is needed.
==Upgrade step 2==
Assign all pages and files without a valid editor user to your newly created substitute user:<syntaxhighlight lang="bash">
cd $wikifolder
php extensions/BlueSpiceFoundation/maintenance/PrepareActorMigration.php --unknownUserId=<user-id-from-step I. > --unknownUserName=DeletedUser
</syntaxhighlight>
==Optional==
*Copy the following files (if applicable in your case):<code>apache.conf</code>, <code>krb5.conf,</code> <code>Kerberos-key</code>, <code>ldapprovider.json</code>
*Add to VirtualHost in <code>Apache.conf</code> after rewrite rules:
AllowEncodedSlashes NoDecode
==Last steps==
Run the following maintenance scripts:<syntaxhighlight lang="bash">
cd $wikifolder
php maintenance/update.php --quick
php extensions/BlueSpiceExtendedSearch/maintenance/initBackends.php --quick
php extensions/BlueSpiceExtendedSearch/maintenance/rebuildIndex.php --quick
 
screen
    while  [ "$(php maintenance/showJobs.php)" != "0" ]; do php maintenance/runJobs.php --maxjobs 100; done
 
</syntaxhighlight>The last step will take a while.
==Known possible issues after the update==
===Problems with VisualEditor===
<div>
Add in  <span style="color: rgb(4, 30, 73)"><code>includes/libs/http/MultiHttpClient.php</code> after line 327:</span>
<span class="nb" style="color: rgb(0, 128, 0)">curl_setopt</span><span class="p">(</span> <span class="nv" style="color: rgb(25, 23, 124)">$ch</span><span class="p">,</span> <span class="nx">CURLOPT_SSL_VERIFYHOST</span><span class="p">,</span> <span class="mi" style="color: rgb(102, 102, 102)">0</span> <span class="p">);</span>
<span class="nb" style="color: rgb(0, 128, 0)">curl_setopt</span><span class="p">(</span> <span class="nv" style="color: rgb(25, 23, 124)">$ch</span><span class="p">,</span> <span class="nx">CURLOPT_SSL_VERIFYPEER</span><span class="p">,</span> <span class="mi" style="color: rgb(102, 102, 102)">0</span> <span class="p">);</span>
</div>


==Server Environment==
{{Messagebox|boxtype=warning|icon=yes|Note text=PHP '''version 8.1'''  is currently not supported!|bgcolor=}}
*'''Operating system:'''
** We strongly recommend Linux (Debian 11, Ubuntu 22.04, CentOS 7)
** You might use Windows Server 2016, but we have seen performance issues on Windows Server
*'''Webserver:'''
**<span style="color: rgb(68, 68, 68)">Apache 2.4.x, IIS >= 10 ''or'' nginx 1.x</span> (''nginx'' ''not possible in WikiFarm'')
*'''PHP:'''
** PHP 7.4: BlueSpice 4.2.x runs completely stable
** PHP 8.0: Starting with BlueSpice 4.2.4
** PHP 8.1: Starting from BlueSpice 4.3.x (in planning)
* '''Database''':
** MySQL: >= 5.6 or
** MariaDB >= 10.3
* '''(Virtual) hardware requirements:'''
** '''CPU:'''
*** '''Linux: 8 Cores''' (min. 4 Cores)
*** Windows: 16 Cores (min. 8 Cores)
** '''Main memory:'''
*** '''16 GB''' (minimal 8GB)
*'''Available hard drive space:'''
**> 20GB (depends on the planned storage of data)
*'''Other:'''
**Apache Tomcat >= 9 oder Jetty >= 9  (for PDF export and LaTexRenderer)
**ElasticSearch 6.8 with plugin “ingest-attachment”
**OpenJDK >= 10
**NodeJS 16
[[en:{{FULLPAGENAME}}]]
[[en:{{FULLPAGENAME}}]]
[[de:Setup:Installationsanleitung/Upgrade]]
[[de:Setup:Systemanforderungen]]
[[Category:Setup]]

Revision as of 13:40, 10 February 2023


For a trouble-free installation of the current version of BlueSpice 4, we recommend the following system requirements.

Browser

  • Microsoft Edge
  • Google Chrome
  • Firefox

Server Environment

Warning!PHP version 8.1 is currently not supported!
  • Operating system:
    • We strongly recommend Linux (Debian 11, Ubuntu 22.04, CentOS 7)
    • You might use Windows Server 2016, but we have seen performance issues on Windows Server
  • Webserver:
    • Apache 2.4.x, IIS >= 10 or nginx 1.x (nginx not possible in WikiFarm)
  • PHP:
    • PHP 7.4: BlueSpice 4.2.x runs completely stable
    • PHP 8.0: Starting with BlueSpice 4.2.4
    • PHP 8.1: Starting from BlueSpice 4.3.x (in planning)
  • Database:
    • MySQL: >= 5.6 or
    • MariaDB >= 10.3
  • (Virtual) hardware requirements:
    • CPU:
      • Linux: 8 Cores (min. 4 Cores)
      • Windows: 16 Cores (min. 8 Cores)
    • Main memory:
      • 16 GB (minimal 8GB)
  • Available hard drive space:
    • > 20GB (depends on the planned storage of data)
  • Other:
    • Apache Tomcat >= 9 oder Jetty >= 9 (for PDF export and LaTexRenderer)
    • ElasticSearch 6.8 with plugin “ingest-attachment”
    • OpenJDK >= 10
    • NodeJS 16



To submit feedback about this documentation, visit our community forum.

Discussions