Disable & remove virtual host website entry in Apache

You can list the currently enabled websites if you want to check the name:


$ ls /etc/apache2/sites-enabled
000-default.conf my-website.conf

Disable virtual host entry
Let’s assume we’d like to disable my-website.conf. To disable this virtual hosts entry, we issue the following command to Apache (note the exclusion of the .conf extension from the virtual host name):

$ sudo a2dissite my-website

You can confirm this has disabled the website by checking that the site is no longer listed in the enabled sites directory:

$ ls /etc/apache2/sites-enabled
000-default.conf

You’ll then need to reload Apache for the changes to take effect:

$ sudo service apache2 reload

Remove virtual host entry

Wanna go the whole nine yards?

If you no longer need the virtual host configuration file, remove that too. First double check what it’s called by listing out the available websites:

$ ls /etc/apache2/sites-available
000-default.conf my-website.conf

Note that this is a different location to /etc/apache2/sites-enabled, from earlier.

Remove the config file you no longer need:

$ rm /etc/apache2/sites-available/my-website.conf

You may also want to backup then remove any website files residing in the /var/www directory, for example:

$ cd /var/www
$ tar czf my-website.tar.gz my-website
$ rm -r my-website

Finish up by copying the backup to somewhere safe and then go ahead and delete it from the server to free up some space.

Ubuntu: mongo Failed message about LANG

When you call “mongo” and found this message.

$ mongo

Failed global initialization: BadValue Invalid or no user locale set. Please ensure LANG and/or LC_* environment variables are set correctly.

You can fix by, At the command prompt:

export LC_ALL=C

and then try again. If that doesn’t work, you may need to edit:

sudo vi /etc/default/locale

and set

LANG=
LANGUAGE=
LC_ALL=

to your preferred settings. As an example:

LANG=en_US.UTF-8
LANGUAGE=en_US
LC_ALL=en_US.UTF-8

ทดสอบ server ด้วย ApacheBench

ab -n  -c  :

-n คือ จำนวนครั้งในการทดสอบ (Number of requests)
-c คือ การส่งทดสอบพร้อมๆ กัน (concurrency)

ตัวอย่าง

$ ab -n 100 -c 20 http://lafayettecc.org/lcc_live/event/132/progress
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking lafayettecc.org (be patient).....done


Server Software:        nginx/1.4.6
Server Hostname:        lafayettecc.org
Server Port:            80

Document Path:          /lcc_live/event/132/progress
Document Length:        193 bytes

Concurrency Level:      20
Time taken for tests:   13.233 seconds
Complete requests:      100
Failed requests:        1
   (Connect: 0, Receive: 0, Length: 1, Exceptions: 0)
