forked from AkkomaGang/akkoma
docs: spell nginx all lowercase
This commit is contained in:
parent
5f9c28c8fa
commit
389d9295fe
21 changed files with 91 additions and 91 deletions
|
@ -20,7 +20,7 @@ mkdocs serve
|
|||
|
||||
# Build the docs
|
||||
# The static html pages will have been created in the folder "site"
|
||||
# You can serve them from a server by pointing your server software (NGINX, Apache...) to this location
|
||||
# You can serve them from a server by pointing your server software (nginx, Apache...) to this location
|
||||
mkdocs build
|
||||
|
||||
# To get out of the virtual environment, you do
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
8. If you installed a newer Akkoma version, you should run `MIX_ENV=prod mix ecto.migrate`[³]. This task performs database migrations, if there were any.
|
||||
9. Restart the Akkoma service.
|
||||
10. Run `sudo -Hu postgres vacuumdb --all --analyze-in-stages`. This will quickly generate the statistics so that PostgreSQL can properly plan queries.
|
||||
11. If setting up on a new server configure NGINX by using the `installation/akkoma.nginx` config sample or reference the Akkoma installation guide for your OS which contains the NGINX configuration instructions.
|
||||
11. If setting up on a new server configure nginx by using the `installation/akkoma.nginx` config sample or reference the Akkoma installation guide for your OS which contains the nginx configuration instructions.
|
||||
|
||||
[¹]: We assume the database name and user are both "akkoma". If not, you can find the correct name in your config files.
|
||||
[²]: You can recreate the `config/setup_db.psql` by running the `mix pleroma.instance gen` task again. You can ignore most of the questions, but make the database user, name, and password the same as found in your backed up config file. This will also create a new `config/generated_config.exs` file which you may delete as it is not needed.
|
||||
|
@ -38,8 +38,8 @@
|
|||
* You can also list local users and delete them individually using the CLI tasks for [managing users](./CLI_tasks/user.md).
|
||||
2. Stop the Akkoma service `systemctl stop akkoma`
|
||||
3. Disable Akkoma from systemd `systemctl disable akkoma`
|
||||
4. Remove the files and folders you created during installation (see installation guide). This includes the Akkoma, NGINX and systemd files and folders.
|
||||
5. Reload NGINX now that the configuration is removed `systemctl reload nginx`
|
||||
4. Remove the files and folders you created during installation (see installation guide). This includes the Akkoma, nginx and systemd files and folders.
|
||||
5. Reload nginx now that the configuration is removed `systemctl reload nginx`
|
||||
6. Remove the database and database user[¹] `sudo -Hu postgres psql -c 'DROP DATABASE akkoma;';` `sudo -Hu postgres psql -c 'DROP USER akkoma;'`
|
||||
7. Remove the system user `userdel akkoma`
|
||||
8. Remove the dependencies that you don't need anymore (see installation guide). Make sure you don't remove packages that are still needed for other software that you have running!
|
||||
|
|
|
@ -425,7 +425,7 @@ config :pleroma, Pleroma.Web.MediaProxy.Invalidation.Http,
|
|||
!!! note
|
||||
`Phoenix` endpoint configuration, all configuration options can be viewed [here](https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#module-dynamic-configuration), only common options are listed here.
|
||||
|
||||
* `http` - a list containing HTTP protocol configuration, all configuration options can be viewed [here](https://hexdocs.pm/plug_cowboy/Plug.Cowboy.html#module-options), only common options are listed here. For deployment using Docker, you need to set this to `[ip: {0,0,0,0}, port: 4000]` to make Akkoma accessible from other containers (such as your NGINX server).
|
||||
* `http` - a list containing HTTP protocol configuration, all configuration options can be viewed [here](https://hexdocs.pm/plug_cowboy/Plug.Cowboy.html#module-options), only common options are listed here. For deployment using Docker, you need to set this to `[ip: {0,0,0,0}, port: 4000]` to make Akkoma accessible from other containers (such as your nginx server).
|
||||
- `ip` - a tuple consisting of 4 integers
|
||||
- `port`
|
||||
* `url` - a list containing the configuration for generating URLs, accepts
|
||||
|
|
|
@ -52,7 +52,7 @@ Now, you have Akkoma running at `https://akkoma.example.org` as well as a websit
|
|||
|
||||
Therefore, the easiest way to configure `example.org` is to redirect `/.well-known/host-meta` to `akkoma.example.org`.
|
||||
|
||||
With NGINX, it would be as simple as adding:
|
||||
With nginx, it would be as simple as adding:
|
||||
|
||||
```nginx
|
||||
location = /.well-known/host-meta {
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
## Explanation
|
||||
|
||||
Without the `mediaproxy` function, Akkoma doesn't store any remote content like pictures, video etc. locally. So, every time you open Akkoma, the content is loaded from the source server, from where the post is coming. This can result in slowly loading content or/and increased bandwidth usage on the source server.
|
||||
With the `mediaproxy` function, you can use NGINX to cache this content, so users can access it faster, because it's loaded from your server.
|
||||
With the `mediaproxy` function, you can use nginx to cache this content, so users can access it faster, because it's loaded from your server.
|
||||
|
||||
## Activate it
|
||||
|
||||
* Edit your NGINX config and add the following location:
|
||||
* Edit your nginx config and add the following location:
|
||||
```
|
||||
location /proxy {
|
||||
proxy_cache akkoma_media_cache;
|
||||
|
@ -31,4 +31,4 @@ config :pleroma, :media_proxy,
|
|||
```
|
||||
If you want to use a subdomain to serve the files, uncomment `base_url`, change the URL and add a comma after `true` in the previous line.
|
||||
|
||||
* Restart NGINX and Akkoma
|
||||
* Restart nginx and Akkoma
|
||||
|
|
|
@ -14,7 +14,7 @@ In most cases, you would need an extension installed to support parsing CJK text
|
|||
|
||||
Once you have the new search config, make sure you test it with the `pleroma` user in PostgreSQL (change `YOUR.CONFIG` to your real configuration name)
|
||||
```
|
||||
SELECT ts_debug('YOUR.CONFIG', '安装和配置NGINX, ElixirとErlangをインストールします');
|
||||
SELECT ts_debug('YOUR.CONFIG', '安装和配置nginx, ElixirとErlangをインストールします');
|
||||
```
|
||||
Check the output of the query, and see if it matches your expectation.
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ If creating an I2P-only instance, open `config/prod.secret.exs` and under "confi
|
|||
```
|
||||
url: [host: "i2paddress", scheme: "http", port: 80],
|
||||
```
|
||||
In addition to that, replace the existing NGINX config's contents with the example below.
|
||||
In addition to that, replace the existing nginx config's contents with the example below.
|
||||
|
||||
### Existing Instance (Clearnet Instance)
|
||||
|
||||
|
@ -131,7 +131,7 @@ config :pleroma, :http_security,
|
|||
enabled: false
|
||||
```
|
||||
|
||||
Use this as the NGINX config:
|
||||
Use this as the nginx config:
|
||||
```
|
||||
proxy_cache_path /tmp/akkoma-media-cache levels=1:2 keys_zone=akkoma_media_cache:10m max_size=10g inactive=720m use_temp_path=off;
|
||||
# The above already exists in a clearnet instance's config.
|
||||
|
@ -180,7 +180,7 @@ server {
|
|||
}
|
||||
}
|
||||
```
|
||||
reload NGINX:
|
||||
reload nginx:
|
||||
```
|
||||
systemctl stop i2pd.service --no-block
|
||||
systemctl start i2pd.service
|
||||
|
|
|
@ -5,7 +5,7 @@ In addition, federating with such instances will also help furthering that goal.
|
|||
This is a guide to show you how it can be easily done.
|
||||
|
||||
This guide assumes you already got Akkoma working, and that it's running on the default port 4000.
|
||||
This guide also assumes you're using NGINX as the reverse proxy.
|
||||
This guide also assumes you're using nginx as the reverse proxy.
|
||||
|
||||
To install Tor on Debian / Ubuntu:
|
||||
```
|
||||
|
@ -61,11 +61,11 @@ If creating a Tor-only instance, open `config/prod.secret.exs` and under "config
|
|||
```
|
||||
url: [host: "onionaddress", scheme: "http", port: 80],
|
||||
```
|
||||
In addition to that, replace the existing NGINX config's contents with the example below.
|
||||
In addition to that, replace the existing nginx config's contents with the example below.
|
||||
|
||||
## Existing Instance (Clearnet Instance)
|
||||
If not a Tor-only instance,
|
||||
add the NGINX config below to your existing config at `/etc/nginx/sites-enabled/akkoma.nginx`.
|
||||
add the nginx config below to your existing config at `/etc/nginx/sites-enabled/akkoma.nginx`.
|
||||
|
||||
---
|
||||
For both cases, disable CSP in Akkoma's config (STS is disabled by default) so you can define those yourself separately from the Clearnet (if your instance is also on the Clearnet).
|
||||
|
@ -75,7 +75,7 @@ config :pleroma, :http_security,
|
|||
enabled: false
|
||||
```
|
||||
|
||||
Use this as the NGINX config:
|
||||
Use this as the nginx config:
|
||||
```
|
||||
proxy_cache_path /tmp/akkoma-media-cache levels=1:2 keys_zone=akkoma_media_cache:10m max_size=10g inactive=720m use_temp_path=off;
|
||||
# The above already exists in a clearnet instance's config.
|
||||
|
@ -124,7 +124,7 @@ server {
|
|||
}
|
||||
}
|
||||
```
|
||||
reload NGINX:
|
||||
reload nginx:
|
||||
```
|
||||
systemctl reload nginx
|
||||
```
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Using a Varnish Cache
|
||||
|
||||
Varnish is a layer that sits between your web server and your backend application -
|
||||
it does something similar to NGINX caching, but tends to be optimized for speed over
|
||||
it does something similar to nginx caching, but tends to be optimized for speed over
|
||||
all else.
|
||||
|
||||
To set up a Varnish cache, first you'll need to install Varnish.
|
||||
|
@ -26,7 +26,7 @@ Akkoma JavaScript.
|
|||
|
||||
Once that's out of the way, we can point our webserver at Varnish. This
|
||||
|
||||
=== "NGINX"
|
||||
=== "nginx"
|
||||
|
||||
upstream phoenix {
|
||||
server 127.0.0.1:6081 max_fails=5 fail_timeout=60s;
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# Storing Remote Media
|
||||
|
||||
Akkoma does not store remote/federated media by default. The best way to achieve this is to change NGINX to keep its reverse proxy cache
|
||||
Akkoma does not store remote/federated media by default. The best way to achieve this is to change nginx to keep its reverse proxy cache
|
||||
for a year and to activate the `MediaProxyWarmingPolicy` MRF policy in Akkoma which will automatically fetch all media through the proxy
|
||||
as soon as the post is received by your instance.
|
||||
|
||||
## NGINX
|
||||
## nginx
|
||||
|
||||
The following are excerpts from the [suggested NGINX config](../../../installation/nginx/akkoma.nginx) that demonstrates the necessary config for the media proxy to work.
|
||||
The following are excerpts from the [suggested nginx config](../../../installation/nginx/akkoma.nginx) that demonstrates the necessary config for the media proxy to work.
|
||||
|
||||
A `proxy_cache_path` must be defined, for example:
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ Akkoma requires some adjustments from the defaults for running the instance loca
|
|||
* For the DB, you can still choose a dedicated user. The mix tasks sets it up, so it's no extra work for you
|
||||
* Instead of creating a `prod.secret.exs`, create `dev.secret.exs`
|
||||
* No need to prefix with `MIX_ENV=prod`. We're using dev and that's the default MIX_ENV
|
||||
* You can skip NGINX and systemd
|
||||
* You can skip nginx and systemd
|
||||
* For front-end, you'll probably want to install and use the develop branch instead of the stable branch. There's no guarantee that the stable branch of the FE will always work on the develop branch of the BE.
|
||||
2. Change the dev.secret.exs
|
||||
* Change the FE settings to use the installed branch (see also [Frontend Management](/configuration/frontend_management/))
|
||||
|
|
|
@ -136,11 +136,11 @@ doas -u akkoma env MIX_ENV=prod mix phx.server
|
|||
|
||||
### Finalize installation
|
||||
|
||||
If you want to open your newly installed instance to the world, you should run NGINX or some other webserver/proxy in front of Akkoma and you should consider to create an OpenRC service file for Akkoma.
|
||||
If you want to open your newly installed instance to the world, you should run nginx or some other webserver/proxy in front of Akkoma and you should consider to create an OpenRC service file for Akkoma.
|
||||
|
||||
#### NGINX
|
||||
#### nginx
|
||||
|
||||
* Install NGINX, if not already done:
|
||||
* Install nginx, if not already done:
|
||||
|
||||
```shell
|
||||
doas apk add nginx
|
||||
|
@ -159,15 +159,15 @@ doas mkdir -p /var/lib/letsencrypt/
|
|||
doas certbot certonly --email <your@emailaddress> -d <yourdomain> --standalone
|
||||
```
|
||||
|
||||
If that doesn’t work, make sure, that NGINX is not already running. If it still doesn’t work, try setting up NGINX first (change SSL “on” to “off” and try again).
|
||||
If that doesn’t work, make sure, that nginx is not already running. If it still doesn’t work, try setting up nginx first (change SSL “on” to “off” and try again).
|
||||
|
||||
* Copy the example NGINX configuration to the NGINX folder
|
||||
* Copy the example nginx configuration to the nginx folder
|
||||
|
||||
```shell
|
||||
doas cp /opt/akkoma/installation/nginx/akkoma.nginx /etc/nginx/conf.d/akkoma.conf
|
||||
```
|
||||
|
||||
* Before starting NGINX, edit the configuration and change it to your needs. You must change `server_name` and the paths to the certificates. You can use `nano` (install with `apk add nano` if missing).
|
||||
* Before starting nginx, edit the configuration and change it to your needs. You must change `server_name` and the paths to the certificates. You can use `nano` (install with `apk add nano` if missing).
|
||||
|
||||
```
|
||||
server {
|
||||
|
@ -187,14 +187,14 @@ server {
|
|||
}
|
||||
```
|
||||
|
||||
* Enable and start NGINX:
|
||||
* Enable and start nginx:
|
||||
|
||||
```shell
|
||||
doas rc-update add nginx
|
||||
doas rc-service nginx start
|
||||
```
|
||||
|
||||
If you need to renew the certificate in the future, uncomment the relevant location block in the NGINX config and run:
|
||||
If you need to renew the certificate in the future, uncomment the relevant location block in the nginx config and run:
|
||||
|
||||
```shell
|
||||
doas certbot certonly --email <your@emailaddress> -d <yourdomain> --webroot -w /var/lib/letsencrypt/
|
||||
|
|
|
@ -127,11 +127,11 @@ sudo -Hu akkoma MIX_ENV=prod mix phx.server
|
|||
|
||||
### Finalize installation
|
||||
|
||||
If you want to open your newly installed instance to the world, you should run NGINX or some other webserver/proxy in front of Akkoma and you should consider to create a systemd service file for Akkoma.
|
||||
If you want to open your newly installed instance to the world, you should run nginx or some other webserver/proxy in front of Akkoma and you should consider to create a systemd service file for Akkoma.
|
||||
|
||||
#### NGINX
|
||||
#### nginx
|
||||
|
||||
* Install NGINX, if not already done:
|
||||
* Install nginx, if not already done:
|
||||
|
||||
```shell
|
||||
sudo pacman -S nginx
|
||||
|
@ -145,7 +145,7 @@ sudo mkdir -p /etc/nginx/sites-{available,enabled}
|
|||
|
||||
* Append the following line at the end of the `http` block in `/etc/nginx/nginx.conf`:
|
||||
|
||||
```Nginx
|
||||
```nginx
|
||||
include sites-enabled/*;
|
||||
```
|
||||
|
||||
|
@ -162,25 +162,25 @@ sudo mkdir -p /var/lib/letsencrypt/
|
|||
sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --standalone
|
||||
```
|
||||
|
||||
If that doesn’t work, make sure, that NGINX is not already running. If it still doesn’t work, try setting up NGINX first (change SSL “on” to “off” and try again).
|
||||
If that doesn’t work, make sure, that nginx is not already running. If it still doesn’t work, try setting up nginx first (change SSL “on” to “off” and try again).
|
||||
|
||||
---
|
||||
|
||||
* Copy the example NGINX configuration and activate it:
|
||||
* Copy the example nginx configuration and activate it:
|
||||
|
||||
```shell
|
||||
sudo cp /opt/akkoma/installation/nginx/akkoma.nginx /etc/nginx/sites-available/akkoma.nginx
|
||||
sudo ln -s /etc/nginx/sites-available/akkoma.nginx /etc/nginx/sites-enabled/akkoma.nginx
|
||||
```
|
||||
|
||||
* Before starting NGINX edit the configuration and change it to your needs (e.g. change servername, change cert paths)
|
||||
* Enable and start NGINX:
|
||||
* Before starting nginx edit the configuration and change it to your needs (e.g. change servername, change cert paths)
|
||||
* Enable and start nginx:
|
||||
|
||||
```shell
|
||||
sudo systemctl enable --now nginx.service
|
||||
```
|
||||
|
||||
If you need to renew the certificate in the future, uncomment the relevant location block in the NGINX config and run:
|
||||
If you need to renew the certificate in the future, uncomment the relevant location block in the nginx config and run:
|
||||
|
||||
```shell
|
||||
sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --webroot -w /var/lib/letsencrypt/
|
||||
|
|
|
@ -145,11 +145,11 @@ sudo -Hu akkoma MIX_ENV=prod mix phx.server
|
|||
|
||||
### Finalize installation
|
||||
|
||||
If you want to open your newly installed instance to the world, you should run NGINX or some other webserver/proxy in front of Akkoma and you should consider to create a systemd service file for Akkoma.
|
||||
If you want to open your newly installed instance to the world, you should run nginx or some other webserver/proxy in front of Akkoma and you should consider to create a systemd service file for Akkoma.
|
||||
|
||||
#### NGINX
|
||||
#### nginx
|
||||
|
||||
* Install NGINX, if not already done:
|
||||
* Install nginx, if not already done:
|
||||
|
||||
```shell
|
||||
sudo apt install nginx
|
||||
|
@ -168,25 +168,25 @@ sudo mkdir -p /var/lib/letsencrypt/
|
|||
sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --standalone
|
||||
```
|
||||
|
||||
If that doesn’t work, make sure, that NGINX is not already running. If it still doesn’t work, try setting up NGINX first (change SSL “on” to “off” and try again).
|
||||
If that doesn’t work, make sure, that nginx is not already running. If it still doesn’t work, try setting up nginx first (change SSL “on” to “off” and try again).
|
||||
|
||||
---
|
||||
|
||||
* Copy the example NGINX configuration and activate it:
|
||||
* Copy the example nginx configuration and activate it:
|
||||
|
||||
```shell
|
||||
sudo cp /opt/akkoma/installation/nginx/akkoma.nginx /etc/nginx/sites-available/akkoma.nginx
|
||||
sudo ln -s /etc/nginx/sites-available/akkoma.nginx /etc/nginx/sites-enabled/akkoma.nginx
|
||||
```
|
||||
|
||||
* Before starting NGINX edit the configuration and change it to your needs (e.g. change servername, change cert paths)
|
||||
* Enable and start NGINX:
|
||||
* Before starting nginx edit the configuration and change it to your needs (e.g. change servername, change cert paths)
|
||||
* Enable and start nginx:
|
||||
|
||||
```shell
|
||||
sudo systemctl enable --now nginx.service
|
||||
```
|
||||
|
||||
If you need to renew the certificate in the future, uncomment the relevant location block in the NGINX config and run:
|
||||
If you need to renew the certificate in the future, uncomment the relevant location block in the nginx config and run:
|
||||
|
||||
```shell
|
||||
sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --webroot -w /var/lib/letsencrypt/
|
||||
|
|
|
@ -123,11 +123,11 @@ sudo -Hu akkoma MIX_ENV=prod mix phx.server
|
|||
|
||||
### Finalize installation
|
||||
|
||||
If you want to open your newly installed instance to the world, you should run NGINX or some other webserver/proxy in front of Akkoma and you should consider to create a systemd service file for Akkoma.
|
||||
If you want to open your newly installed instance to the world, you should run nginx or some other webserver/proxy in front of Akkoma and you should consider to create a systemd service file for Akkoma.
|
||||
|
||||
#### NGINX
|
||||
#### nginx
|
||||
|
||||
* Install NGINX, if not already done:
|
||||
* Install nginx, if not already done:
|
||||
|
||||
```shell
|
||||
sudo dnf install nginx
|
||||
|
@ -146,24 +146,24 @@ sudo mkdir -p /var/lib/letsencrypt/
|
|||
sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --standalone
|
||||
```
|
||||
|
||||
If that doesn’t work, make sure, that NGINX is not already running. If it still doesn’t work, try setting up NGINX first (change SSL “on” to “off” and try again).
|
||||
If that doesn’t work, make sure, that nginx is not already running. If it still doesn’t work, try setting up nginx first (change SSL “on” to “off” and try again).
|
||||
|
||||
---
|
||||
|
||||
* Copy the example NGINX configuration and activate it:
|
||||
* Copy the example nginx configuration and activate it:
|
||||
|
||||
```shell
|
||||
sudo cp /opt/akkoma/installation/nginx/akkoma.nginx /etc/nginx/conf.d/akkoma.conf
|
||||
```
|
||||
|
||||
* Before starting NGINX edit the configuration and change it to your needs (e.g. change servername, change cert paths)
|
||||
* Enable and start NGINX:
|
||||
* Before starting nginx edit the configuration and change it to your needs (e.g. change servername, change cert paths)
|
||||
* Enable and start nginx:
|
||||
|
||||
```shell
|
||||
sudo systemctl enable --now nginx.service
|
||||
```
|
||||
|
||||
If you need to renew the certificate in the future, uncomment the relevant location block in the NGINX config and run:
|
||||
If you need to renew the certificate in the future, uncomment the relevant location block in the nginx config and run:
|
||||
|
||||
```shell
|
||||
sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --webroot -w /var/lib/letsencrypt/
|
||||
|
|
|
@ -109,7 +109,7 @@ Next, obtain your account fingerprint:
|
|||
# sudo -Hu acme -g acme acme.sh --register-account
|
||||
```
|
||||
|
||||
You need to add the following to your NGINX configuration for the server
|
||||
You need to add the following to your nginx configuration for the server
|
||||
running on port 80:
|
||||
|
||||
```
|
||||
|
@ -121,7 +121,7 @@ running on port 80:
|
|||
|
||||
Replace the string after `$1.` with your fingerprint.
|
||||
|
||||
Start NGINX:
|
||||
Start nginx:
|
||||
|
||||
```
|
||||
# service nginx start
|
||||
|
@ -141,9 +141,9 @@ Let's add auto-renewal to `/etc/crontab`
|
|||
/usr/local/bin/sudo -Hu acme -g acme /usr/local/sbin/acme.sh -r -d example.com --stateless
|
||||
```
|
||||
|
||||
### Configuring NGINX
|
||||
### Configuring nginx
|
||||
|
||||
FreeBSD's default NGINX configuration does not contain an include directive, which is
|
||||
FreeBSD's default nginx configuration does not contain an include directive, which is
|
||||
typically used for multiple sites. Therefore, you will need to first create the required
|
||||
directory as follows:
|
||||
|
||||
|
@ -211,7 +211,7 @@ sudo -Hu akkoma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress>
|
|||
|
||||
## Conclusion
|
||||
|
||||
Restart NGINX with `# service nginx restart` and you should be up and running.
|
||||
Restart nginx with `# service nginx restart` and you should be up and running.
|
||||
|
||||
Make sure your time is in sync, or other instances will receive your posts with
|
||||
incorrect timestamps. You should have ntpd running.
|
||||
|
|
|
@ -18,10 +18,10 @@ dev-db/postgresql uuid
|
|||
|
||||
You could opt to add `USE="uuid"` to `/etc/portage/make.conf` if you'd rather set this as a global USE flags, but this flags does unrelated things in other packages, so keep that in mind if you elect to do so.
|
||||
|
||||
If you are planning to use `NGINX`, as this guide suggests, you should also add the following flag to the same file.
|
||||
If you are planning to use `nginx`, as this guide suggests, you should also add the following flag to the same file.
|
||||
|
||||
```text
|
||||
www-servers/nginx NGINX_MODULES_HTTP: slice
|
||||
www-servers/nginx nginx_MODULES_HTTP: slice
|
||||
```
|
||||
|
||||
Double-check your compiler flags in `/etc/portage/make.conf`. If you require any special compilation flags or would like to set up remote builds, now is the time to do so. Be sure that your CFLAGS and MAKEOPTS make sense for the platform you are using. It is not recommended to use above `-O2` or risky optimization flags for a production server.
|
||||
|
@ -42,7 +42,7 @@ Gentoo quite pointedly does not come with a cron daemon installed, and as such i
|
|||
|
||||
* `www-servers/nginx` (preferred, example configs for other reverse proxies can be found in the repo)
|
||||
* `app-crypt/certbot` (or any other ACME client for Let’s Encrypt certificates)
|
||||
* `app-crypt/certbot-nginx` (NGINX Certbot plugin that allows use of the all-powerful `--nginx` flag on Certbot)
|
||||
* `app-crypt/certbot-nginx` (nginx Certbot plugin that allows use of the all-powerful `--nginx` flag on Certbot)
|
||||
* `media-gfx/imagemagick`
|
||||
* `media-video/ffmpeg`
|
||||
* `media-libs/exiftool`
|
||||
|
@ -180,11 +180,11 @@ It probably won't work over the public internet quite yet, however, as we still
|
|||
|
||||
### Finalize installation
|
||||
|
||||
Assuming you want to open your newly installed federated social network to, well, the federation, you should run NGINX or some other webserver/proxy in front of Akkoma. It is also a good idea to set up Akkoma to run as a system service.
|
||||
Assuming you want to open your newly installed federated social network to, well, the federation, you should run nginx or some other webserver/proxy in front of Akkoma. It is also a good idea to set up Akkoma to run as a system service.
|
||||
|
||||
#### NGINX
|
||||
#### nginx
|
||||
|
||||
* Install NGINX, if not already done:
|
||||
* Install nginx, if not already done:
|
||||
|
||||
```shell
|
||||
# emerge --ask www-servers/nginx
|
||||
|
@ -198,7 +198,7 @@ Assuming you want to open your newly installed federated social network to, well
|
|||
|
||||
* Append the following line at the end of the `http` block in `/etc/nginx/nginx.conf`:
|
||||
|
||||
```Nginx
|
||||
```nginx
|
||||
include sites-enabled/*;
|
||||
```
|
||||
|
||||
|
@ -215,26 +215,26 @@ and then set it up:
|
|||
# certbot certonly --email <your@emailaddress> -d <yourdomain> --standalone
|
||||
```
|
||||
|
||||
If that doesn't work the first time, add `--dry-run` to further attempts to avoid being rate-limited as you identify the issue, and do not remove it until the dry run succeeds. If that doesn’t work, make sure, that NGINX is not already running. If it still doesn’t work, try setting up NGINX first (change SSL “on” to “off” and try again). Often the answer to issues with certbot is to use the `--nginx` flag once you have NGINX up and running.
|
||||
If that doesn't work the first time, add `--dry-run` to further attempts to avoid being rate-limited as you identify the issue, and do not remove it until the dry run succeeds. If that doesn’t work, make sure, that nginx is not already running. If it still doesn’t work, try setting up nginx first (change SSL “on” to “off” and try again). Often the answer to issues with certbot is to use the `--nginx` flag once you have nginx up and running.
|
||||
|
||||
If you are using any additional subdomains, such as for a media proxy, you can re-run the same command with the subdomain in question. When it comes time to renew later, you will not need to run multiple times for each domain, one renew will handle it.
|
||||
|
||||
---
|
||||
|
||||
* Copy the example NGINX configuration and activate it:
|
||||
* Copy the example nginx configuration and activate it:
|
||||
|
||||
```shell
|
||||
# cp /home/akkoma/akkoma/installation/nginx/akkoma.nginx /etc/nginx/sites-available/
|
||||
# ln -s /etc/nginx/sites-available/akkoma.nginx /etc/nginx/sites-enabled/akkoma.nginx
|
||||
```
|
||||
|
||||
* Take some time to ensure that your NGINX config is correct
|
||||
* Take some time to ensure that your nginx config is correct
|
||||
|
||||
Replace all instances of `example.tld` with your instance's public URL. If for whatever reason you made changes to the port that your Akkoma app runs on, be sure that is reflected in your configuration.
|
||||
|
||||
Pay special attention to the line that begins with `ssl_ecdh_curve`. It is strongly advised to comment that line out so that OpenSSL will use its full capabilities, and it is also possible you are running OpenSSL 1.0.2 necessitating that you do this.
|
||||
|
||||
* Enable and start NGINX:
|
||||
* Enable and start nginx:
|
||||
|
||||
```shell
|
||||
# rc-update add nginx default
|
||||
|
|
|
@ -35,7 +35,7 @@ Copy the rc.d scripts to the right directory:
|
|||
# cp /usr/pkg/share/examples/rc.d/nginx /usr/pkg/share/examples/rc.d/pgsql /etc/rc.d
|
||||
```
|
||||
|
||||
Add NGINX and PostgreSQL to `/etc/rc.conf`:
|
||||
Add nginx and PostgreSQL to `/etc/rc.conf`:
|
||||
|
||||
```
|
||||
nginx=YES
|
||||
|
@ -98,14 +98,14 @@ You will need to do this whenever you update with `git pull`:
|
|||
$ MIX_ENV=prod mix ecto.migrate
|
||||
```
|
||||
|
||||
## Configuring NGINX
|
||||
## Configuring nginx
|
||||
|
||||
Install the example configuration file
|
||||
`/home/akkoma/akkoma/installation/nginx/akkoma.nginx` to
|
||||
`/usr/pkg/etc/nginx.conf`.
|
||||
|
||||
Note that it will need to be wrapped in a `http {}` block. You should add
|
||||
settings for the NGINX daemon outside the HTTP block, for example:
|
||||
settings for the nginx daemon outside the HTTP block, for example:
|
||||
|
||||
```
|
||||
user nginx nginx;
|
||||
|
@ -133,7 +133,7 @@ First, get your account fingerprint:
|
|||
$ sudo -Hu nginx -g nginx acme.sh --register-account
|
||||
```
|
||||
|
||||
You need to add the following to your NGINX configuration for the server
|
||||
You need to add the following to your nginx configuration for the server
|
||||
running on port 80:
|
||||
|
||||
```
|
||||
|
@ -193,7 +193,7 @@ Run `# /etc/rc.d/akkoma start` to start Akkoma.
|
|||
|
||||
## Conclusion
|
||||
|
||||
Restart NGINX with `# /etc/rc.d/nginx restart` and you should be up and running.
|
||||
Restart nginx with `# /etc/rc.d/nginx restart` and you should be up and running.
|
||||
|
||||
Make sure your time is in sync, or other instances will receive your posts with
|
||||
incorrect timestamps. You should have `ntpd` running.
|
||||
|
|
|
@ -16,7 +16,7 @@ pkg_add elixir gmake git postgresql-server postgresql-contrib cmake ffmpeg erlan
|
|||
pkg_add erlang-wx # Choose the latest version as package version when promted
|
||||
```
|
||||
|
||||
Akkoma requires a reverse proxy, OpenBSD has relayd in base (and is used in this guide) and packages/ports are available for NGINX (www/nginx) and Apache (www/apache-httpd). Independently of the reverse proxy, [acme-client(1)](https://man.openbsd.org/acme-client) can be used to get a certificate from Let's Encrypt.
|
||||
Akkoma requires a reverse proxy, OpenBSD has relayd in base (and is used in this guide) and packages/ports are available for nginx (www/nginx) and Apache (www/apache-httpd). Independently of the reverse proxy, [acme-client(1)](https://man.openbsd.org/acme-client) can be used to get a certificate from Let's Encrypt.
|
||||
|
||||
#### Optional software
|
||||
|
||||
|
|
|
@ -174,16 +174,16 @@ sleep 20 && curl http://localhost:4000/api/v1/instance
|
|||
su akkoma -s $SHELL -lc "./bin/pleroma stop"
|
||||
```
|
||||
|
||||
### Setting up NGINX and getting Let's Encrypt SSL certificates
|
||||
### Setting up nginx and getting Let's Encrypt SSL certificates
|
||||
|
||||
#### Get a Let's Encrypt certificate
|
||||
```sh
|
||||
certbot certonly --standalone --preferred-challenges http -d yourinstance.tld
|
||||
```
|
||||
|
||||
#### Copy Akkoma NGINX configuration to the NGINX folder
|
||||
#### Copy Akkoma nginx configuration to the nginx folder
|
||||
|
||||
The location of NGINX configs is dependent on the distro
|
||||
The location of nginx configs is dependent on the distro
|
||||
|
||||
=== "Alpine"
|
||||
```
|
||||
|
@ -201,7 +201,7 @@ If your distro does not have either of those, you can append `include /etc/nginx
|
|||
cp /opt/akkoma/installation/nginx/akkoma.nginx /etc/nginx/akkoma.conf
|
||||
```
|
||||
|
||||
#### Edit the NGINX config
|
||||
#### Edit the nginx config
|
||||
```sh
|
||||
# Replace example.tld with your (sub)domain
|
||||
$EDITOR path-to-nginx-config
|
||||
|
@ -209,7 +209,7 @@ $EDITOR path-to-nginx-config
|
|||
# Verify that the config is valid
|
||||
nginx -t
|
||||
```
|
||||
#### Start NGINX
|
||||
#### Start nginx
|
||||
|
||||
=== "Alpine"
|
||||
```
|
||||
|
@ -265,7 +265,7 @@ nginx -t
|
|||
|
||||
=== "Alpine"
|
||||
```
|
||||
# Restart NGINX
|
||||
# Restart nginx
|
||||
rc-service nginx restart
|
||||
|
||||
# Start the cron daemon and make it start on boot
|
||||
|
@ -287,7 +287,7 @@ nginx -t
|
|||
|
||||
=== "Debian/Ubuntu"
|
||||
```
|
||||
# Restart NGINX
|
||||
# Restart nginx
|
||||
systemctl restart nginx
|
||||
|
||||
# Ensure the webroot menthod and post hook is working
|
||||
|
|
|
@ -159,7 +159,7 @@ sleep 20 && curl http://localhost:4000/api/v1/instance
|
|||
sudo -Hu akkoma ./bin/pleroma stop
|
||||
```
|
||||
|
||||
### Setting up NGINX and getting Let's Encrypt SSL certificates
|
||||
### Setting up nginx and getting Let's Encrypt SSL certificates
|
||||
|
||||
#### Get a Let's Encrypt certificate
|
||||
|
||||
|
@ -167,13 +167,13 @@ sudo -Hu akkoma ./bin/pleroma stop
|
|||
certbot certonly --standalone --preferred-challenges http -d yourinstance.tld
|
||||
```
|
||||
|
||||
#### Copy Akkoma NGINX configuration to the NGINX folder
|
||||
#### Copy Akkoma nginx configuration to the nginx folder
|
||||
|
||||
```shell
|
||||
cp /opt/akkoma/installation/nginx/akkoma.nginx /etc/nginx/conf.d/akkoma.conf
|
||||
```
|
||||
|
||||
#### Edit the NGINX config
|
||||
#### Edit the nginx config
|
||||
```shell
|
||||
# Replace example.tld with your (sub)domain (replace $EDITOR with your editor of choice)
|
||||
sudo $EDITOR /etc/nginx/conf.d/akkoma.conf
|
||||
|
@ -181,7 +181,7 @@ sudo $EDITOR /etc/nginx/conf.d/akkoma.conf
|
|||
# Verify that the config is valid
|
||||
sudo nginx -t
|
||||
```
|
||||
#### Start NGINX
|
||||
#### Start nginx
|
||||
|
||||
```shell
|
||||
sudo systemctl start nginx
|
||||
|
@ -227,7 +227,7 @@ sudo $EDITOR /etc/nginx/conf.d/akkoma.conf
|
|||
# Verify that the config is valid
|
||||
sudo nginx -t
|
||||
|
||||
# Restart NGINX
|
||||
# Restart nginx
|
||||
sudo systemctl restart nginx
|
||||
|
||||
# Ensure the webroot menthod and post hook is working
|
||||
|
|
Loading…
Add table
Reference in a new issue