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.
   −
For Windows based machines, you can use https://hostsfileeditor.com/ for that purpose.
+
Enable '''proxy '''and '''proxy_http '''modules.
   −
== Replicated minimal VM for tests ==
+
Add
   −
For the implementation to go smooth, the <code>vmprod1</code> environment has been replicated on a dedicated test VM.
+
<syntaxhighlight lang="apache">
 +
  # To allow the rewrite on rss that is not a redirect from browser
 +
  SSLProxyEngine on
 +
  SSLProxyVerify none
 +
  SSLProxyCheckPeerCN off
 +
  SSLProxyCheckPeerExpire off
   −
* Linux distro : Ubuntu 16.4.7
+
  # Redirection pour compatibilite avec ancien forum kunena
* Webserver : Apache2
+
  RewriteRule ^/forum/user/(\d+)-(.*) /forum/u/$2/summary [L,R=permanent]
* RDBMS : Mariadb
+
  RewriteRule ^/forumold/.*/(\d+)-(.*)$ /forum/t/$2 [L,R=permanent]
* PHP : 5.6
     −
=== PHP version ===
+
  # 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>
   −
PHP version is installed from <code>ppa:ondrej/php</code>.
+
</syntaxhighlight>
    +
The apache proxy redirect HTTP including /forum/ in URL to the port the docker nginx server run.
   −
=== Apache2 config ===
+
The Logs of the proxy are available into /home/dolibarr/logs/dolibarr_ssl_access_log file and are used by fail2ban rules.
   −
Apache2 virtual hosts config <code>dolibarr.fr.conf</code> and <code>dolibarr.org.conf</code> has been copied from <code>vmprod1</code> (Servername apache directive has just been modified to match names specified in [[#Addresses]]).
+
== Firewall ==
 +
Les regles du firewall sont définies et activé par le script /home/dolibarr/tools/firewallvmprod1
   −
Enabling '''proxy '''and '''proxy_http '''modules.
+
TODO Utiliser ufw
   −
Adding
     −
<source lang="apache">
+
=== Backup ===
<Location "/forum">
  −
    ProxyPass "http://dolibarr-test-fr.traulle.net:8800/forum"
  −
</Location>
  −
</source>
  −
 
  −
=== Files ===
  −
 
  −
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).
      +
Backup of discourse instance is done into directories /mnt/sdb1/backup/discourses
   −
=== Databases ===
+
=== MySQL/MariaDB Databases ===
    
Database names and users has been preserved (same users, same database names and same credentials has been created on test VM).
 
Database names and users has been preserved (same users, same database names and same credentials has been created on test VM).
Line 52: Line 55:     
Installed following the Docker docs : https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-engine---community-1
 
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?]