Non-2xx responses:      100
Total transferred:      41897 bytes
HTML transferred:       19126 bytes
Requests per second:    7.56 [#/sec] (mean)
Time per request:       2646.506 [ms] (mean)
Time per request:       132.325 [ms] (mean, across all concurrent requests)
Transfer rate:          3.09 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4    8   1.5      8      10
Processing:   532  702 1203.1    604   12609
Waiting:      532  702 1203.2    604   12609
Total:        537  709 1203.3    613   12619

Percentage of the requests served within a certain time (ms)
  50%    613
  66%    614
  75%    614
  80%    614
  90%    614
  95%    615
  98%    615
  99%  12619
 100%  12619 (longest request)

เพิ่มเติม
https://www.digitalocean.com/community/tutorials/how-to-use-apachebench-to-do-load-testing-on-an-ubuntu-13-10-vps

https://spalinux.com/2012/06/benchmark-web-server-using-ab-apachebench

LAMP on DigitalOcean upgrade php to php7.0

Start with add repositories

sudo add-apt-repository ppa:ondrej/php

but if you have some error about UTF-8 fix by

$ locale-gen en_US.UTF-8
$ export LANG=en_US.UTF-8
$ export LC_ALL=en_US.UTF-8
$ sudo add-apt-repository ppa:ondrej/php

and update apt-get

$ apt-get update && apt-get -y upgrade

Install New PHP Versions

$ sudo apt-get install php7.0

install apache mod package with

$ sudo apt-get install libapache2-mod-php7.0

Now I could run sudo a2dismod php5 for disable php5 and enable php7 with.

$ sudo a2dismod php5 
$ sudo a2enmod php7.0
$ sudo service apache2 restart

test with phpinfo() and end…

Command “traceroute” ดูเส้นทางไปยัง Server

traceroute คือ utility ที่เป็น Command line สำหรับ linux และ mac โดยจะเป็นคำสั่งที่ใช้ในการตรวจสอบเส้นทางจากเครื่อง com ของเราไปยังเว็บไซต์ปลายทางที่ต้องการเชื่อมต่อ

ตัวอย่างการใช้งาน
com1:~ mac$ traceroute www.pantip.com
traceroute: Warning: www.pantip.com has multiple addresses; using 203.151.13.166
traceroute to pantip.com (203.151.13.166), 64 hops max, 52 byte packets
1 10.20.32.1 (10.20.32.1) 5.119 ms 5.636 ms 5.129 ms
2 10.92.240.81 (10.92.240.81) 7.104 ms 6.899 ms 4.881 ms
3 203-144-128-34.static.asianet.co.th (203.144.128.34) 7.225 ms 36.025 ms 7.043 ms
4 203-144-128-37.static.asianet.co.th (203.144.128.37) 7.332 ms
203-144-128-29.static.asianet.co.th (203.144.128.29) 8.536 ms
203-144-128-33.static.asianet.co.th (203.144.128.33) 9.240 ms
5 203-144-193-93.static.asianet.co.th (203.144.193.93) 7.449 ms
61-91-213-199.static.asianet.co.th (61.91.213.199) 17.092 ms 8.269 ms
6 tig-net31-1.trueintergateway.com (122.144.31.1) 8.755 ms 14.974 ms
tig-net31-137.trueintergateway.com (122.144.31.137) 24.174 ms
7 tig-net31-190.trueintergateway.com (122.144.31.190) 9.153 ms 11.442 ms 10.466 ms
8 203.150.222.140 (203.150.222.140) 10.901 ms 9.480 ms 12.259 ms
9 203-151-2-6.inter.net.th (203.151.2.6) 10.176 ms 11.244 ms 11.550 ms
10 host166.pantip.com (203.151.13.166) 10.632 ms !Z 14.678 ms !Z 13.005 ms !Z

Command “nslookup” ตรวจสอบชื่อโดเมนเนม

nslookup คือคำสั่ง (coommand) ที่ใช้ในการตรวจสอบโดเมนเนม ด้วยโปรแกรม Command prompt หรือโปรแกรม Dos ครับ ซึ่งเอาไว้ทดสอบว่าโดเมนเนมนี้ตรงกับหมายเลขไอพีแอดรสอะไร และยังสามารถตรวจสอบได้ว่า DNS ที่เราใช้อยู่ยังให้บริการได้อยู่หรือไม่ เพราะหาก DNS ไม่สามารถให้บริการเป็นปกติจะไม่สามารถทำการแปลงจากไอพีแอดเดรสเป็นชื่อไม่ได้ (resolve ไม่ได้)

ที่มา: http://ncs.msu.ac.th/archives/23.html

Upgrade MongoDB on Ubuntu

ให้ตรวจสอบ version ของ MongoDB โดยใช้คำสั่ง

$ mongod –version
db version v2.2.0, pdfile version 4.5
Wed Mar 27 18:43:24 git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207

ต่อมาให้ตรวจสอบว่า MongoDB กำลังทำงานอยู่หรือไม่ โดยใช้คำสั่ง

$ ps -deaf | grep mongod
ubuntu 23415 4264 0 18:43 pts/0 00:00:00 grep –color=auto mongod
mongodb 27549 1 0 2012 ? 16:01:17 /usr/bin/mongod –config /etc/mongodb.conf

ในการ Shutdown MongoDB
$ ./mongo
> use admin
> db.shutdownServer()
server should be down…

หลังจากนั้นให้ upgrade ตามเอกสารนี้ http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

เพิ่ม 10Gen(ผู้สร้าง MongoDB) public key เข้าไปใน apt-get package:

$ sudo apt-key adv –keyserver keyserver.ubuntu.com –recv 7F0CEB10
$ echo “deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen” >> /etc/apt/sources.list.d/10gen.list

Update packages ในระบบ:

$ sudo apt-get update

ติดตั้ง 10gen’s MongoDB Debian/Ubuntu package:

$ sudo apt-get install mongodb-10gen #ในกรณีที่ต้องการติดตั้งเป็นเวอร์ชี่นล่าสุด
$ sudo apt-get install mongodb-10gen=2.2.3 #ในกรณีที่ต้องการติดตั้งแบบระบุเวอร์ชี่น

เมื่อรัน command ตามนี้ mongodb version เดิมจะถูกลบออกไป
และติดตั้ง version ใหม่ล่าสุดที่ถูกระบุใน mongodb-10gen

ในกรณีที่เกิด error ให้ลอง:

$ apt-get autoremove

ดูให้แน่ใจว่า user/group ของ mongodb มี permission ในการเขียนข้อมูลลงใน directory:

$ sudo chown -R mongodb:mongodb /var/lib/mongodb/.

Start up MongoDB ใน Daemon (background process) ให้ใช้ command ตามนี้:

$ mongod –fork –dbpath /var/lib/mongodb/ –smallfiles –logpath /var/log/mongodb.log –logappend

ถ้าต้องการ ShutDown MongoDB ให้รัน command ใน Mongo CLI, ด้วย admin และ ตามด้วย shutdown command:

$ ./mongo
> use admin
> db.shutdownServer()