星期一, 8月 17, 2015

Apache2 VirtualHost error

最近都在忙著為伺服器搬家,由於有些負責人已經離職了,我只有廖化作先鋒頂著上,剛好有一個是牽涉到Apache2的項目,我把一切應該拷貝的抄去新的伺服器,大致上都弄好了,在start apache的時候,網頁是可以跑,只是在console出現了一下的問題:

[error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results

網上的解決方案不是很多,還好在apache的官網看到config file裡漏了一項設定,如下:

原本的設定是NameVirtualHost *

Apache官網的設定NameVirtualHost *:80

就是說少了:80在NameVirtualHost的後面,我把它補上,在restart apache就行了.


相關連線: http://httpd.apache.org/docs/2.0/vhosts/name-based.html

星期四, 8月 13, 2015

開始使用EC2

寫了這樣多EC2不過好像沒有寫如何開始用.每個人都可以在AWS免費開一個戶口,在開設的時候需要填寫信用卡,然後就可以開free tier的服務,當然free tier都是低端的.有沒有額外服務我不清楚.

在這之前,電腦需要三個軟體來讓你登錄你的EC2instance:
1. Cygwin
2. Putty
3. Winscp 

一切就緒後,在EC2->Network & Security->Key Pairs裡弄一個key pair,這是讓你安全登錄你的EC2 instance,切記不要把它弄不見或刪除掉.過後你就可以在EC2開設全新的instance了,在開設instance的其中一個步驟會問你要用哪一個key pair,那時候就派上用場了.

下載key pair後記得拷貝一份放在安全的地方,放在cloud也行(dropbox,google drive)等,然後把其中的一個拷貝放進你在cygwin的home folder裡(c:cygwin/home/user/).那樣你才可以在cygwin上登入你的ec2 instance.


1. Cygwin
在cygwin登錄的command如下:
#ssh -i xxx.pem ec2-user@ip address

EC2的instance的default user是ec2-user,我在前一篇有教過怎樣給其他用戶登錄,依照之前的那一篇就可以讓你的user登錄EC2 instance了.



2. Putty
除此之外,你還可以用putty來登入,不過得先把你的key pair轉換成private key,用的也是putty的puttygen.

首先開啟puttygen,然後選擇load,在file type裡選All Files,打開你的c:/cygwin/home/user裡的xxx.pem,然後按下Save Private Key.


 好了後把剛才的private key拷貝到另外一個地方,再開啟putty,在SSH欄按browse,把剛才的private key attach上,再到回去主頁,把你的EC2的public ip address填上,save起來,然後在按open,你就可以ssh去你的EC2 instance了.



3. Winscp
如果有需要把文件上載到EC2 Instance(這是必然的,不然開EC2搞屁嗎),那得用winscp了.zai開啟了winscp後,按New Site,然後在SSH->Authentication,跟putty一樣把剛才的private key attach上,按ok,然後把你EC2的ip address,login name等填上,按login就可以了.




相關連線
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

星期二, 8月 11, 2015

AWS EC2鏈接VPC

2013年3月前的account都能支援EC2 Classic還有EC2 VPC,新的EC2 instance只能支援VPC,如果那些用戶擁有EC2 classic的話還是可以很容易就能鏈接去自己的VPC的.如下圖在Your VPCs下,right click你的VPC,然後Enable Classiclink,然後再回去你的EC2 instance那裡,right click選ClassicLink->Link to VPC,那你的EC2 Classic就能鏈接去VPC了. 


相關鏈接 https://aws.amazon.com/blogs/aws/classiclink-private-communication-between-classic-ec2-instances-vpc-resources/

星期四, 8月 06, 2015

AWS EC2 connection refused的問題

身為一個System Admin,最忌諱就是讓用戶擁有sudo, wheel, admin right, root等戶口,如果用戶一不小心,就會把整個伺服器搞砸. 

之前友人的公司就是出現這個狀況,某個用戶不小心把AWS EC2 Linux Instance的/var/empty/sshd的permission改去777,結果系統就把伺服器鎖起來,沒有人能進.所幸網上很多類似的問題,不然就"大獲"了.

他們找我幫忙看看,還好是雲端伺服器,我不用去現場解決,結果在AWS的admin console裡發現到/var/empty/sshd的permission被改了.我上網找了一下,有好幾個網頁的方案都一樣,我就採納了他們所推薦的.

步驟如下:
1. 登入AWS的admin console

2. 去EC2的instances,然後把正在running的instance暫停(stop掉)

3. create另外一個free tier的instance(可以省錢)

4. 在Elastic Block Store->Volumes裡把原本的instance attach去新的instance

5. Launch新的instance,在/mnt開一個新的文件夾, #mkdir folder

6. 把舊的instance mount去/mnt/folder

7. 把/mnt/folder裡的/var/empty/sshd的permissions改去751

8. 把新的instance暫停(stop)

9. 把舊的instance detach,再把它mount回舊的instance上,並把它改去/dev/xvda 

10. 把舊的instance重新啟動,就完成了. 

星期二, 8月 04, 2015

讓其他用戶進入AWS EC2

比起Azure,AWS的確比較複雜,界面還有操作方式都是,看來M$的主打的用戶technical knowledge不需要很強的techies,AWS主打用戶是Linux Knowledges很強的techies.在開了一個EC2 instance後,用自己設定的.pem就可以進入ec2-user的account,不過在EC2的linux環境當中,或許需要開幾個用戶給他們進入,我也搞了老半天在搞清楚怎樣做. 

1.首先裝上putty,然後用putty的puttygen來generate用戶的鑰匙,在完成後Save private key.通常是xxx.ppk.

2.接下來就是在EC2裡create user,.ssh folder還有authorized_keys

 # sudo su (if needed)
 # useradd user
 # cd /home/user
 # mkdir .ssh
 # chmod 700 .ssh
 # chown user:user .ssh
 # vim .ssh/authorized_keys  (把藍色部分裡的keys填上)





 # chmod 600 .ssh/authorized_keys
 # chown user:user .ssh/authorized_keys

3. 然後在putty或winscp裡就能login了,不要忘記在Auth裡帶上xxx.ppk,不然不能進.



自訂搜尋

追蹤者

熱門文章

我的網誌清單

網頁