Draft:Discourse Implementation and Exploitation: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
mNo edit summary
Tag: 2017 source edit
No edit summary
Tag: 2017 source edit
 
(10 intermediate revisions by 2 users not shown)
Line 3: Line 3:
=== Apache2 config ===
=== Apache2 config ===


Les forums sont accessibles depuis les url https://www.dolibarr.org/forum
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.


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]]).
Enable '''proxy '''and '''proxy_http '''modules.


Enabling '''proxy '''and '''proxy_http '''modules.
Add
 
Adding


<syntaxhighlight lang="apache">
<syntaxhighlight lang="apache">
Line 24: Line 23:
   # Redirection pour transfert apache - discourse
   # Redirection pour transfert apache - discourse
<Location "/forum">
<Location "/forum">
#    Deny from all
#    Allow from 37.170.87.101
#    RequestHeader set X-Forwarded-Port "443"
#    RequestHeader set X-Forwarded-Proto "https"
     RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
     RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
     RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}
     RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}
Line 34: Line 29:
     ProxyPassReverse "http://127.0.0.1:8800/forum"
     ProxyPassReverse "http://127.0.0.1:8800/forum"
</Location>
</Location>
</syntaxhighlight>
</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 ==
== Firewall ==
Les regles du firewall sont définies et activé par lescript
Les regles du firewall sont définies et activé par le script /home/dolibarr/tools/firewallvmprod1
/home/dolibarr/tools/firewallvmprod1


TODO Utilisé ufw
TODO Utiliser ufw




=== Files ===
=== Backup ===
 
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


=== MySQL/MariaDB Databases ===
=== MySQL/MariaDB Databases ===
Line 57: 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 ==
== Tests for dolibarr.de migration ==
Line 80: Line 77:
== Upgrade the data container ==
== Upgrade the data container ==


See https://meta.discourse.org/t/postgresql-12-update/151236#data-container-install
See  
* https://meta.discourse.org/t/postgresql-12-update/151236#data-container-install
* https://meta.discourse.org/t/postgresql-15-update/349515#p-1698209-data-container-install-3
* https://meta.discourse.org/t/postgresql-18-update-for-self-hosters/406194


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Line 86: Line 86:
sudo ./launcher stop web_only
sudo ./launcher stop web_only
sudo ./launcher stop data
sudo ./launcher stop data
# twice is not a typo but on purpose
sudo ./launcher rebuild data
sudo ./launcher rebuild data
sudo ./launcher rebuild data
sudo ./launcher rebuild data

Latest revision as of 11:58, 4 October 2026


Apache2 config

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.

Enable proxy and proxy_http modules.

Add

   # To allow the rewrite on rss that is not a redirect from browser
   SSLProxyEngine on
   SSLProxyVerify none
   SSLProxyCheckPeerCN off
   SSLProxyCheckPeerExpire off

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

   # 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>

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

cd /var/discourse
sudo git pull
sudo ./launcher bootstrap web_only
sudo ./launcher destroy web_only
sudo ./launcher start web_only

Upgrade the data container

See

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

Useful resources