폰갭 설치 및 테스트 절차

폰갭 설치 및 테스트 절차
prerequired
eclipse install
android sdk install
adroid development tool install (ADT)
node.js install
apache ANT install — path : install folder/bin;
http://phonegap.com
C:\> npm install -g phonegap
C:\> npm install -g cordova
path 설정 : sdk;, sdk\bin;, sdk\platforms-tools;, sdk\tools;
ANDROID_HOME
C:\App\sdk;
in workspace folder
C:\>workspace\
phonegap create testapp
c:\workspace\testapp\cordova platform add android
c:\workspace\testapp\www\index.html –편집
c:\workspace\testapp\cordova build android
C:\workspace\testapp\platforms\android\ant-build\ *.apk
실제 스마트폰에 디버거 모드 테스트 실행
–>
.apk 가 위치한 폴더에서 아래 명령어 실행.
adb install PackageName.apk 안드로이드폰: 시스템 설정 > 디버거 모드
http://blog.naver.com/fghhong/220203981321
이클립스에서 적
http://blog.naver.com/fghhong/220213925071

Chat node.js socket.io

Chat node.js socket.io
http://www.tamas.io/simple-chat-application-using-node-js-and-socket-io/
http://www.tamas.io/advanced-chat-using-node-js-and-socket-io-episode-1/
http://www.tamas.io/advanced-chat-using-node-js-and-socket-io-episode-2/
http://psitsmike.com/2011/09/node-js-and-socket-io-chat-tutorial/
http://psitsmike.com/2011/10/node-js-and-socket-io-multiroom-chat-tutorial/

IIS 미디어 서비스

IIS 미디어 서비스
http://studyforus.tistory.com/97
http://www.sqler.com/396697
http://studyforus.tistory.com/
웹재생목록
http://www.iis.net/learn/media/web-playlists/web-playlists-for-iis-7-creating-a-simple-playlist
PLEX Media Server
http://studyforus.tistory.com/189
스트리밍 서버 구축하기
http://www.jbchurch.kr/bbs/board.php?bo_table=sub_3030&wr_id=179
webDAV
http://egloos.zum.com/looi/v/3466199
IIS FTPS
http://passmeby30.tistory.com/11

vim

 
vim
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Vim/Documents/UsedVim
 
Vim 쓰다가 Ctrl + z로 vim에서 잠시 shell로 빠져 나올수 있습니다.
shell에서 fg입력하면 다시 vim으로 복귀합니다.

[MySQL] 원격에서 Root(or user)로 접속허용 및 모든권한 설정

