Rev. 2.73

가상서버 호스팅이 있다는 사실은 알고있었지만 폭풍삽질의 기운이 엄습하여 감히 엄두도 못내고 있었습니다. 그러다 문득 iroute.mobi 도메인 사놓고 놀리기도 아깝다는 생각이 들었고, WebSocket 장난감 정도는 하나 가지고 있어야하지 않나.... 해서 불쑥 싸질러버렸네요. 초장에는 무엇부터 해야할지 갈피를 못잡고 있다가 회사동료인 동모씨와 희모씨의 도움으로 httpd 설정과 ftp계정 설정까지 무사히 마칠 수 있었습니다. 그리고 중단되었던 서비스인 iRoute 프로젝트를 올리고 보니 안되는게 수두룩 하더군요. 오늘 이 뜻깊은 삽질은 언제 다시 마주할지 모르는 서버장애에 대비하여 여기에 기록해 둡니다.

mod_rewrite는 설치되어 있는데 .htaccess가 작동하지 않아 httpd.conf 파일 설정 변경하려는데, 파일이 어디에 쳐 밖혔는치도 모르겠고 사소한 것까지 구글신께 여쭤봤더니 친절하게 알려주셔서 의외로 간단하게 처리할 수 있었습니다.

# cd /etc/httpd/conf
# vi httpd.conf

vi 에디터에서 "AllowOverride None"을 찾아서 "AllowOverride All"로 변경하고 저장후 서버 재시작

# service httpd restart

히야~ 이제 잘 작동하는군요.

다음에 봉착한 문제는 제가 겁나게 사랑하는 json 모듈이 설치되어있지 않은 것이었습니다. 구글신님은 다음 7과정을 콘솔에 차근차근 입력하라고 하셨습니다.

# yum update “*php*”
# yum install php-pear
# yum install gcc
# pecl install json
# cd /etc/php.d/
# echo “extension=json.so” >> json.ini
# service httpd restart

헐~ 완전 날로먹었네요. yum이라는 녀석 덕분에 리눅스 서버셋팅이 참 쉬워젔다는 생각이 들었습니다. 그외 기본적으로 알아야할 몇몇 SSH 명령어를 모아보았습니다.

사용자 추가

# useradd {username}

사용자 암호 설정

# passwd {userpass}

파일 복사

# cp {filename.ext} {filename.bak}

파일 삭제

# rm {filename}

파일/디렉토리 이름 변경 또는 이동

# mv {filename|dirname} {movedir}

디렉토리 생성

# mkdir {dirname}

디렉토리 삭제

# rmdir {dirname}

디렉토리 및 파일 모두 삭제

# rm {dirname} -rf

파일 검색

# find / -name "{filename}"

퍼미션 확인

# ls -l

하드 용량 확인

# df -h
# du -sh
# du -h -max-depth={treedepth}

메모리 확인

# cat /proc/meminfo
# free

환경변수 확인

# env

환경변수 저장

# export KEY={value}

I/O 상황 확인

# iostat

프로세스 동작 여부 확인

# ps aux
# ps -ef | grep {processname}
# top -bicd1
# top | grep {processname}

tcp 사용 포트 확인

# lsof -i tcp:{portnumber}

업데이트

# yum upgrade

설치 패키지 검색

# rpm -qa | grep {keyword}

패키지 삭제

# rpm -e --nodeps {packagename}

PHP 버전 확인

# php -v

MySQL 버전 확인

# mysql -V

CentOS 버전 확인

# cat /etc/redhat-release

CPU 종류 확인

# uname -a

Git cheat sheets

# git config --global user.name "{User Name}"
# git config --global user.email {user@mail.com}

# git init
# git reset --hard HEAD
# git remote add origin git@github.com:{user}/{repo}.git

# git add {files}
# git add .

# git commit -m '{changed readme}'
# git commit --amend -m "{changed commit message}"

# git push -u origin master
# git push origin master

# git mergetool
# git push --force

# git remote show origin
# git status
# git diff
# git log
# git pull

# git tag "v1.3"
# git push --tags
# git branch {new branch}

# git branch devel origin/devel
# git checkout devel

# git submodule update --init --recursive
# git submodule add git://github.com/{user}/{repo}.git {path} 

# git remote
# git remote add --track master {user} git://github.com/{user}/{repo}.git
# git fetch {user} 
# git merge {user}/master

# export GIT_SSL_NO_VERIFY=true

실시간 로그 확인

# tail -f /var/www/server.log

겨우 iRoute가 돌아갈 환경을 구성해 놓으니 버그들이 잔뜩 반겨주더군요. 그동안 유지/보수를 못한 탓이려니 생각하고 열심히 섬멸하는 중에, 더 짜증나는 사실을 알게되었는데 그것은 구글맵 API V2가 이제 Deprecated라는 소식이었습니다. 저걸 언제 다 바꾸나... 생각하다가 우선 버그만 잡아내기로 하고 일단락 했습죠. V3가 이제 좀 안정화 되었나 봅니다. API 문서를 보니, 헉! 한글로 작성되어 있더군요! 나중에 찬찬히 살펴봐야겠네요.

욕심 같아서는 SVN이랑 웹소켓까지 설치하려고 마음먹다가 다음으로 미루는 지혜(?)을 발휘하기로 했습니다. 자바깔고 jetty7 웹서버를 추가로 올려서 웹소켓 서블릿만 쓰려고 하는데 잘 될런지 모르겠네요...

Comments

Got something to add? You can just leave a comment.

Your Reaction Time!

captcha

avatar