Changes

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?]