Skip to content

Instantly share code, notes, and snippets.

@defbobo
Last active June 20, 2018 06:17
Show Gist options
  • Select an option

  • Save defbobo/08cbc36ed97ae82fb31401bb8dd283a3 to your computer and use it in GitHub Desktop.

Select an option

Save defbobo/08cbc36ed97ae82fb31401bb8dd283a3 to your computer and use it in GitHub Desktop.
VPS setup

Config is 1vCPU, 512 MB RAM and running Ubuntu16 on 64 bits.

apt-get update
apt-get upgrade

Add users

adduser localadmin

Add the localadmin user as root

localadmin  ALL=(ALL) NOPASSWD: ALL

   loction: /etc/sudouser

visudo
localadmin  ALL=(ALL) ALL

Group sudo password free %wheel ALL=(ALL) ALL usermode -a -G wheel pro1 <=== pro1 sudo password free

Add user to sudo list

sudo  usermod -aG sudo username

Put SSH port to something else

vim /etc/ssh/sshd_config

Set Port to the value you like. Hidden for security purpose Restart SSH

service ssh restart

Setting up service to ban IP's on many failed login attempts

apt-get install fail2ban

Change port of SSH action to the port defined earlier, and restart service

service fail2ban restart

Installed LAMP stack

apt-get install -y python2.7-dev python-virtualenv python-pip
apt-get install -y curl sqlite3

Install and Config Shadowsocks

pip install --upgrade pip
apt-get install supervisor
pip install shadowsocks
mkdir -p /var/log/dshadowsocks/childlog/
ssserver -c /opt/shadowsocks/conf.json -d start
ssserver -k install10 -p 1982

Install webmin to administer unix machine in a more user friendly way

apt-get update

Edit /etc/apt/sources.list and add

deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
cd /root
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

Add public SSH key to server to prevent password logon and ease of use

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
vim ~/.ssh/authorized_keys

Ruby - to get latest version, do not use apt-get install ruby

wget -O ruby-install-0.5.0.tar.gz https://github.com/postmodern/ruby-install/archive/v0.5.0.tar.gz
tar -xzvf ruby-install-0.5.0.tar.gz
cd ruby-install-0.5.0/
sudo make install

Installing ruby gem and ruby env. Install rbenvusing https://github.com/sstephenson/rbenv

ruby-install --install-dir ~/.rbenv/versions/2.1.3 ruby 2.1.3
rbenv global 2.1.3
wget http://production.cf.rubygems.org/rubygems/rubygems-2.4.5.tgz
tar -zxvf rubygems-2.4.5.tgz
cd rubygems-2.4.5
ruby setup.rb
gem install backup
gem install whenever

Installing Python

wget http://python.org/ftp/python/2.7.15/Python-2.7.15.tar.bz2  
tar -jxvf Python-2.7.15.tar.bz2
./configure  
make all             
make install  
make clean  
make distclean
mv /usr/bin/python /usr/bin/python2.6.6  
ln -s /usr/local/bin/python2.7 /usr/bin/python  

Personal Linux program installation Note

  1. mysql installation
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
  1. redis installation
sudo apt-get install redis-server
sudo apt-get install redis-tools
sudo apt-get install redis-sentinel
  1. ipython installation
pip install "ipython[all]"
  1. ruby installation
sudo apt-get update
sudo apt-get upgrade 
apt-get install ruby
  1. python installation
apt-get install build-essential
apt-get install python3-dev python3-pip python3-setuptools
pip3 install --upgrade pip
  1. nodejs installation
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
apt-get install nodejs
{
"server": "x.x.x.x",
"server_port": 1080,
"local_port": 1080,
"password": "xxxxxxxx",
"timeout": 600,
"method": "aes-256-cfb"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment