mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-24 18:45:52 +03:00
Add Red Hat Enterprise Linux and Rocky Linux installation instructions (#17423)
Added RHEL/Rocky install instructions (PyPI). Instructions cover versions 8 and 9 which are the only supported ones - except for RHEL7 which is now on extended life cycle support phase. Large part of the guide is for installing Python 3.11 or 3.12. RHEL8 ships with Python 3.6 and RHEL9 ships with 3.9. Newer Python versions can be installed easily as they don't interfere with OS software that still relies on the default Python version. I was first planning to add prerequisites part to the prerequisites section and then install instructions on the top of the page but that section is for pre-built packages so it just didn't sound right. So I just dumped everything to the PyPI section of the page. But suggestions to change are welcome. I also didn't combine these with Fedora section. I haven't tested those packages on RHEL and Fedora ships with Python 3.12 out-of-box.
This commit is contained in:
parent
5871daf877
commit
342f0c35b7
3 changed files with 58 additions and 2 deletions
1
changelog.d/17423.doc
Normal file
1
changelog.d/17423.doc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Add Red Hat Enterprise Linux and Rocky Linux 8 and 9 installation instructions.
|
|
@ -67,7 +67,7 @@ in Synapse can be deactivated.
|
||||||
**NOTE**: This has an impact on security and is for testing purposes only!
|
**NOTE**: This has an impact on security and is for testing purposes only!
|
||||||
|
|
||||||
To deactivate the certificate validation, the following setting must be added to
|
To deactivate the certificate validation, the following setting must be added to
|
||||||
your [homserver.yaml](../usage/configuration/homeserver_sample_config.md).
|
your [homeserver.yaml](../usage/configuration/homeserver_sample_config.md).
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
use_insecure_ssl_client_just_for_testing_do_not_use: true
|
use_insecure_ssl_client_just_for_testing_do_not_use: true
|
||||||
|
|
|
@ -309,7 +309,62 @@ sudo dnf install libtiff-devel libjpeg-devel libzip-devel freetype-devel \
|
||||||
libwebp-devel libxml2-devel libxslt-devel libpq-devel \
|
libwebp-devel libxml2-devel libxslt-devel libpq-devel \
|
||||||
python3-virtualenv libffi-devel openssl-devel python3-devel \
|
python3-virtualenv libffi-devel openssl-devel python3-devel \
|
||||||
libicu-devel
|
libicu-devel
|
||||||
sudo dnf groupinstall "Development Tools"
|
sudo dnf group install "Development Tools"
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Red Hat Enterprise Linux / Rocky Linux
|
||||||
|
|
||||||
|
*Note: The term "RHEL" below refers to both Red Hat Enterprise Linux and Rocky Linux. The distributions are 1:1 binary compatible.*
|
||||||
|
|
||||||
|
It's recommended to use the latest Python versions.
|
||||||
|
|
||||||
|
RHEL 8 in particular ships with Python 3.6 by default which is EOL and therefore no longer supported by Synapse. RHEL 9 ship with Python 3.9 which is still supported by the Python core team as of this writing. However, newer Python versions provide significant performance improvements and they're available in official distributions' repositories. Therefore it's recommended to use them.
|
||||||
|
|
||||||
|
Python 3.11 and 3.12 are available for both RHEL 8 and 9.
|
||||||
|
|
||||||
|
These commands should be run as root user.
|
||||||
|
|
||||||
|
RHEL 8
|
||||||
|
```bash
|
||||||
|
# Enable PowerTools repository
|
||||||
|
dnf config-manager --set-enabled powertools
|
||||||
|
```
|
||||||
|
RHEL 9
|
||||||
|
```bash
|
||||||
|
# Enable CodeReady Linux Builder repository
|
||||||
|
crb enable
|
||||||
|
```
|
||||||
|
|
||||||
|
Install new version of Python. You only need one of these:
|
||||||
|
```bash
|
||||||
|
# Python 3.11
|
||||||
|
dnf install python3.11 python3.11-devel
|
||||||
|
```
|
||||||
|
```bash
|
||||||
|
# Python 3.12
|
||||||
|
dnf install python3.12 python3.12-devel
|
||||||
|
```
|
||||||
|
Finally, install common prerequisites
|
||||||
|
```bash
|
||||||
|
dnf install libicu libicu-devel libpq5 libpq5-devel lz4 pkgconf
|
||||||
|
dnf group install "Development Tools"
|
||||||
|
```
|
||||||
|
###### Using venv module instead of virtualenv command
|
||||||
|
|
||||||
|
It's recommended to use Python venv module directly rather than the virtualenv command.
|
||||||
|
* On RHEL 9, virtualenv is only available on [EPEL](https://docs.fedoraproject.org/en-US/epel/).
|
||||||
|
* On RHEL 8, virtualenv is based on Python 3.6. It does not support creating 3.11/3.12 virtual environments.
|
||||||
|
|
||||||
|
Here's an example of creating Python 3.12 virtual environment and installing Synapse from PyPI.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p ~/synapse
|
||||||
|
# To use Python 3.11, simply use the command "python3.11" instead.
|
||||||
|
python3.12 -m venv ~/synapse/env
|
||||||
|
source ~/synapse/env/bin/activate
|
||||||
|
pip install --upgrade pip
|
||||||
|
pip install --upgrade setuptools
|
||||||
|
pip install matrix-synapse
|
||||||
```
|
```
|
||||||
|
|
||||||
##### macOS
|
##### macOS
|
||||||
|
|
Loading…
Reference in a new issue