1 <?xml version=
"1.0" encoding=
"UTF-8" ?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5 <html xmlns=
"http://www.w3.org/1999/xhtml">
8 <title>README.html
</title>
21 <li>Postgresql version
9.5 or newer
</li>
22 <li>Elixir version
1.4 or newer
</li>
26 <h4>Installing dependencies on Debian system
</h4>
28 <p>PostgreSQL
9.6 should be available on debian stable (Jessie) from "main" area. Install it using apt:
<code>apt install postgresql-
9.6</code>. Make sure that
<code>postgresql-
9.5</code> or older is not installed, for some strange reason debian allows multiple versions to coexist, what effect it has - i don't know.
</p>
30 <p>You must install elixir
1.4+ from elixir-lang.org, because Debian repos only have
1.3.x version. You will need to add apt repo to sources.list(.d) and import GPG key. Follow instructions here: https://elixir-lang.org/install.html#unix-and-unix-like (See "Ubuntu or Debian
7"). This should be valid until Debian updates elixir in their repositories. Package you want is named
<code>elixir
</code>, so install it using
<code>apt install elixir
</code></p>
32 <p>NodeJS is available as
<code>nodejs
</code> package on debian.
<code>apt install nodejs
</code>. Debian stable has
4.8.x version. If that does not work, use nodesource's repo https://github.com/nodesource/distributions#deb - version
5.x confirmed to work.
</p>
37 <li>You probably want application to run as separte user - so create a new one:
<code>adduser pleroma
</code></li>
38 <li>Clone the git repository into new user's dir (clone as the user to avoid permissions errors)
</li>
39 <li>Again, as new user, install dependencies with
<code>mix deps.get
</code> if it asks you to install "hex" - agree to that.
</li>
42 <h3>Database preparation
</h3>
45 <li><p>You'll need to allow password-based authorisation for
<code>postgres
</code> superuser
</p>
48 <li><p>changing default password for superuser is probably a good idea:
</p>
51 <li>Open psql shell as postgres user: (as root)
<code>su postgres -c psql
</code></li>
52 <li>There, enter following:
<code>ALTER USER postgres with encrypted password '
<YOUR SECURE PASSWORD
>';
</code></li>
53 <li>Replace password in file
<code>config/dev.exs
</code> with password you supplied in previous step (look for line like
<code>password: "postgres"
</code>)
</li>
55 <li><p>edit
<code>/etc/postgresql/
9.6/main/pg_hba.conf
</code> (Assuming you have
9.6 version) and change the line:
57 local all postgres peer
61 local all postgres md5
64 <li>Create and migrate your database with
<code>mix ecto.create
&& mix ecto.migrate
</code>. If it gives errors, try running again, it should be ok.
</li>
65 <li>You most likely don't want having some application accessing database as superuser, so we need to create separate user for that. For now it's done manually (issue #
27).
67 <li>Revert
<code>/etc/postgresql/
9.6/main/pg_hba.conf
</code> to previous state (replace
<code>md5
</code> with
<code>peer
</code>)
</li>
68 <li>Open psql shell as postgres user: (as root)
<code>su postgres -c psql
</code></li>
69 <li>Create a new PostgreSQL user:
73 ALTER user pleroma with encrypted password '
<your password
>';
74 GRANT ALL ON ALL tables IN SCHEMA public TO pleroma;
75 GRANT ALL ON ALL sequences IN SCHEMA public TO pleroma;
77 <li>Again, change password in
<code>config/dev.exs
</code>, and change user too to
<code>"pleroma"</code> (like like
<code>username: "postgres"
</code>)
</li>
81 <h3>Some additional configuration
</h3>
84 <li><p>You will need to let pleroma instance to know what hostname/url it's running on.
</p>
86 <p>In file
<code>config/dev.exs
</code>, add these lines at the end of the file:
</p>
89 config :pleroma, Pleroma.Web.Endpoint,
90 url: [host: "example.tld", scheme: "https", port:
443]
93 <p>replacing
<code>example.tld
</code> with your (sub)domain
</p></li>
94 <li><p>Start Phoenix endpoint with
<code>mix phx.server
</code></p></li>
97 <p>Now you can visit
<a href=
"http://localhost:4000"><code>localhost:
4000</code></a> from your browser.
</p>
99 <p>Ready to run in production? Please
<a href=
"http://www.phoenixframework.org/docs/deployment">check our deployment guides
</a>.
</p>
104 <li>Official website: http://www.phoenixframework.org/
</li>
105 <li>Guides: http://phoenixframework.org/docs/overview
</li>
106 <li>Docs: https://hexdocs.pm/phoenix
</li>
107 <li>Mailing list: http://groups.google.com/group/phoenix-talk
</li>
108 <li>Source: https://github.com/phoenixframework/phoenix
</li>