본문 바로가기

개발이야기

리눅스 방화벽 오픈/해제 포트 방화벽 확인 >iptables --list 포트 추가 > iptables -I INPUT -p tcp --dport 80 -j ACCEPT //80 포트 추가 > iptables -I INPUT -p tcp --dport 8080 -j ACCEPT //8080포트 추가 > iptables -I INPUT -p tcp --dport 3306 -j ACCEPT //db포트 추가 # 주의 사항 >service iptables restart 시 위에처럼 메모리에 올려놓은 방화벽은 모두 메모리 해제 >service iptables restart 는 파일에 있는 방화벽 정책을 메모리에 올려줌 - 재부팅 # Fedora Linux # 방화벽 상태 알아보기 /sbin/service iptables status #.. 더보기
[Linux] 내 IP 확인하는 법 ifconfig -a | grep "inet " | grep "Bcast:" | awk '{print $2}' | awk -F: '{print $2}' 내 아이피 확인 더보기
[Linux] Kill Process 명령어 리눅스에서 프로세스를 죽이는 방법 PS 명령을 통해서 PID 확인 예) ps -ef | grep processname PID가 나오면 Kill -9 PID 2. 데몬 # service daemonname stop 강제 종료 # killall daemonname 더보기
RPM YUM 방법 RPM (Redhat Package Manager) 리눅스에서 설치 확장명은 *.rpm 이며 이를 패키지 라고 부른다. RPM은 레드햇 회사가 만든 리눅스에서만 쓸수 있는 패키지 인스톨이다. # rpm -Uvh [패키지 파일(*.rmp] : 설치 # rpm -e [패키지이름] : 삭제 # rpm -qa [패키지 이름] : 설치되있는지 확인. -qf [패키지 이름] : 이미 설치된 파일이 어느 패키지에 포함된 것인지 확인. -ql [패키지 이름] : 특정 패키지에 어떤 파일들이 포함되었는지 확인 -qi [패키지 이름] : 설치된 패키지의 상세 정보 YUM (Yellodog Updater Modified) rpm 명령의 패키지 의존성 문제를 완전하게 해결 => 의존성이 있는 다른 패키지를 자동으로 먼저 설치.. 더보기
[인프라] vsftp 설치 및 계정 생성 vsFTP는 리눅스에서 동작하는 GPL 기반 FTP 서버 프로그램으로, 안전성과, 속도 그리고 보안성이 우수한 FTP 서버로 인정받고 있다. --- FTP 서버는 설치하고 운영하는 과정은 다음과 같다. --- ① vsFTPD 서버를 설치한다. yum 명령을 사용해 vsFTPD를 설치한다. ② vsFTPD 서버 접속 환경을 설정한다. vsFTPD 서버의 환경 설정은 /etc/vsftpd/vsftpd.conf를 통해 이루어진다. ③ vsFTPD 서버를 가동한다. service 명령을 사용해 vsFTPD 서버를 가동한다. vsFTPD 서버의 서비스 이름은 vsftpd이다. ④ 방화벽의 설정을 변경한다. vsFTPD 서버가 정상적으로 동작하도록 방화벽에서 vsFTPD의 동작 보안 레벨을 변경한다. ⑤ FTP 클.. 더보기
[Linux] 간단한 파일 전송 (rz, sz) telnet으로 작업하다가 간단하게 파일을 전송하고 싶을 때가 있다. FTP 등을 사용하면 되지만, FTP가 막혀 있는 시스템도 있고.. 파일 한두개 옮기려고 할때 rz와 sz인데.. rz : PC -> 서버 (receives files with ZMODEM) sz : 서버 -> PC (sends one or more files with ZMODEM) rz/sz는 ZMODEM을 이용하는 명령이라고 한다. ]rb/sb는 YMODEM, rx/sx는 XMODEM을 사용하고.. 역시 r이 들어간 명령은 서버 입장에서 receive이고, s는 send이다. 이 명령이 없다면, Yum을 통해 설치하면 된다고 한다. # yum install lrzsz lrzsz 설치에 대한건 YUM을 이용한 프로그램 Install .. 더보기
[Linux] rpm 패키지 설치/삭제하기 rpm으로 프로그램을 설치하려면 우선적으로 이미 설치가 되어 있는지 확인해본다. mysql이 이미 설치되어 있는지 확인하기 $ rpm -qa | grep mysql 조회가 되면 다음 명령으로 삭제 한다. $ rpm -e mysql-devel-5.0.77-4.el5_5.4 dependency로 인해 삭제가 안되는 경우에는 ?nodeps 옵션을 사용한다. $ rpm -e mysql-devel-5.0.77-4.el5_5.4 ?nodeps(하이픈-2개) 조회 했을때 두개 이상이 동일하게 나올경우는 아래와 같은 메시지가 나온다. 오류: “mysql-devel-5.0.77-4.el5_5.4″ 여러개의 패키지를 지정한다. 이럴경우엔 ?allmatches 옵셥을 사용하시면 삭제가 가능하다. $ rpm -e mysql-.. 더보기
인증서 설치하기 RPM 찾기 - www.rpmfind.net 아파치 웹 서버 설정 - 보안 모듈 설치 (SSL) rpm -Uvh mod_ssl-2.0.46-25.ent.i386.rpm -> 아마존의 경우 : yum install mod_ssl -> mod_ssl-2.2.29-1.4.amzn1.x86_64 설치 root] # ls httpd-2.0.54.tar.bz2 root] # tar jxf httpd-2.0.54.tar.bz2 root] # cd httpd-2.0.54 root] # ./configure --enable-ssl root] # pwd /usr/local/apache2/bin root] # ./httpd -l compiled in modules: /etc/httpd/conf/ 테스트키 생성 확인 rm s.. 더보기
[인프라][리눅스] 압축 풀기 / 압축하기 tar 1. tar.gz 형태로 압축하기 명령어 : tar -czvf 압축파일명.tar.gz 압축할파일_또는_폴더1 압축할파일_또는_폴더2 압축할파일_또는_폴더3 예로 ./test 라는 폴더에 a1.jpg a2.jpg a3.jpg 라는 파일들을 압축하기 위해서는 다음과 같은 명령어 통해 가능하다. 명령어 : tar -czvf images.tar.gz ./test/a1.jpg ./test/a2.jpg ./test/a3.jpg 그럼 images.tar.gz 이라는 압축된 파일이 생성된다. 물론 폴더를 한 번에 압축할 수 있다. 위의 ./test 폴더를 압축하려면 아래와 같은 명령어를 사용한다. 명령어 : tar -czvf images.tar.gz ./test a1.jpg와 a2.jpg는 압축, a3.jpg는 제외 .. 더보기
svn 설치 절차 sudo svnserve -d -r /home/svn & SG그룹에서 3690포트 사용 설치 1. yum을 이용해서 Subversion을 설치합니다. #yum install -y subversion 2. 저장소를 생성할 위치로 이동해서 저장소를 생성해줍니다. #cd /home #mkdir svn #cd svn #svnadmin create --fs-type fsfs sample 또는 #svnadmin create --fs-type bdb sample fsfs는 파일시스템을 이용한 방식이고, bdb는 버클리DB를 이용한 방식이에요 3. SVN 포트 3690을 열어준다. #iptables -I INPUT -p tcp --dport 3690 -j ACCEPT #/etc/rc.d/init.d/iptables s.. 더보기
Openfire 설치 및 한글 처리 방법 채팅 서버 설치 후 연결이 안되는 경우 SG 설정 볼필요 있음. 9090, 5222 jdbc:mysql://xxx.amazonaws.com:3306/openfire_kr?useUnicode=yes&characterEncoding=UTF8 xmpp 한글 변경 관련 http://underfree.tistory.com/62 set names utf8; mysql> set session character_set_server=utf8; mysql> set session character_set_database=utf8 더보기
OpenFire 설치 방법 sudo yum update wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-3.9.3-1.i386.rpm mv downloadServlet\?filename\=openfire%2Fopenfire-3.9.3-1.i386.rpm openfire-3.9.3-1.i386.rpm rpm -ivh openfire-3.9.3-1.i386.rpm sudo -i cd opt/openfire/ service openfire status service openfire restart 최초 설치 후 openfire 실행 시 안될 경우 Yum install libldb.i686 zlib.i686 Service openfire restar.. 더보기
아마존 RDS MySQL에서 한글 처리 ALTER DATABASE 데이타베이스_이름 CHARACTER SET utf8 COLLATE utf8_general_ci; //DB ALTER TABLE 테이블_이름 CHARACTER SET utf8 COLLATE utf8_general_ci; //TABLE (혹은 DB를 만들면서 지정) CREATE DATABASE 데이타베이스_이름 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 아마존의 경우는 parameter group에서 설정 나의 SQL 캐릭터셋 리스트 보기 윈도우키 + R 을 누른뒤 > cmd 를 입력하여 도스 커맨드 창을 뛰운다. 기본 비번은 root / apmsetup 이니 알아두도록 하고 다음과 같이 mysql에 접속한다. C:\> mysql .. 더보기
[개발][이클립스] 단축키 코드 편집 관련 Ctrl + 1 : 빠른 수정(수정할 코드를 추천해주는 듯) Ctrl + Spacebar : 코드 자동완성 Ctrl + Shift + Spacebar : 파라미터 힌트 표시 Ctrl + / : 한줄 주석(//) 설정, 해제 Ctrl + Shift + / : 여러줄 주석(/* */) Ctrl + Shift + \ : 여러줄 주석해제 Ctrl + Shift + F : 코드 형식 정리 Ctrl + D : 한줄 삭제 Alt + up, down : 현재 라인을 한줄씩 위(아래)로 이동 Ctrl + Alt + up, down: 현재 라인을 위(아래)로 복사 Ctrl + Shift + O : 자동 import 코드 네비게이션 Ctrl + K : 현재 선택된 문자열과 동일한 문자열 찾기 Ctrl + S.. 더보기
메이븐 (maven) 사용법 메이븐은 선언형 빌드 도구다. 프로젝트를 빌드하는 순차적 단계를 정의하는 대신 프로젝트는 pom.xml 파일의 POM(Project Object Model)을 사용하여 기술한다. validate POM 유효성을 검증한다. generate-sources 소스 코드를 생성한다. process-source, generate-resources, process-resources 소스 코드 생성과 함께 소스 생성 결과를 처리하고, 리소스를 생성(프로퍼티 파일, 이미지, 사운드 등이나 패키지의 엘리먼트 처럼 코드가 아닌 것)하며, 처리할 수 있다. compile 컴파일러 플러그인의 목표는 루트 디렉토리에 있는 모든 소스 코드를 컴파일하는 것이다. 플러그인은 컴파일 소스 루트에 디렉토리를 추가할 수 있다. - 예를 들.. 더보기
[인프라] 아파치 사용법 리눅스에서 아파치 설치 여부 확인 명령어 rpm -qa | grep httpd 아파치 버전 확인 명령어 httpd -v 아파치 웹 서버 주요 파일 및 위치 /usr/sbin/httpd -> 아파치 웹 서버 데몬 /etc/httpd/conf/httpd.conf -> httpd의 전체 환경 설정 파일 /etc/httpd/conf.d -> httpd에 사용하는 상세 설정 파일이 있는 디렉토리. apache ver 2.x부터 사용 /etc/rc.d/init.d/httpd -> httpd 실행 제어 스크립트 파일. httpd 데몬의 가동 상태를 확인하고 가동 및 정지하기 /etc/rc.d/init.d/httpd status 아파치 웹 서버 활성화 확인 명령어 chkconfig httpd --list 서버 재부팅 .. 더보기
[인프라] 아마존 RDS root 권한 획득 Open the RDS web console. Open the “Parameter Groups” tab. Create a new Parameter Group. On the dialog, select the MySQL family compatible to your MySQL database version, give it a name and confirm. Select the just created Parameter Group and issue “Edit Parameters”. Look for the parameter ‘log_bin_trust_function_creators’ and set its value to ’1′. Save the changes. Open the “Instances” tab. Exp.. 더보기
[Linux] 리눅스 명령어 (top) top ps 명령어는 ps 명령어가 실행된 순간의 상태에 대해서만 정보를 제공한다. top명령어는 동적인 시스템의 활동을 볼 수 있다. ( 윈도우의 작업관리자(ctrl+alt+del)과 비슷하다) 1번째 라인 top - 09:59:45 ....... up 19 days : 시스템이 마지막 부팅된 시점부터 지금까지의 시간 1 user : 1명의 사용자가 로그인함. load average : 평균부하. 실행대기중인 프로세스 수. 첫번째는 60초동안의 평균값, 5분간의 평균값, 15분간의 평균값 2~3번째 라인 Tasks : 프로세스의 수와 프로세스 상태별 수를 나타낸다. 0.0%us : CPU의 0.0%를 사용자프로세스들이 사용중이다. 이는 커널 바깥의 프로세스를 의미한다. 0.0%sy : CPU의 0.0%.. 더보기
[Linux] 프로세스 명령어 (ps) ps 현재 터미널에 관련된 프로세스를 보여준다. TTY : teletype 의 약자로 프로세스용 제어터미널을 나타낸다. TIME : 프로세스의 CPU 사용시간 ps x 제어되는 터미널에 상관없이 모든 프로세스를 보여준다. STAT : 프로세스의 현재 상태를 알려준다. (R : 실행 중 또는 실행 대기, S : 수면상태, 이벤트 대기상태, D : I/O입출력을 기다리는 상태, T : 종료상태 ) (Z : 좀비프로세스, 부모프로세스에 의해 종료되지 않은 종료된 자식 프로세스 ) (< : 높은 우선순위 프로세스, 특정 프로세스에 더 중요성을 부여하는 것이 가능) (N : 낮은 우선 순위 프로세스 ) ps aux 모든 사용자에 속한 프로세스를 보여준다. USER : 프로세스 소유자 %CPU : CPU 사용량 %.. 더보기
SVN서버 설치 SVN 서버 설치 패키지 설치 # yum install -y subversion 먼저 SVN 에디터 설정 # vi ~/.bash_profile export SVN_EDITOR=/usr/bin/vim # source ~/.bash_profile mkdir /home/svn cd /home/svn/ mkdir hitouch_api svnadmin create /home/svn/ hitouch_api sudo chmod 777 hitouch_api cd hitouch_api ls cd conf vi svnserve.conf password-db:passwd 사용자계정/암호 입력 svnserve -d --foreground -r /home/svn 계정 # vi /var/repos/프로젝트명/conf/svnser.. 더보기
node.js 파일 백그라운드로 실행하기 1. nohup 명령어 정의 : background로 쉘 스크립트를 데몬 형태로 실행시키는 명령어 2. nohup 명령어 사용 # nohup 실행파일명 & # nohup sh -- ./shell.sh & -> & 는 백그라운드 실행을 의미함. -> 출력 문자열은 nohup.out 로그에서 확인 -> 실행파일은 permission이 755 이상이여야 함. 명령 예제) nohup node xxx.js & 더보기
주소 검색 OpenAPI 공개 요즘은 OpenAPI가 많습니다. 왜 Open을 할까요? 결국 OpenAPI를 공짜로 오픈을 한다는 것은 또다른 수익구조를 가져가려고 할텐데요. 공공API도 그럴까 생각해볼 필요는 있습니다. 구지 모든 것을 색안경을 끼고 볼 필요는 없다고 봅니다. 공공재화를 우리가 누리기 나름인데요. 예를 들면 공원 시설, 공원 내 운동 시설 누리는 사람이 임자인 것이지요. 주소를 검색하는 API가 대표적으로 우리가 자유롭게 쓸 수 있는 API인거 같습니다. 제가 직접 만들어봤던 앱에서 사용했던 API여서 조금 더 신뢰가 가는거 같습니다. 참고로 API 연계 신청 방법 첨부해드리니 참고해보시기 바랍니다. 오픈된 자료여서 공개적으로 올려도 무관할 거거 같은데요. 아마 승인된 사람에 한해서 다운로드 받는 것이고 문제가 된다.. 더보기
서브도메인 -> 포트로 아파치 내 Proxy 설정 인프라 비용이 클라우드다 뭐다 해서 저렴해졌다고 하지만 사실 그 비용도 쌓이다 보면 무시 못하죠. 아끼고 아껴서 이제 서버 한대에서 여러개의 서비스를 돌립니다. 그러려면 여러개의 WAS서버 또는 node서버를 띄워야 하고 그것을 접속할 수 있게 해줘야 하는데, 예를 들면 http://address.hitouchsoft.com 은 Tomcat서버로 http://www.hitouchsoft.com은 웹서버에서 http://lib.hitouchsoft.com은 node서버로 이것을 모두 한 서버에 띄워보려고 하는데 이때 각 서버들은 포트로 띄우고 아마존의 경우 ELB를 설정하고 서버 도메인에 포트를 포워딩 되도록 하면 쉬운 얘기인데, ELB의 본연의 기능인 여러대의 서버라고 하면 필요하겠지만, 구지 그게 아니.. 더보기