Server migration

I’m in the middle of migrating the this website from hosted on a shared namecheap server to a VPS server. Namecheap notified me that this site will be undergoing for hardware upgrade, moving to a different physical server. Let me remember what the old hardware was, and I’ll update this post later with the new hardware. Schedule update is for Mar. 25, 2017.

[phepha@server159 ~]$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 62
model name : Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
stepping : 4
microcode : 1064
cpu MHz : 2099.884
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 0
cpu cores : 6
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes

[phepha@server159 ~]$ cat /proc/meminfo
MemTotal: 65786112 kB
MemFree: 740052 kB
Buffers: 10627716 kB
Cached: 38361744 kB
SwapCached: 0 kB
MemCommitted: 1031798784 kB
VirtualSwap: 0 kB
Active: 29757552 kB
Inactive: 25222428 kB
Active(anon): 4747632 kB
Inactive(anon): 1283136 kB
Active(file): 25009920 kB
Inactive(file): 23939292 kB
Unevictable: 5244 kB

[phepha@server159 ~]$ cat /proc/version
Linux version 2.6.32-604.30.3.lve1.3.63.el6.x86_64 (mockbuild@build.cloudlinux.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Sun Sep 27 06:34:10 EDT 2015

Generate https cert

“`
sudo apt-get update
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install -y python-certbot-nginx
“`
Then get a certificate `sudo certbot –nginx certonly`

Now edit the nginx config to add the fullchain.pem and privkey.pem paths.

sudo vim /etc/nginx/sites-enabled/default

Add lines 22-25.

server {
20 # SSL configuration
21 #
22 listen 443 ssl default_server;
23 listen [::]:443 ssl default_server;
24 ssl_certificate_key /etc/letsencrypt/live/autox.network/privkey.pem;
25 ssl_certificate /etc/letsencrypt/live/autox.network/fullchain.pem;

}

Four coloring for large software

“In mathematics, the four colour theorem, or the four colour map theorem, states that, given any separation of a plane into contiguous regions, producing a figure called a map, no more than four colour are required to colour the regions of the map so that no two adjacent regions have the same colour.” — Wikipedia

“A codebase composed of small interconnected modules that communicate with each other in a well-defined way will have a lower complexity than one where the modules communicate with each other haphazardly.” – http://alexkudlick.com/blog/what-the-four-color-theorem-can-teach-us-about-writing-software/

How to recover locked out AWS EC2 ssh machine

One time I accidentally messed with the `/etc/passwd` and locked myself out of being able to SSH into the machine. Since this is a remote machine in AWS I had no way of doing what I’d normally do. Which is attaching a keyboard and monitor and fixing this manually.

To fix, use the AWS EC2 Management page to:
– spin up a new instance of vanilla ubuntu EC2 (let’s call it David)
– shutdown the locked machine (let’s call it Goliath)
– unmount Goliath’s volume
– attach the volume to David

Then follow this guide: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html

Summary of what I did from this guide:
“`
lsblk
sudo file -s /dev/xvdf # MBR (not data type)
sudo file -s /dev/xvdf1 # ext4
sudo mkdir mount_folder
sudo mount /dev/xvdf1 mount_folder # ext4 mounted
cd mount_folder
# undo crazy setting (see Note #1)
cd .. # to unmount
sudo umount /dev/xvdf1
# Note #2
“`

Note #1: For me I tried to modify `/etc/ssh/sshd_config` to allow one more user to login. But this made me unable to login after. So I removed the offending line.

Note #2: now in the Volume webpage
– undo attach to David (Volumes tab)
– mount to Goliath (Volumes tab: attach as EBS path /dev/sda1)
– boot up Goliath (Instance tab)

Black Friday PC Building

 

Done/No,Description,Amount
TRUE,Cooler Master MasterLiquid Lite 240mm Liquid Cooling,$42.89
TRUE,Intel i7 7700 CPU,$269.36
TRUE,ASRock Z270 KILLER SLI/AC Z270 Motherboard,$128.69
FALSE,Mobo MIR,-$30.00
TRUE,”EVGA SuperNOVA 1000 G2, 80+ GOLD 1000W, Fully Modular”,$118.51
TRUE,Thermaltake Core G21 Dual 4mm Tempered Two-Toned Glass Power Cover ATX Black Gaming Computer Case ,$64.34
FALSE,Case MIR,-$20.00
TRUE,Crucial Technology 32GB (2x 16GB),$259.99
TRUE,ZOTAC GeForce GTX 1060 6GB Mini,$267.89
TRUE,Toshiba Solid State Drive PCIe NVMe M.2 512GB,$247.90
TRUE,Windows 10 Home,$92.99
TRUE,Oculus Rift Headset,$679.99
TRUE,Oculus Touch Controller,$99.99
FALSE,,
,Total,”$2,272.54″