api-sandbox/share/readmes/gandi.md
2025-04-22 18:06:11 +03:00

5.7 KiB

gandi

connecting to gandi server

accessing the server via ssh

first steps with gandi server

visudo

configuring visudo

users

tecmint.com complete guide to users

How To Configure SSH Key-Based Authentication on a Linux Server

postgres

ubuntu community postgres docs

adding/deleting users

adding a user:

("www-data" is the group name for website stuff on gandi)

sudo useradd -G www-data *-d /home/*username -m -s /bin/bash username

-G group adds the groups in a comma separated

-d /home/username specifies the home directory to be created (necessary on ubuntu)

-m flag to create scripts (necessary)

-s /bin/bash what shell is to be used (default is none)

deleting a user

userdel -r {username}

IMPORTANT

set users primary group

this is critical

sudo usermod <username> -g www-data

setting up ssh authentication

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

apt-get commands

to see the package version:

dpkg -s postgresql | grep Version	

setting up gandi server

creating the server instance

after logging in, go to the virtual machine setup tab under services -> servers

virtual machine

under "servers" click "create a server". At the setup page you will have the option of either using an public ssh key, a password, or both. Pick both.

  1. generate a password
  2. go to ~/.ssh and look for something like id_rsa.pub
  3. to put in on the clipboard, on OSX type cat ~/.ssh/id_rsa.pub | pbcopy
  4. paste what's in the clipboard into the ssh input section
  5. copy all this information down and start it up

first steps with server

next follow the links under "gandi"

while you are doing the commands link "first steps with gandi server" you may want to do this command:

su -c 'apt-get install sudo'
su -c 'apt-get install vim'

after setting up "first steps with gandi server" above, you will want to configure visudo to use vim

setup visudo

su -c 'update-alternatives --config editor'

su -c 'visudo'

find this line:

USERNAME ALL=(ALL) NOPASSWD: ALL

replace it with:

admin ALL=(ALL) ALL

(or whatever user name you are mainly using)

add new user

  1. sudo useradd -G www-data *-d /home/*username -m -s /bin/bash username
  2. mkdir projectdir

set users primary group

this is critical

sudo usermod <username> -g www-data

set password

sudo passwd <username>

setting up ssh authentication

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

apt-get setup

sudo apt-get update
sudo apt-get install aptitude

postgres

could not connect to server solution

locale solution

remote connecting

sudo apt-get install postgresql
sudo apt-get install postgresql-contrib
sudo locale-gen en_US en_US.UTF-8 hu_HU hu_HU.UTF-8
sudo dpkg-reconfigure locales
sudo service postgresql restart
sudo -u postgres psql postgres
sudo -u postgres createdb **website_dbname**

sudo apt-get install postgresql-server-dev-X.Y
sudo apt-get install postgresql-server-dev-9.3

change password for db user "postgres"

sudo -u postgres psql postgres

ALTER USER Postgres WITH PASSWORD '<newpassword>';

set up postgresql to remote access

######(see "remote connecting" link above)

#####Note: be careful with this, because anyone will be able to mess around with it

  1. sudo vim /etc/postgresql/9.3/main/postgresql.conf
  2. find listen_addresses and change it to listen_addresses = '*'
  3. sudo vim /etc/postgresql/9.3/main/pg_hba.conf
  4. find host all all 127.0.0.1/32 trust and change 127.0.0.1/32 to 0.0.0.0/0
  5. sudo service postgresql restart
  6. test it by running: psql -h ip_address -U username -d database
  7. e.g. psql -h 173.246.107.96 -U postgres postgres

setup the /var/www directory

cd /var
sudo mkdir www
sudo chgrp www-data www -R
sudo chmod g+w www -R

install python packages

sudo apt-get install python-dev
sudo apt-get install libjpeg-dev

install and set up supervisor

sudo apt-get install supervisor

make sure www-data is a group for the main user

vim /etc/supervisor/supervisord.conf

add the following:

[unix_http_server]
file=/var/run//supervisor.sock
chmod=0770
chown=nobody:www-data

[supervisorctl]
serverurl=unix:///var/run//supervisor.sock
chmod=0770
chown=nobody:www-data

run the following commands:

sudo service supervisor stop
sudo service supervisor start

install pip and virtualenv

virtualenv install

sudo apt-get install python-pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper

install nginx

sudo apt-get install nginx

bootstrap server

fab (prod|rel) deploy.bootstrap