Line 1:
Line 1:
−
== Addresses ==
−
* dolibarr-test-fr.traulle.net
−
* dolibarr-test-org.traulle.net
−
These DN has been choosen to test the distinct vhosts but are not actually binded to public DNS.
+
=== Apache2 config ===
−
You <u>MUST</u> edit your <code>/etc/hosts</code> local file (or similar) to point these addresses to IP '''37.59.159.184'''
+
Forums are available on entry URL: https://www.dolibarr.org/forum, https://www.dolibarr.fr/forum, https://www.dolibarr.de/forum
+
but behind, it is discourse.
−
== Replicated minimal VM for tests ==
+
Enable '''proxy '''and '''proxy_http '''modules.
−
For the implementation to go smooth, the vmprod1 environment has been replicated on a dedicated test VM.
+
Add
−
* Linux distro : Ubuntu 16.4.7
+
<syntaxhighlight lang="apache">
−
* Webserver : Apache2
+
# To allow the rewrite on rss that is not a redirect from browser
−
* RDBMS : Mariadb
+
SSLProxyEngine on
−
* PHP : 5.6
+
SSLProxyVerify none
+
SSLProxyCheckPeerCN off
+
SSLProxyCheckPeerExpire off
−
PHP version is installed from <code>ppa:ondrej/php</code>.
+
# Redirection pour compatibilite avec ancien forum kunena
+
RewriteRule ^/forum/user/(\d+)-(.*) /forum/u/$2/summary [L,R=permanent]
+
RewriteRule ^/forumold/.*/(\d+)-(.*)$ /forum/t/$2 [L,R=permanent]
−
Apache2 virtual hosts config <code>dolibarr.fr.conf</code> and <code>dolibarr.org.conf</code> has been copied from <code>vmprod1</code> (servername has just been modified to match names specified in [[#Addresses]]).
+
# Redirection pour transfert apache - discourse
+
<Location "/forum">
+
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
+
RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}
+
ProxyPreserveHost On
+
ProxyPass "http://127.0.0.1:8800/forum" connectiontimeout=60 timeout=60
+
ProxyPassReverse "http://127.0.0.1:8800/forum"
+
</Location>
−
Files from <code>/home/dolibarr/dolibarr.fr</code> and <code>/home/dolibarr/dolibarr.org</code> has been copied to the same location on the test VM (however <code>/home/dolibarr/dolibarr.org/httpdocs/files/stable</code> has not been replicated on the test VM due to the weight/size of all packages).
+
</syntaxhighlight>
+
+
The apache proxy redirect HTTP including /forum/ in URL to the port the docker nginx server run.
+
+
The Logs of the proxy are available into /home/dolibarr/logs/dolibarr_ssl_access_log file and are used by fail2ban rules.
+
+
== Firewall ==
+
Les regles du firewall sont définies et activé par le script /home/dolibarr/tools/firewallvmprod1
+
+
TODO Utiliser ufw
+
+
+
=== Backup ===
+
+
Backup of discourse instance is done into directories /mnt/sdb1/backup/discourses
+
+
=== MySQL/MariaDB Databases ===
+
+
Database names and users has been preserved (same users, same database names and same credentials has been created on test VM).
+
+
Databases for French and International websites has been dumped and restored on test VM.
+
+
=== Docker ===
+
+
Installed following the Docker docs : https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-engine---community-1
+
+
== Tests for dolibarr.de migration ==
+
+
* Retrieve test VM backup
+
* Update packages (apt)
+
* Upgrade db to postgres12 (data container)
+
* rebuild web_only container tu upgrade to same discourse version as prod
+
+
== Upgrade the web container ==
+
+
From : https://meta.discourse.org/t/faster-rebuilds/40341/13
+
+
<syntaxhighlight lang="bash">
+
cd /var/discourse
+
sudo git pull
+
sudo ./launcher bootstrap web_only
+
sudo ./launcher destroy web_only
+
sudo ./launcher start web_only
+
</syntaxhighlight>
+
+
== Upgrade the data container ==
+
+
See https://meta.discourse.org/t/postgresql-12-update/151236#data-container-install
+
+
<syntaxhighlight lang="bash">
+
cd /var/discourse
+
sudo ./launcher stop web_only
+
sudo ./launcher stop data
+
# twice is not a typo but on purpose
+
sudo ./launcher rebuild data
+
sudo ./launcher rebuild data
+
sudo ./launcher rebuild web_only
+
</syntaxhighlight>
+
+
== Useful resources ==
+
+
* [https://meta.discourse.org/t/how-to-move-from-standalone-container-to-separate-web-and-data-containers/29413 How to move from standalone container to separate web and data containers]
+
* [https://meta.discourse.org/t/multisite-configuration-with-docker/14084 Multisite configuration with Docker]
+
* [https://meta.discourse.org/t/subfolder-support-with-docker/30507 Subfolder support with Docker]
+
* [https://meta.discourse.org/t/change-the-domain-name-or-rename-my-discourse/16098 Change the domain name or rename my Discourse?]
+
* [https://meta.discourse.org/t/rebake-all-posts-matching-a-pattern/48713 Rebake all posts matching a pattern]
+
* [https://meta.discourse.org/t/how-do-i-manually-update-discourse-and-docker-image-to-latest/23325/2 How do I manually update Discourse and Docker image to latest?]