http://jonnychoe.egloos.com/5217253
<root로 로그인>
# mysql -uroot -p
password: *****
mysql>use mysql
<로그인 할 사용자 생성>
mysql>insert into user(host,user,password) values(‘접속허용할 호스트네임 or IP’,’root’,password(‘패스워드’));
<권한주기>
mysql> grant all privileges on *.* to ‘root’@’%’ identified by ‘암호’ with grant option;
mysql> flush privileges
mysql> select * from user where User = ‘root’
<원격지에서 접속 : -h 옵션>
# mysql -h host -u user -p
초기 mysql root 패스워드 설정 및 비번 변경과 root 비번 잃어버렸을 경우 변경 하는방법
1. 초기 mysql root 패스워드 설정하기
mysql 서버에 패스워드 없이 로그인 하게되면 서버에 만들어진 데이터베이스나 테이블
기타 이곳에 저장된 자료가 외부인에게 노출될 수 있다. 따라서 이러한 보안을 목적으로
root 패스워드를 지정하면 mysql 서버를 안전하게 보호할 수 있다.
mysql> use mysql;
mysql> update user set password=password(‘123456′) where user=’root’;
Query OK, 2 rows affected (0.03 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> flush privileges; <— 적용
flush privileges; 를 하지 않으면 mysql에서 빠져나와서 root 로그인이 안된다.
확인한다.
mysql> select host, user, password from user;
+—————————————————————-+
| Host user password |
+—————————————————————-+
| localhost root 2e01146f5c065853 |
| localhost.localdomain root 2e01146f5c065853 |
+—————————————————————-+
mysql> \q
Bye
————————————————————————————
[주의]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
그대는 mysql 을 shutdown 하거나 reload 하면 된다.
# /usr/local/mysql/bin/mysqladmin -u root -p shutdown
하면 패스워드를 묻는데 이때 입력하면 설정한 mysql이 적용이된다.
# /usr/local/mysql/bin/mysqladmin -u root -p reload;
————————————————————————————
# mysql -u root -p [Enter] // root 패스워드로 로그인
Enter password: ******
※ Mysql 서버에 root 패스워드가 설정되면 이제 부터는 mysql 서버에 접속하기 위해서는 
위와 같이 -u 뒤에 root입력하고 -p 옵션을 사용하여 패스워드를 사용한다는 것을 명시해야 한다.
그리고 엔터를 치면 root 패스워드를 입력받기 위해 커서가 멈춘다.
(mysql 명령어만 입력하고 엔터를 치면 패스워드를 묻지 앟고 바로 mysql> 프롬프트가 나온 옛 시절을 생각해 보면 금방 차이를 느낄수 있음)
2. 루트 비번 변경
mysql> use mysql;
mysql> update user set password=password(‘123456′) where user=’root’;
mysql> flush privileges;
3. root 패스워드를 분실한 경우(응급조치)
mysql을 오랫동안 사용하지 않았을 경우에 간혹 root패스워드가 기억나질않아서 당황할 때가 있습니다. 시스템관리자라면 시스템의 root나 MySQL의 root의 암호를 잊어 버렸을 때를 대비해서 패스워드를 새로 설정하는 방법을 반드시 숙지하고 있어야 할 것입니다.
① 실행중인 msyql 종료
# ps -ef | grep mysqld
root 9567 1 0 Mar16 ? 00:00:00 sh ./mysqld_safe
root 9576 9567 0 Mar16 ? 00:00:00 /usr/local/mysql/libexec/mysqld
root 9578 9576 0 Mar16 ? 00:00:00 /usr/local/mysql/libexec/mysqld
root 9579 9578 0 Mar16 ? 00:00:00 /usr/local/mysql/libexec/mysqld
# killall mysqld
② grant-table 미사용모드로 mysql시작(권한 테이블을 사용하지 않는 옵션으로 데몬 실행)
nt일 경우 :
c:\program files\mysql\mysql server 4.1\bin>mysqld-nt –standalone –skip-grant-tables
만약 Error 2003 Hy000 Can’t connect to MySQL server on ‘localhost’ 와 같은 메세지가 나온다면
c:\program files\mysql\mysql server 4.1\bin>mysqld –defaults-file=”c:\program files\mysql\mysql server 4.1\my.ini” –consol –skip-grant-tables
따로 프롬프트는 떨어지지 않으므로 새로 cmd창을 열어서 접속해 본다.
# ./safe_mysqld –skip-grant-tables &
[1] 12084
# Starting mysqld daemon with databases from /usr/local/mysql/data
#
# ./mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.22.24
Type ‘help’ for help.
mysql>
※ mysqld_safe 명령어는 mysql 데몬을 실행시킨다.
③ update문으로 root사용자 패스워드 갱신
mysql> update user set password=password(‘123’) where user = ‘root’;
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> \q
Bye
④ 실행중인 mysql 다시 종료(권한 테이블을 사용하지 않는 데몬을 종료)
# ps -ef | grep mysqld
root 12084 11558 0 20:10 pts/2 00:00:00 sh ./mysqld_safe –skip-grant-ta
root 12090 12084 0 20:10 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
root 12092 12090 0 20:10 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
root 12093 12092 0 20:10 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
#
# killall mysqld
mysqld daemon ended
[1]+ Done ./mysqld_safe –skip-grant-tables
#
⑤ Mysql 데몬 재 실행 후 갱신된 패스워드로 로그인
# ./safe_mysqld &
[1] 12102
# Starting mysqld daemon with databases from /usr/local/mysql/data
#
# ps -ef | grep mysql
root 12102 11558 0 20:13 pts/2 00:00:00 sh ./mysqld_safe
root 12108 12102 0 20:13 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
root 12110 12108 0 20:13 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
root 12111 12110 0 20:13 pts/2 00:00:00 /usr/local/mysql/libexec/mysqld
# mysql -u root -p
Enter Password: ***************

[MySQL,windows] 작업스케줄러를 이용한 MySQL백업 및 데이터 삭제

1.MySQL의 데이터베이스를 매월 첫번째 일요일 오전 00:01분에 백업하는 예제
1-1. 스케줄러 등록 커멘드
SCHTASKS /Create /SC MONTHLY /MO first /D SUN /ST 00:01 /TN MySQL_BackUp /TR D:\db_bakup\bakup.bat
[풀이]
/Create : 스케줄러 신규
/SC MONTHLY : 매월
/MO fist : 첫번째
/D SUN : 일요일
/ST 00:01 : 스타트 시간은 오전00:01분
/TN MySQL_BackUp : 스케줄러 이름
/TR D:\db_bakup\bakup.bat : 실행할 프로그램의 경로 및 파일 이름

1-2.bakup.bat 배치파일 내용
@echo off
echo Start Bakup…
mysqldump -u사용자명 -p비밀번호 –result-file=”D:\db_bakup\backup.%date%.sql” 데이터베이스명
echo End Bakup…
2.위에서 백업을 한후 현시점으로해서 1개월 이전의 데이터를 매월 첫번째 일요일 오전 00:10분에 지우기 예제
2-1. 스케줄러 등록 커멘드
SCHTASKS /Create /SC MONTHLY /MO first /D SUN /ST 00:10 /TN MySQL_Delete /TR D:\db_bakup\data_del.bat
[풀이]
1.번과 동일
2-2. data_del.bat 배치파일 내용
mysql -u유저ID -p유저패스워드 데이터베이스명 -e “delete from 테이블명 where 날짜컬럼 <= date_sub(curdate(), INTERVAL 1 MONTH);”
[풀이]
-e “delete from 테이블명 where 날짜컬럼 <= date_sub(curdate(), INTERVAL 1 MONTH);”
: 실행 시킬 커맨드

CentOS 시간 동기화 설정 – ntp

CentOS 시간 동기화 설정 – ntp
 
서버 시간을 자동으로 동기화하기 위한 설정입니다.
 
이 설정을 안하면 게시판에 글을 썼는데 작성시간이 1시간전으로 나올 수 도 있습니다.
 
리눅스 서버에서 시간 동기화는 ntp, rdate 크게 2가지가 있는데,  요즘 대세는 여러 시간 서버와 자동으로 동기화해주어 편리하고 
정확한 ntp 입니다.
 
1. ntpd 를 설치합니다.
1 yum install ntp
 
2. nptd 데몬을 시작하고, 부팅시에도 자동 실행되도록 합니다.
1 /etc/init.d/ntpd start
2 /sbin/chkconfig ntpd on
 
3. 시간을 수작업으로 1회만 동기화해보고, 현재 시간을 확인합니다.
1 ntpdate -d 0.centos.pool.ntp.org
2 date
 
4. 앞으로 수분에서 수십분 정도 지나면, 아래처럼 시간이 자동으로 동기화되므로, 따로 신경쓸 부분이 없습니다.
1 grep ntpd /var/log/messages|tail

Linux command basic

원래 부팅시 정해진 서비스 또는 스크립트를 실행시키는 건 init (System V Init)라는 프로그램의 몫이였습니다. 유닉스가 처음 생길때부터 그래왔고, 지금도 그렇습니다.(하지만 지금은 다른 아이로 교체되는 시기입니다.) init는 그 이름처럼 리눅스의 초기화부분을 담당합니다.
 
init 사용자들이 /etc/rc.d/init.d 디렉토리에 부팅시 실행할 서비스 스크립트를 넣으면, init는 부팅이나 특정행동이 있을때 그 스크립트들을 자동으로 실행시키는 역활을 했었습니다. 그러면 사용자들은 chkconfig명령으로 자동실행 서비스를 관리하거나 service start 명령으로 서비스들을 실행키거나 끌 수 있었습니다.
 
하지만 centos 7을 넘어온 현재…
끝까지 유지될 것 같았던 init는 systemd이라는 새로운 아이에게 임무를 빼앗버렸답니다. 결국 유눅스 탄생부터 항상 init가 있었던 자리.. 프로세스1(PID 1)의 자리 또한 systemd에게 빼앗기고 말았습니다. 
따라서 centos 7에서는 부팅 서비스를 systemd 에서 관리하게 되었습니다. init는 없어지지는 않았지만 제 기능을 하지못하는 상태입니다.
 
 
1. init를 밀어낸 새로운 아이 systemd의 정체
systemd는 init에 비해 우월한 성능과 뭐든지 잘하는 재능(기능)을 가지고 있었습니다. 그야말로 “엄친아”였던 것입니다. 그러니까 개발자들도 systemd 매력에 흠뻑 빠졌기에 데려왔겠죠.. 
 
systemd는 정말 기능이 많습니다. 서비스관리, 시스템 로그관리, 사용자관리, 시간, 원격, cgroup 관리등.. 참 할 수 있는 일이 많습니다. 시스템의 전반적인 관리를 전부 systemd 이 담당하고 있습니다. 그리고 아이는 부팅시 실행하는 서비스를 최소화하고, 추후 병렬실행이라는 정책을 갖고 있었습니다. 때문에 centos 7 에서는 부팅시간이 많이 잛아졌답니다.
 
참조사항 : http://www.freedesktop.org/wiki/Software/systemd/
 
잡설이지만, 아이를 데려오기전 말들이 많았다고 해요.. 기능많은 아이가 “한가지만 잘하자”라는 유닉스의 철학(?)과 맞지않다는 의견도 있었고, 오랫동안 함께한 init를 버리자니, 슬프다(?)는 의견도 있었습니다. 이처럼 논란이 있었다고 해요.. 집안(리눅스)에 새로운 아이를 들이는 문제로…
 
 
2. systemd 잠시 살펴보기
이 글의 목적과는 별로 상관없지만, 그래도 새로운 아이를 만났으니, 한번 살펴봅시다.
 
먼저 systemd의 설정파일들은 /etc/systemd 에 있습니다. 
( bootchart.conf  logind.conf  system.conf  user.conf )
 
systemd는 설정파일과 미리 정의된 Service, Target 파일을 통해서 시스템을 제어하게 됩니다. 파일이 있는 디렉토리는 다음과 같습니다.
관련된 바이너리 실행파일 : /usr/lib/systemd
Service, Target 파일 : /usr/lib/systemd/system
 
* 유용한 명령어
# systemd-analyze : 부팅에 걸린시간 표시
# systemd-analyze blame : 부팅시 서비스별 걸린 시간표시
# journalctl : 부팅을 포함한 전체적인 시스템 로그
# journalctl -b : 마지막 부팅 이후 시스템 로그
# hostnamectl : 호스트 이름표시
# hostnamectl set-hostname [변경이름] : 호스트이름 변경
 
 
3. systemd 에서 서비스 관리하기
A. 서비스 상태표시
 
– 존재하는 전체 서비스 목록
# systemctl 
 
– 서비스 목록 (활성화 여부만 표시) 
# systemctl list-unit-files
 
– 부팅시 실행에 실패한 서비스목록
# systemctl –failed
 
– 서비스 활성화 여부
# systemctl is-enabled [서비스명]
 
– 서비스 현재 동작 여부
# systemctl is-active [서비스명]
 
– 서비스의 자세한 상태 (해당 서비스의 로그도 표시)
# systemctl status -l [서비스명]
 
 
B. 서비스 제어
서비스를 활성화하게 되면 부팅시 해당 서비스가 자동실행됩니다.
 
– 서비스 활성화
# systemctl enable [서비스명]
 
– 서비스 비활성화
# systemctl disable [서비스명]
 
– 서비스 시작
# systemctl start [서비스명]
 
– 서비스 종료
# systemctl stop [서비스명]
 
– 서비스 재시작
# systemctl restart [서비스명]
 
– 서비스 갱신
# systemctl reload [서비스명]
 
위의 서비스 설정을 데몬에 즉시 반영하려면 아래 명령어를 실행하면 됩니다.
#systemctl daemon-reload
 
– 서비스와 관련된 프로세스도 모두 죽임
# systemctl kill [서비스명]

​​​MariaDB install on CentOS 7

MariaDB install on Centos 7 with wordpress
CentOS Setting up MariaDB Repositories
https://downloads.mariadb.org/mariadb/repositories/#mirror=kaist&distro=CentOS&distro_release=centos6-amd64–centos6&version=10.1
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
#/etc/yum.repos.d/MariaDB.repo 에 save
installing MariaDB with yum
https://mariadb.com/kb/en/mariadb/yum/
Installing MariaDB with YUM
With the repo file in place you can now install MariaDB like so:
#sudo yum install MariaDB-server MariaDB-client
설치중 에러 발생시
In our case I have found all packages related to Mariadb with command
#rpm -qa | grep -i ‘^MariaDB’
And removed them with commands like:
#yum remove MariaDB-server
#yum remove mysql
#yum install MariaDB-server MariaDB-client
#service mysql start
Set MariaDB to start on boot:
# chkconfig mysql on
Secure MariaDB after installation
# mysql_secure_installation — all yes
# service mysql restart
# mysql -u root -p
How to Create a New User
mysql>CREATE USER ‘newuser’@’localhost’ IDENTIFIED BY ‘password’;
mysql>GRANT ALL PRIVILEGES ON * . * TO ‘newuser’@’localhost’;
mysql>FLUSH PRIVILEGES;