리눅스 102

php openssl 동적 모듈설치

1. 설치 # cd /usr/local/src/php-5.3.21/ext/openssl // php 소스 폴더의 ext/openssl 디렉토리로 이동 # /usr/local/php/bin/phpize# ./configure --enable-openssl --with-php-config=/usr/local/php/bin/php-config# make# mkdir /usr/local/php/modules# cp -arp modules/openssl.so /usr/local/php/modules/ 2. 연동 # vi /usr/local/apache/conf/php.iniextension=/usr/local/php/modules/openssl.so 그리고 아파치를 재시작 해주면 적용이 완료됩니다. # /usr/..

리눅스/php 2014.11.23

파일 업로드 용량 확보

upload_max_filesize = 20M 게시판이나 기타 PHP 를 이용하여 자료를 올리는 경우 최대 올릴 수 있는 용량.쵀대 파일 업로드 사이즈.post_max_size = 30MPost 방식으로 넘겨질 최대 데이터 사이즈 (업로드 파일 크기 + 메일 본문등의 텍스트 크기)최대 전송(업로드) 용량.max_execution_time = 30스크립트가 실행할 수 있는 최대 시간 (PHP 를 이용하여 실행될 최대 시간) 최대 시간을 넘기면 에러가 발생함.잘못 쓰여진 스크립트가 서버를 멈추는 것을 방지.대용량 파일일수록 업로드 시간이 많이 걸리므로 당연히 실행시간을 늘려주어야 함.0: 무제한 (Infinite) 시간.기본값: 30.max_input_time = -1스크립트가 입력 데이터를 받아들이는 최대..

리눅스/php 2014.11.23

Warning: phpinfo(): It is not safe to rely on the system's timezone settings

Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone...

리눅스/php 2014.11.23

mysqladmin 설치

phpmyadmin 다운로드 경로 :http://www.phpmyadmin.net/home_page/downloads.php 자신의 아파치 웹디렉토리에 다운로드 받는다.http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.0.9/phpMyAdmin-4.0.9-all-languages.tar.gz tar zxvf phpMyAdmin-4.0.9-all-languages.tar.gz mv phpMyAdmin-4.0.9-all-languages.tar.gz myadmin http://localhost/myadmin 뭐이런식으로.. 추가$cfg['Servers'][$i]['auth_type'] = 'config'; 로 되어 있는 것을 $cfg['Server..

리눅스/mysql 2014.11.23

mysql 5.1 -> 5.5 업그레이드 후 에러

Mysql 5.1 버전에서 5.5버전으로 업그레이드를 진행한 이후에httpd: Syntax error on line 107 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory해당 에러문구 확인하였습니다. 결론적으로 문제점은 5.1점대에서는 /usr/local/mysql/lib/mysql위의 디렉토리의 so파일을 참조하는데mysql 5.5버전에서는 해당디렉토리가 존재하지않았고/usr/local/mysql/lib 에 so파일들이 몰려있었습..

리눅스/mysql 2014.11.23

innodb 확인방법

mysql innodb엔진은 4.x부터는 mysql설치시 기본적으로 탑재되어있었으나 5.1.3x부터는 기존 configure옵션되로 하면 기본적으로 innodb가 탑재가 안되며 configure옵션에 --with-plugins=innobase 또는 --with-plugins=max 옵션을 추가해줘야한다. innodb부분이 YES로 나와있어야함. mysql> show variables like 'have_innodb'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_innodb | YES | +---------------+-------+ 1 row in set (0.00 sec) mysql> show ..

리눅스/mysql 2014.11.23

ERROR 1040 (08004): Too many connections

종종 사이트에 접속자가 폭주하여 connection 에러가 발생하는 경우가 생긴다. 이럴땐 아래와 같이 해결하자. 1) 현재 mysql에 설정된 max_connections 확인 # mysqladmin -u root -p variables | grep max_connectionsEnter password:| max_connections | 100 2) max_connections 를 1000으로 늘리기# vi /etc/my.cnf----------------------------------------------------..[mysqld]max_connections = 1000..----------------------------------------------------# /etc/init.d/mysq..

