2014년 10월 21일 화요일
디렉토리내 파일 인코딩 변환하기
euc-kr to utf-8
for F in ./*.php ; do iconv -c -f euc-kr -t utf-8 $F > $F.tmp && mv $F.tmp $F ; done
2014년 9월 7일 일요일
2014년 9월 5일 금요일
특정 파일 서치 후 scp 로 복사
$ sudo find ./ -mtime -90 | awk '{print "scp -i ./key.pem "$1" root@ip:~/path/"$1 }' | sh
2014년 7월 28일 월요일
PHP 5.3.28 설치시 --with-freetype-dir= 에러발생 해결
./configure --with-freetype-dir=/usr
했을시,
freetype.h 파일을 찾을수 없다고 나온다.
http://sourceforge.net/projects/freetype/files/freetype2/
여기서 파일을 다운받은후
$ tar zxvf freetype-x.x.x.tar.gz
$ cd freetype-x.x.x
$ ./configure --without-png
$ make
$ make install
인스톨 하고 나면 /usr/include/freetype2 , /usr/local/include/freetype2 두 폴더가 생기는데
이대로 하면 똑같은 에러가 발생 그래서 찾아본 결과
$ sudo ln -s /usr/include/freetype2 /usr/include/freetype2/freetype
$ sudo ln -s /usr/local/include/freetype2 /usr/local/include/freetype2/freetype
이렇게 해줘야 에러가 발생하지 않고 설정이 된다.
아무래도 경로상 문제인거 같은데 삽질끝에 해결!
했을시,
freetype.h 파일을 찾을수 없다고 나온다.
http://sourceforge.net/projects/freetype/files/freetype2/
여기서 파일을 다운받은후
$ tar zxvf freetype-x.x.x.tar.gz
$ cd freetype-x.x.x
$ ./configure --without-png
$ make
$ make install
인스톨 하고 나면 /usr/include/freetype2 , /usr/local/include/freetype2 두 폴더가 생기는데
이대로 하면 똑같은 에러가 발생 그래서 찾아본 결과
$ sudo ln -s /usr/include/freetype2 /usr/include/freetype2/freetype
$ sudo ln -s /usr/local/include/freetype2 /usr/local/include/freetype2/freetype
이렇게 해줘야 에러가 발생하지 않고 설정이 된다.
아무래도 경로상 문제인거 같은데 삽질끝에 해결!
2014년 7월 23일 수요일
Ubuntu 에서 mysql 세팅
$ sudo apt-get install mysql-server mysql-client
$ sudo mysql -p password
$ sudo mysql -p password
1) 외부접속 허용하기
1. mysql 접속 후 mysql database 선택
mysql> use mysql;
2. user 테이블 살펴보기
mysql> select host, user, password from user;
root 의 host 값들은 localhost, 127.0.0.1 등으로 기본 등록되어 있지만, 외부접속을 나타내는 값이 없다. 특정 아이피로 지정할 수도 있지만 여기선 % 기호로 어디서든 접속 가능하게 만든다.
3. 권한 설정
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root의 패스워드';
Query OK, 0 rows affected (0.03 sec)
4. 등록확인하기
mysql> select host, user, password from user;
root 계정의 host 필드에 % 가 등록되었는지 확인한다.
5. refrash
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
위 단계는 my.cnf 파일 수정후 서버를 재시작할 것이기 때문에 굳이 안해도 된다.
6. my.cnf 에서 외부접속 관련사항 변경하기
user@home:~$ sudo vim /etc/mysql/my.cnf
파일 내용중
bind-address = 127.0.0.1
부분 주석처리후 저장하기
7. mysql 재시작
user@home:~$ sudo /etc/init.d/mysql restart
8. 완료.
이제 외부 클라이언트 프로그램에서 접속이 가능하다 ^^
2) 캐릭터셋 변경
To set the default to UTF-8, you want to add the following to my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
-- 출처 http://stackoverflow.com/questions/3513773/change-mysql-default-character-set-to-utf8-in-my-cnf
2014년 7월 22일 화요일
Ubuntu 에서 Nginx + PHP5-fpm 설치하기
이번에 AWS ( Amazon Web Services ) 에서
Ubuntu Server 14.04 LTS (HVM), SSD Volume Type 인스턴스를 생성하여 사용해보았습니다.
대단히 만족스러우며 그래서 php 기반 웹 사이트를 구성하기 위해서 세팅한것을 기록해봅니다.
$ sudo apt-get install nginx php5-fpm php5-mysql php5-curl php5-json
설정파일은 /etc/nginx/sites-available/ 에 있으며
첫번째로 새로운 설정파일을 만들어보겠습니다.
우선 그전에 웹서버에 동작시킬 폴더를 만들어둡니다.
$ mkdir ~/www
$ mkdir ~/www/domain.com
설정파일이 있는 폴더로 이동합니다.
$ cd /etc/nginx/sites-available
$ sudo cp default domain.com
$ sudo nano domain.com
- domain.com 파일에서 삭제 또는 수정해야되는것
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
root /home/ubuntu/www/domain.com
index index.html index.htm;
index index.html index.htm index.php;
server_name localhost;
server_name domain.com
#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
#}
위에 부분에서 주석을 모두 제거해줍니다.
fastcgi_pass 부분이 중요한데 tcp 또는 unix 소켓 둘중에 하나를 사용해야되는데
이 부분은 /etc/php5/fpm/pool.d/www.conf 파일 안에 listen 부분과 일치해야합니다.
$ sudo nano /etc/php5/fpm/pool.d/www.conf
listen = /var/run/php5-fpm.sock 이렇게 되어있는걸로 확인할수가 있었음.
그래서 완성된 형태는
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000; // 주석처리해줌
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Ubuntu Server 14.04 LTS (HVM), SSD Volume Type 인스턴스를 생성하여 사용해보았습니다.
대단히 만족스러우며 그래서 php 기반 웹 사이트를 구성하기 위해서 세팅한것을 기록해봅니다.
1. 설치하기전 우선적으로 패키지 정보를 업데이트 해줍니다.
$ sudo apt-get update2. Nginx + PHP5-fpm
$ sudo apt-get install nginx php5-fpm php5-mysql php5-curl php5-json
3. NGINX 세팅
설정파일은 /etc/nginx/sites-available/ 에 있으며
첫번째로 새로운 설정파일을 만들어보겠습니다.
우선 그전에 웹서버에 동작시킬 폴더를 만들어둡니다.
$ mkdir ~/www
$ mkdir ~/www/domain.com
설정파일이 있는 폴더로 이동합니다.
$ cd /etc/nginx/sites-available
$ sudo cp default domain.com
$ sudo nano domain.com
- domain.com 파일에서 삭제 또는 수정해야되는것
root /home/ubuntu/www/domain.com
index index.html index.htm index.php;
server_name domain.com
#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
#}
위에 부분에서 주석을 모두 제거해줍니다.
fastcgi_pass 부분이 중요한데 tcp 또는 unix 소켓 둘중에 하나를 사용해야되는데
이 부분은 /etc/php5/fpm/pool.d/www.conf 파일 안에 listen 부분과 일치해야합니다.
$ sudo nano /etc/php5/fpm/pool.d/www.conf
listen = /var/run/php5-fpm.sock 이렇게 되어있는걸로 확인할수가 있었음.
그래서 완성된 형태는
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000; // 주석처리해줌
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
4. PHP 세팅
$ sudo nano /etc/php5/fpm/php.ini
short_open_tag = Off On // ON 으로 변경
2014년 1월 27일 월요일
node.js imagemagick 모듈 오류사항
node.js 에서 imagemagick 모듈 사용중인데..
imagemagick.js 안에 parseIdentify 함수 부분에서
prop = prop[currentLine.split(':')[0].trim().toLowerCase()] = {};
요 라인이 이전에 저장됬던 속성까지 다 초기화 시켜서 문제가 있음..
그래서
prop[currentLine.split(':')[0].trim().toLowerCase()] = {};
이렇게 수정하니 문제가 해결됐다.
아 기쁘다 ㅋㅋ
ps - 이전에 포스팅했던 imagemagick 오류나서 try 처리 했던 부분도 저거때문에 문제가 생겼던 것이었다. geometry 속성에서 이미지 사이즈를 가져오는데 그 속성값이 없어서 생겼던 문제였음.
imagemagick.js 안에 parseIdentify 함수 부분에서
prop = prop[currentLine.split(':')[0].trim().toLowerCase()] = {};
요 라인이 이전에 저장됬던 속성까지 다 초기화 시켜서 문제가 있음..
그래서
prop[currentLine.split(':')[0].trim().toLowerCase()] = {};
이렇게 수정하니 문제가 해결됐다.
아 기쁘다 ㅋㅋ
ps - 이전에 포스팅했던 imagemagick 오류나서 try 처리 했던 부분도 저거때문에 문제가 생겼던 것이었다. geometry 속성에서 이미지 사이즈를 가져오는데 그 속성값이 없어서 생겼던 문제였음.
2014년 1월 8일 수요일
ubuntu 에서 redis 설치하기
개인적으로 정리도 해둘겸.. 포스팅 해봅니다.
http://grainier.net/how-to-install-redis-in-ubuntu/
이걸 보고 그대로 따라하면서 했지만, 리눅스 초짜라서 중간중간에 막히는 부분이 있더라구요. 그점을 추가하면서 썰을 풀어보겠습니다.
일단 첫번째로 redis 란?
Redis is a flexible, open-source, key value data store. Following in the footsteps of other NoSQL databases, such as Cassandra, CouchDB, and MongoDB, Redis allows the user to store vast amounts of data without the limits of a relational database. Additionally, it has also been compared to memcache and can be used, with its basic elements as a cache with persistence.
라고 합니다.
- 음.. 그렇군요. 해석은 각자 알아서 ㅋㅋ
인스톨하기전 몇가지 설치를 해줍니다.
1. apt-get 패키지 업데이트
$ sudo apt-get update
2. redis 를 인스톨 하기전 필요한 필수 빌드 컴파일러를 인스톨
$ sudo apt-get install build-essential
3. 이건 왜 하는지 모르겠음.
$ sudo apt-get install tcl8.5
이제 Redis 를 인스톨 해봅시다
1. http://redis.io/download 가서 최신버전을 확인해서 링크를 확인합니다. 현재 최신버전은 http://download.redis.io/releases/redis-2.8.3.tar.gz 네요
$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz
2. 압축을 풀어주고 순서대로 입력합니다.
$ tar -xvzf redis-2.8.3.tar.gz && cd redis-2.8.3
$ sudo make
$ sudo make test
$ sudo cp ./src/redis-server /usr/local/bin/
$ sudo cp ./src/redis-cli/usr/local/bin/
3. redis 서버 세팅을 간편하게 할수 있도록 도와줌
$ cd utils
$ sudo sh install_server.sh
- 포트를 선택하라고 나오는데 기본이 6379임. 나중에 새로운 인스턴스를 추가할때는 다른포트를 입력하면됨 ( ex : 6380, 6381 )
- 엔터를 입력하면 자동으로 설정파일이 생성되서 아주 편리합니다.
4. 설정이 완료되면 자동으로 redis 가 실행됩니다.
1) 서버정지
$ redis-cli -p 6379 shutdown
2) 서버시작
$ sudo redis-server /etc/redis/6379.conf
http://grainier.net/how-to-install-redis-in-ubuntu/
이걸 보고 그대로 따라하면서 했지만, 리눅스 초짜라서 중간중간에 막히는 부분이 있더라구요. 그점을 추가하면서 썰을 풀어보겠습니다.
일단 첫번째로 redis 란?
Redis is a flexible, open-source, key value data store. Following in the footsteps of other NoSQL databases, such as Cassandra, CouchDB, and MongoDB, Redis allows the user to store vast amounts of data without the limits of a relational database. Additionally, it has also been compared to memcache and can be used, with its basic elements as a cache with persistence.
라고 합니다.
- 음.. 그렇군요. 해석은 각자 알아서 ㅋㅋ
인스톨하기전 몇가지 설치를 해줍니다.
1. apt-get 패키지 업데이트
$ sudo apt-get update
2. redis 를 인스톨 하기전 필요한 필수 빌드 컴파일러를 인스톨
$ sudo apt-get install build-essential
3. 이건 왜 하는지 모르겠음.
$ sudo apt-get install tcl8.5
이제 Redis 를 인스톨 해봅시다
1. http://redis.io/download 가서 최신버전을 확인해서 링크를 확인합니다. 현재 최신버전은 http://download.redis.io/releases/redis-2.8.3.tar.gz 네요
$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz
2. 압축을 풀어주고 순서대로 입력합니다.
$ tar -xvzf redis-2.8.3.tar.gz && cd redis-2.8.3
$ sudo make
$ sudo make test
$ sudo cp ./src/redis-server /usr/local/bin/
$ sudo cp ./src/redis-cli/usr/local/bin/
3. redis 서버 세팅을 간편하게 할수 있도록 도와줌
$ cd utils
$ sudo sh install_server.sh
- 포트를 선택하라고 나오는데 기본이 6379임. 나중에 새로운 인스턴스를 추가할때는 다른포트를 입력하면됨 ( ex : 6380, 6381 )
- 엔터를 입력하면 자동으로 설정파일이 생성되서 아주 편리합니다.
4. 설정이 완료되면 자동으로 redis 가 실행됩니다.
1) 서버정지
$ redis-cli -p 6379 shutdown
2) 서버시작
$ sudo redis-server /etc/redis/6379.conf
피드 구독하기:
글 (Atom)