Template:Installation/Common: Difference between revisions

From diaspora* project wiki
(→‎Bundle: Explain how to handle the sigar build issue.)
(→‎Bundle: Don't manually install bundler anymore, it creates problem with the bundler version ruby 2.7 already provides)
 
(23 intermediate revisions by 9 users not shown)
Line 17: Line 17:
{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
cp config/database.yml.example config/database.yml
cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml
cp config/diaspora.toml.example config/diaspora.toml
|lang=bash}}
|lang=bash}}


Line 27: Line 27:


{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
gem install bundler
script/configure_bundler
{{#ifeq:{{#var:gcc5}}|true|bundle config --local build.sigar '--with-cppflags="-fgnu89-inline"'
{{#ifeq:{{#var:dist}}{{#var:version}}{{#varDB}}|CentOS6postgres|bin/bundle config --local build.pg '--with-pg-config=/usr/pgsql-<version>/bin/pg_config'
<nowiki/>|}}{{#ifeq:{{#var:dist}}{{#var:version}}{{#varDB}}|CentOS6postgres|bundle config --local build.pg '--with-pg-config=/usr/pgsql-<version>/bin/pg_config'
<nowiki/>}}bin/bundle install --full-index
<nowiki/>}}{{#var:env_string}}bin/bundle install {{#ifeq:{{#var:mode}}|production| --jobs $(nproc) --deployment --without test development|}} --with {{#switch: {{#var:DB}}|mysql=mysql|postgres=postgresql|mariadb=mysql}}
|lang=bash}}
|lang=bash}}


This takes quite a while. When it's finished, you should see a message similar to: <tt>Bundle complete! 137 Gemfile dependencies, 259 gems now installed.</tt> If that's not the case, you should seek for help on the mailing list or the IRC channel. The <tt>--jobs $(nproc)</tt> flag speeds things a bit since it enables parallel downloading. <tt>nproc</tt> shows the number of CPU cores you have available.
This takes quite a while. When it's finished, you should see a message similar to: <tt>Bundle complete! 137 Gemfile dependencies, 259 gems now installed.</tt> If that's not the case, you should seek for help on the mailing list or the IRC channel.


Running the manual <tt>gem install</tt> command shown in the error message can sometimes show a clearer error message if the <tt>bundle</tt> command fails.
Running the manual <tt>gem install</tt> command shown in the error message can sometimes show a clearer error message if the <tt>bundle</tt> command fails.
{{#ifeq: {{#var:version}}|Wheezy||Note: If you are installing on testing/stretch, you will need to rebuild the sigar gem.  To do this, you need to run:
<syntaxhighlight lang="bash">
GEM_HOME=vendor/bundle/ruby/2.3.0 gem uninstall sigar
bundle config --local build.sigar '--with-cppflags="-fgnu89-inline"'
</syntaxhighlight>
Afterwards, you need to re-run the <tt>bundle install</tt> command.
(It might be possible to run this sigar build prior to running the initial <tt>bundle install</tt> command, but this has not been tested.)}}


== Database setup ==
== Database setup ==
Line 53: Line 41:


{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
{{#var:env_string}}bin/rake db:create db:schema:load
{{#var:env_string}}bundle exec rake db:create db:migrate
|lang=bash}}
|lang=bash}}
{{#ifeq: {{#var:mode}}|production|{{Installation/Assets}}|}}
{{#ifeq: {{#var:mode}}|production|{{Installation/Assets}}|}}
== Start diaspora* ==
== Start diaspora* ==


Line 65: Line 54:


{{#ifeq: {{#var:mode}}|production|In the most simple case you want to do this inside a [http://www.gnu.org/software/screen/ screen] or [http://tmux.sourceforge.net/ tmux] session from which you can safely detach.|}}
{{#ifeq: {{#var:mode}}|production|In the most simple case you want to do this inside a [http://www.gnu.org/software/screen/ screen] or [http://tmux.sourceforge.net/ tmux] session from which you can safely detach.|}}
Your diaspora server is now running, either on a unix socket (current default) or on http port 3000. The listening method can be configured in diaspora.toml, search for '3000' or 'listen' to find the correct line.
You will likely need to install a reverse proxy ([https://gist.github.com/jhass/719014 example on github] for apache2) in order to get it to be served publicly. If you are new to running rails applications you may find the [[diaspora components]] page helpful for orientation.
== Backup ==
{{Serious|1=You have to do backups of your pod data. If you lose your data, you won't be able to use the combination of your old username and old domain ever again. Make sure to store the backups on a different server, or at least on a different hard drive.<br />For details on how to do backups, see [[Pod data backup]].}}


== Further reading ==
== Further reading ==

Latest revision as of 02:10, 1 August 2022

Get the source

It's time to download diaspora*! As your diaspora user run:

cd ~
git clone  https://github.com/diaspora/diaspora.git
cd diaspora

Don't miss the cd diaspora, all coming commands expect to be run from that directory!

Configuration

Copy files

cp config/database.yml.example config/database.yml
cp config/diaspora.toml.example config/diaspora.toml


Bundle

It's time to install the Ruby libraries required by diaspora*:

script/configure_bundler
bin/bundle install --full-index

This takes quite a while. When it's finished, you should see a message similar to: Bundle complete! 137 Gemfile dependencies, 259 gems now installed. If that's not the case, you should seek for help on the mailing list or the IRC channel.

Running the manual gem install command shown in the error message can sometimes show a clearer error message if the bundle command fails.

Database setup

Double check your config/database.yml looks right and run:

bundle exec rake db:create db:migrate


Start diaspora*

It's time to start diaspora*:

./script/server


Your diaspora server is now running, either on a unix socket (current default) or on http port 3000. The listening method can be configured in diaspora.toml, search for '3000' or 'listen' to find the correct line.

You will likely need to install a reverse proxy (example on github for apache2) in order to get it to be served publicly. If you are new to running rails applications you may find the diaspora components page helpful for orientation.

Backup

WarningWarning:You have to do backups of your pod data. If you lose your data, you won't be able to use the combination of your old username and old domain ever again. Make sure to store the backups on a different server, or at least on a different hard drive.
For details on how to do backups, see Pod data backup.

Further reading