리눅스/mysql 2014.11.23

DB 계정생성및 권한부여 패스워드 변경

1. GRANT 명령어를 사용하여 계정생성 및 DB 권한 주기 mysql> GRANT ALL PRIVILEGES ON *.* to mk@localhost IDENTIFIED BY 'password' WITH GRANT OPTION; // 모든 DB 접속권한 부여 및 root 권한 부여, mk라는 유저는 localhost 에서만 접속가능 (내부접속) mysql> flush privileges; //권한로드: 모든곳(외부)에서 접속가능하게 하려면 mk@localhost 부분을 mk@'%' 로 바꿔주면 됨 : mk계정이 특정한 곳에서만 접속 가능하게 하려면 mk@localhost 부분을 mk@'ip주소' 로 바꿔주면 됨 : mk계정이 특정 DB에 접속을 하며(보이며) 해당 DB에'만' root 권한(모든 명령..

리눅스/mysql 2014.11.23

mysql 디비 계정생성및 권한설정

mysql 5.5 user, 데이터베이스 생성, 사용자 추가, 삭제*참고사항: 로컬에서 접속시 localhost 권한도 추가 해야 한다.*권한 위임 mysql> grant all privileges on *.* to '계정'@'localhost'identified by '비번' 모든 DB 로컬에서만 접속mysql> grant all privileges on *.* to '계정'@'%' identified by '비번' with grant option 원격에서 접속가능*권한 보기 # show grants for '계정'@'localhost'*권한 적용 # flush privileges*user 삭제 # drop user '계정'@'localhost'; 참고: 계정생성 풀어서 쓴 것grant all priv..

리눅스/mysql 2014.11.23

mysql 서버 실행할 때 Starting MySQL.Manager of pid-file quit without updating 오류

운영하던 mysql 서버의 root 비밀번호를 잃어버려서 root 비밀번호를 초기화 한 적이 있다. 구글링해서 찾은 초기화 방법은 다음과 같다safe_mysqld –user=root –skip-grant-tables &문제는 굵게 표시한 “–user=root” 부분. 최근에는 mysql을 root 권한으로 구동하지 않고 mysql 이라는 계정으로 구동하는데, 저렇게 –user=root 옵션을 쓰면 안 된다. 이렇게 하면 mysql 의 데이터 디렉토리(data)에 생기는 로그 파일인 mysql-bin.000001 (숫자)파일이 평소에 mysql을 구동하는 계정이 아닌 root 계정 것으로 생긴다. 그래서 mysql 을 구동할 때Starting MySQL.Manager of pid-file quit with..

리눅스/mysql 2014.11.23

mysql 패스워드 분실시

mysql을 중지시킨다.# ps -ax | grep mysql# kill -9 위에서 나온 pid값을 차례대로 적어 준다. 구분은 공백 " " mysql safe 모드로 들어간다.# ./safe_mysqld --user=root --skip-grant-tables & 창을하나 더열어 mysql에 접속을한다.(패스워드 안적어도 접속이된다.)# ./mysql mysql 접속을하여 패스워드를 바꾼다.mysql> use mysqlmysql> update user set password=password('비밀번호') where user='root';mysql> quit 저장하고 나온후 mysql을 재시작해준다.# ps -ax| grep mysql# kill -9 위 명령에서 나온 pid 값을 적어준다. (구분은 ..

리눅스/mysql 2014.11.23

rsync의 옵션 설명

rsync의 주요옵션 -v 진행상황을 상세히 보여줌 -r 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행 -l 소프트링크 보존 -H 하드링크 보존 -p 버전속성 보존 -o 소유속성 보존(루트) -g 그룹속성 보존 -t 타임스탬프 보존 -D 디바이스 파일보존(루트) -z 데이터압축 전송 -u 추가된 파일만 전송 -b 낡은 파일은 ~가 붙음 -u 새로운 파일을 덮어쓰지 않음 -c 서버와 클라이언트 파일크기를 세밀히 체크 -e ssh(rsh) 전송암호화 --existing : 추가된 파일은 전송하지않고 갱신된 파일만 전송 --delete : 서버에 없는 파일은 클라이언트에서도 삭제 --exclude 'PATTERN' : 패턴과 맞는 파일만 전송 --stats : 결과를 보고 --daemon : 대몬모드로 ..

리눅스/mysql 2014.11.23

mysqldump 오류

mysqldump: Error 1194: Table '테이블명' is marked as crashed and should be repaired when dumping table `테이블명` at row 오류시에는 테이블이 손상되어 덤프가 안되는경우이다. 이럴경우에는 mysql> repair table tableName;ORmyisamchk -r -q /var/lib/mysql/drupal/watchdog.MYImyisamchk -r /var/lib/mysql/drupal/watchdog.MYI 이와같은 명령어로 테이블을 복구시켜줘야한다. 복구한다음 다시 덤프명령어를 내릴시에는 정상적으로 작동하는것을확인할수 있다.

리눅스/mysql 2014.11.23

mysql 덤프

1. 덤프뜨기 $> mysqldump -u[사용자아이디] -p 데이터베이스명 [테이블명] > 저장될 파일명 예) mysqldump -ukamkami -p mydatabase > kamkami.pe.kr.sql 이렇게 하면 디비(mydatabase)를 몽땅 덤프를 뜨게된다. 테이블만 덤프를 뜨고 싶다면 예) mysqldump -ukamkami -p mydatabase member_table > kamkami.pe.kr.member_table.sql 전부다 덤프를 뜨고싶다면 예) mysqldump -u root -p --all-databases > all_databases.sql 이렇게 하면 테이블만 덤프를 뜰 수 있다. 2. 복구하기 덤프 파일을 가지고 복구를 하는 방법도 간단하다. $> mysql -u[..

리눅스/mysql 2014.11.23

nginx와 php 연동방법

nginx와 php를 연동하기 위해서는 php-fpm이 필요하다.php-fpm은 php 5.2.x 버전 이상부터 사용 가능 가능한데 5.2 버전에서 php-fpm을 사용하려면 php core를 따로 컴파일 해야 해서 불편하다.php 5.3.6 버전부터 php-fpm이 core에 통합되어 따로 컴파일하지 않아도 되므로 php 를 5.3.6 이상으로 업데이트 한다.php 업데이트가 끝나면 본격적으로 php-fpm과 mysql, php를 설치한다. (참조 : http://opentutorials.org/module/384/4332)1. yum을 이용하여 php와 mysql,php-fpm을 설치 합니다.# yum –enablerepo=remi install php php-fpm php-mysql mysql-se..

리눅스/apache 2014.11.23

nginx 설치방법

Nginx 는 러시아에서 만든 웹서버로 접속이 많을 경우에도 안정적인 처리량을 보여주기때문에 사용자가 늘어나고 있는 추세이다. 다만 Nginx 에서 동적페이지인 PHP를 구동할 경우 오히려 Apache보다 처리능력이 떨어지기 때문에 이미지 웹서버만 분리해서 운영하려고 할때 좋은 성능을 보여준다. 가벼운 nginx를 전면에 두고 PHP처리가 필요한 호출에 대해서는 백단의 Apache에서 처리하도록 할 것이다. Nginx 는 80포트, Apache는 으로 설정 Apache, PHP, MySql 등은 YUM을 통해 설치된 상태임. Apache포트는 으로 변경(가상호스트도 마찬가지) 1. Nginx 최신버젼 다운로드 wget http://nginx.org/download/nginx-1.1.0.tar.gz 2. ..

리눅스/apache 2014.11.23