[server.md] some changes to server setup guide
This commit is contained in:
		
							parent
							
								
									31de5a0a2d
								
							
						
					
					
						commit
						0b77b386a2
					
				@ -76,7 +76,11 @@ apt update
 | 
				
			|||||||
- Other -dev packages, g++ - these are needed for the compilation of Ruby using ruby-build.
 | 
					- Other -dev packages, g++ - these are needed for the compilation of Ruby using ruby-build.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
apt -y install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core g++ libprotobuf-dev protobuf-compiler pkg-config gcc autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev nginx redis-server redis-tools postgresql postgresql-contrib certbot libidn11-dev libicu-dev
 | 
					apt -y install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \
 | 
				
			||||||
 | 
					 g++ libprotobuf-dev protobuf-compiler pkg-config gcc autoconf bison build-essential \
 | 
				
			||||||
 | 
					 libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 \
 | 
				
			||||||
 | 
					 libgdbm-dev nginx redis-server redis-tools postgresql postgresql-contrib certbot \
 | 
				
			||||||
 | 
					 libidn11-dev libicu-dev gnupg2 supervisor
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Dependencies That Need To Be Added As A Non-Root User
 | 
					### Dependencies That Need To Be Added As A Non-Root User
 | 
				
			||||||
@ -84,14 +88,14 @@ apt -y install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-co
 | 
				
			|||||||
Let us create this user first:
 | 
					Let us create this user first:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
adduser --disabled-password gabsocial
 | 
					adduser --disabled-password --shell /bin/bash gabsocial
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Log in as the `gabsocial` user:
 | 
					Log in as the `gabsocial` user:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
sudo su - gabsocial
 | 
					su - gabsocial
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Node Version Manager, Node.js, and Yarn
 | 
					#### Node Version Manager, Node.js, and Yarn
 | 
				
			||||||
@ -99,20 +103,17 @@ sudo su - gabsocial
 | 
				
			|||||||
[Node Version Manager](https://github.com/nvm-sh/nvm) is a tool used for managing Node.js deployments. By convention at Gab, we only use Node.js as a standard user. No part of Node.js is managed or executed with superuser privileges. Those responsibilities are handled by Nginx later in this document.
 | 
					[Node Version Manager](https://github.com/nvm-sh/nvm) is a tool used for managing Node.js deployments. By convention at Gab, we only use Node.js as a standard user. No part of Node.js is managed or executed with superuser privileges. Those responsibilities are handled by Nginx later in this document.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
 | 
					curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Refresh your user session to pick up the environment changes added by `nvm`. Then, let's install Node.js v10.15.3LTS, verify that it was installed correctly, and install Yarn:
 | 
					Refresh your user session to pick up the environment changes added by `nvm`. Then, let's install Node.js v10.15.3LTS, verify that it was installed correctly, and install Yarn:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
# ask NVM to install 10.16.1LTS
 | 
					# ask NVM to install 10.16.1LTS
 | 
				
			||||||
nvm install --lts 10.16.1
 | 
					nvm install --lts 12.19.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ask Node to print it's version number and exit.
 | 
					nvm alias default 12.19.0
 | 
				
			||||||
node --version
 | 
					nvm use 12.19.0
 | 
				
			||||||
 | 
					 | 
				
			||||||
# (should display)
 | 
					 | 
				
			||||||
v10.16.1
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Install Yarn, globally
 | 
					# Install Yarn, globally
 | 
				
			||||||
npm install -g yarn forever
 | 
					npm install -g yarn forever
 | 
				
			||||||
@ -120,37 +121,24 @@ npm install -g yarn forever
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#### rbenv, Ruby, Rails, Rake
 | 
					#### rbenv, Ruby, Rails, Rake
 | 
				
			||||||
 | 
					
 | 
				
			||||||
We will need to set up [`rbenv`](https://github.com/rbenv/rbenv) and [`ruby-build`](https://github.com/rbenv/ruby-build):
 | 
					We will need to set up rvm.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					As root:
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
 | 
					gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
 | 
				
			||||||
cd ~/.rbenv && src/configure && make -C src
 | 
					 | 
				
			||||||
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
 | 
					 | 
				
			||||||
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Restart shell
 | 
					\curl -sSL https://get.rvm.io | bash -s stable
 | 
				
			||||||
exec bash
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Check if rbenv is correctly installed
 | 
					usermod -a -G rvm root
 | 
				
			||||||
type rbenv
 | 
					usermod -a -G rvm gabsocial
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source /etc/profile.d/rvm.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rvm install 2.6.5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Install ruby-build as rbenv plugin
 | 
					 | 
				
			||||||
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Now that [`rbenv`](https://github.com/rbenv/rbenv) and [`ruby-build`](https://github.com/rbenv/ruby-build) are installed, we will install the
 | 
					 | 
				
			||||||
[Ruby](https://www.ruby-lang.org/en/) version which [Gab Social](https://code.gab.com/gab/social/gab-social) uses. That version will also need to be enabled.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
To enable [Ruby](https://www.ruby-lang.org/en/), run:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```sh
 | 
					 | 
				
			||||||
# We recommend watching videos on BitChute while this procedure
 | 
					 | 
				
			||||||
# ruins your whole machine forever.
 | 
					 | 
				
			||||||
rbenv install 2.6.1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# set the global RoR environment to version 2.6.1
 | 
					 | 
				
			||||||
rbenv global 2.6.1
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### node.js And Ruby Dependencies
 | 
					### node.js And Ruby Dependencies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -160,7 +148,7 @@ Run the following to clone and install:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
# Return to gabsocial user's home directory
 | 
					# Return to gabsocial user's home directory
 | 
				
			||||||
cd ~
 | 
					su - gabsocial
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Clone the gabsocial git repository into ~/live
 | 
					# Clone the gabsocial git repository into ~/live
 | 
				
			||||||
git clone https://code.gab.com/gab/social/gab-social live
 | 
					git clone https://code.gab.com/gab/social/gab-social live
 | 
				
			||||||
@ -168,9 +156,6 @@ git clone https://code.gab.com/gab/social/gab-social live
 | 
				
			|||||||
# Change directory to ~/live
 | 
					# Change directory to ~/live
 | 
				
			||||||
cd ~/live
 | 
					cd ~/live
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Checkout to the latest stable branch
 | 
					 | 
				
			||||||
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Install bundler
 | 
					# Install bundler
 | 
				
			||||||
gem install bundler
 | 
					gem install bundler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -413,7 +398,7 @@ If upgrading:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
cd ~/live
 | 
					cd ~/live
 | 
				
			||||||
RAILS_ENV=production rails assets:precompile
 | 
					RAILS_ENV=production bin/rake assets:precompile
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The interactive wizard will guide you through basic and necessary options, generate new app secrets, setup the database schema and precompile the assets.
 | 
					The interactive wizard will guide you through basic and necessary options, generate new app secrets, setup the database schema and precompile the assets.
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user