Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
3078e624
Commit
3078e624
authored
Jan 21, 2021
by
feld
Browse files
Update Apache configuration. This has been tested.
parent
d8860eae
Pipeline
#34328
passed with stages
in 13 minutes and 55 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
installation/pleroma-apache.conf
View file @
3078e624
# default Apache site config for Pleroma
#
# needed modules: define headers proxy proxy_http proxy_wstunnel rewrite ssl
# optional modules: cache cache_disk
# Sample Apache config for Pleroma
#
# Simple installation instructions:
# 1. Install your TLS certificate
, possibly
using Let's Encrypt
.
# 2. Replace 'example.tld' with your instance's domain
wherever it appears
.
# 3. This assumes a Debian
style Apache config. Copy this file to
# /etc/apache2/sites-available/ and then a
dd a symlink to it
in
#
/etc/apache2/sites-enabled/ by running
'a2ensite pleroma-apache.conf', then restart Apache.
# 1. Install your TLS certificate
. We recommend
using Let's Encrypt
via Certbot
# 2. Replace 'example.tld' with your instance's domain.
# 3. This assumes a Debian
-
style Apache config. Copy this file to
# /etc/apache2/sites-available/ and then a
ctivate the site by runn
in
g
# 'a2ensite pleroma-apache.conf', then restart Apache.
#
# Optional: enable disk-based caching for the media proxy
# For details, see https://git.pleroma.social/pleroma/pleroma/wikis/How%20to%20activate%20mediaproxy
#
# 1. Create
the
directory
listed
below
as
the CacheRoot
,
and make sure
# 1. Create
a
directory
as shown
below
for
the CacheRoot and make sure
# the Apache user can write to it.
# 2. Configure Apache's htcacheclean to clean the directory periodically.
#
3. Run 'a2enmod cache cache_disk' and restart Apache
.
#
Your OS may provide a service you can enable to do this automatically
.
Define
servername
example
.
tld
<
IfModule
!
proxy_module
>
LoadModule
proxy_module
libexec
/
apache24
/
mod_proxy
.
so
</
IfModule
>
<
IfModule
!
proxy_http_module
>
LoadModule
proxy_http_module
libexec
/
apache24
/
mod_proxy_http
.
so
</
IfModule
>
<
IfModule
!
proxy_wstunnel_module
>
LoadModule
proxy_wstunnel_module
libexec
/
apache24
/
mod_proxy_wstunnel
.
so
</
IfModule
>
<
IfModule
!
rewrite_module
>
LoadModule
rewrite_module
libexec
/
apache24
/
mod_rewrite
.
so
</
IfModule
>
<
IfModule
!
ssl_module
>
LoadModule
ssl_module
libexec
/
apache24
/
mod_ssl
.
so
</
IfModule
>
<
IfModule
!
cache_module
>
LoadModule
cache_module
libexec
/
apache24
/
mod_cache
.
so
</
IfModule
>
<
IfModule
!
cache_disk_module
>
LoadModule
cache_disk_module
libexec
/
apache24
/
mod_cache_disk
.
so
</
IfModule
>
ServerName
${
servername
}
ServerTokens
Prod
ErrorLog
${
APACHE_LOG_DIR
}/
error
.
log
CustomLog
${
APACHE_LOG_DIR
}/
access
.
log
combined
# If you want Pleroma-specific logs
#ErrorLog /var/log/httpd-pleroma-error.log
#CustomLog /var/log/httpd-pleroma-access.log combined
<
VirtualHost
*:
80
>
Redirect
permanent
/
https
://${
servername
}
RewriteEngine
on
RewriteCond
%{
SERVER_NAME
} =${
servername
}
RewriteRule
^
https
://%{
SERVER_NAME
}%{
REQUEST_URI
} [
END
,
NE
,
R
=
permanent
]
</
VirtualHost
>
<
VirtualHost
*:
443
>
SSLEngine
on
SSLCertificateFile
/
etc
/
letsencrypt
/
live
/${
servername
}/
fullchain
.
pem
SSLCertificateKeyFile
/
etc
/
letsencrypt
/
live
/${
servername
}/
privkey
.
pem
# Make sure you have the certbot-apache module installed
Include
/
etc
/
letsencrypt
/
options
-
ssl
-
apache
.
conf
# Mozilla modern configuration, tweak to your needs
SSLProtocol
all
-
SSLv3
-
TLSv1
-
TLSv1
.
1
SSLCipherSuite
ECDHE
-
ECDSA
-
AES256
-
GCM
-
SHA384
:
ECDHE
-
RSA
-
AES256
-
GCM
-
SHA384
:
ECDHE
-
ECDSA
-
CHACHA20
-
POLY1305
:
ECDHE
-
RSA
-
CHACHA20
-
POLY1305
:
ECDHE
-
ECDSA
-
AES128
-
GCM
-
SHA256
:
ECDHE
-
RSA
-
AES128
-
GCM
-
SHA256
:
ECDHE
-
ECDSA
-
AES256
-
SHA384
:
ECDHE
-
RSA
-
AES256
-
SHA384
:
ECDHE
-
ECDSA
-
AES128
-
SHA256
:
ECDHE
-
RSA
-
AES128
-
SHA256
SSLHonorCipherOrder
on
SSLCompression
off
SSLSessionTickets
off
# uncomment the following to enable mediaproxy caching on disk
# <IfModule mod_cache_disk.c>
# CacheRoot /var/cache/apache2/mod_cache_disk
# CacheDirLevels 1
# CacheDirLength 2
# CacheEnable disk /proxy
# CacheLock on
# </IfModule>
# Uncomment the following to enable MediaProxy caching on disk
#CacheRoot /tmp/pleroma-media-cache/
#CacheDirLevels 1
#CacheDirLength 2
#CacheEnable disk /proxy
#CacheLock on
#CacheHeader on
#CacheDetailHeader on
## 16MB max filesize for caching, configure as desired
#CacheMaxFileSize 16000000
#CacheDefaultExpire 86400
RewriteEngine
On
RewriteCond
%{
HTTP
:
Connection
}
Upgrade
[
NC
]
RewriteCond
%{
HTTP
:
Upgrade
}
websocket
[
NC
]
RewriteRule
/(.*)
ws
://
localhost
:
4000
/$
1
[
P
,
L
]
RewriteRule
/(.*)
ws
://
127
.
0
.
0
.
1
:
4000
/$
1
[
P
,
L
]
#ProxyRequests must be off or you open your server to abuse as an open proxy
ProxyRequests
off
# this is explicitly IPv4 since Pleroma.Web.Endpoint binds on IPv4 only
# and `localhost.` resolves to [::0] on some systems: see issue #930
ProxyPass
/
http
://
127
.
0
.
0
.
1
:
4000
/
ProxyPassReverse
/
http
://
127
.
0
.
0
.
1
:
4000
/
RequestHeader
set
Host
${
servername
}
ProxyPreserveHost
On
</
VirtualHost
>
# OCSP Stapling, only in httpd 2.3.3 and later
SSLUseStapling
on
SSLStaplingResponderTimeout
5
SSLStaplingReturnResponderErrors
off
SSLStaplingCache
shmcb
:/
var
/
run
/
ocsp
(
128000
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment