'리눅스'에 해당되는 글 78건

  1. 2015.04.06 mysql 기본 명령
  2. 2015.04.03 mysql 캐릭터셋
  3. 2015.04.03 nginx
  4. 2015.04.02 host 접속 제한
  5. 2015.04.02 ftp root 접근 제한
  6. 2015.04.01 ssh root 접속 설정
  7. 2015.04.01 ssh 접속에러
  8. 2015.04.01 apm 설치


데이터베이스 접속

$ mysql -u 사용자명 -p dbname


설치 직후에는 root 사용자에 비밀번호가 없으므로 다음과 같이 접속하여 MySQL을 관리할 수 있다.


$ mysql -u root mysql



비밀번호 변경

MySQL을 설치한 직후에는 root 계정에 암호가 지정되어 있지 않다.

다음 세가지 방법으로 비밀번호를 변경 할 수 있다.


mysqladmin이용

$ mysqladmin -u root password 새비밀번호


update문 이용

$ mysql -u root mysql


mysql> UPDATE user SET password=password('새비밀번호') WHERE user='root';

mysql> FLUSH PRIVILEGES;



Set Password 이용

SET PASSWORD FOR root=password('새비밀번호');



일단 root 비밀번호가 설정된 상태에서는 mysql이나 mysqladmin 명령을 실행할 때 -p 옵션을 붙여주고 기존 비밀번호를 입력해야만 한다.




사용자 조회

mysql> select host, user, password from user;


사용자 추가/삭제

mysql> GRANT ALL PRIVILEGES ON dbname.* TO username@localhost IDENTIFIED BY 'password';


username 이라는 사용자를 password라는 비밀번호를 갖도록 하여 추가한다. username은 dbname이라는

데이타베이스에 대해 모든 권한을 가지고 있다.

username 사용자는 로칼 호스트에서만 접속할 수 있다. 다른 호스트에서 접속하려면

GRANT ALL PRIVILEGES ON dbname.* TO username@'%' IDENTIFIED BY 'password';


위를 또한 번 실행한다. '%'에서 홑따옴표를 주의한다.

추가 : '%'를 호스트네임으로 지정해도 모든 호스트에서 접속할 수 없었다. 각 호스트별로 다 지정해야 했다.

아래 댓글에서 rukikuki님이 알려주셨습니다.

GRANT ALL PRIVILEGES ON testdb.* TO 'username'@'%' IDENTIFIED BY 'password' ;

처럼 'username' 이런식으로 홑따옴표를 username 에도 붙여야 하더군요.. 


http://tech.zhenhua.info/2009/01/mysql-error-104528000-access-denied-for.html 에 따르면 '%'란 localhost 를 제외한 모든 호스트를 뜻한다고 한다. 즉, localhost에 대해서는 명시적으로 따로 권한을 지정해야 한다.


불필요한 사용자 삭제는

mysql> DLETE FROM user WHERE user='username';

mysql> FLUSH PRIVILEGES;





데이터베이스 생성/보기


데이터베이스를 생성하고,

mysql> CREATE DATABASE dbname;


현재 존재하는 데이터베이스 목록을 보여준다.

mysql> SHOW DATABASES;


특정 데이타베이스를 사용하겠다고 선언한다.

mysql> USE dbname;


쓸모 없으면 과감히 삭제한다.

mysql> DROP DATABASE [IF EXISTS] dbname;


IF EXISTS 옵션은 비록 데이타베이스가 없더라도 오류를 발생시키지 말라는 의미이다.




테이블 생성/보기


테이블을 생성하고,

mysql> CREATE TABLE tablename (

column_name1 INT,

column_name2 VARCHAR(15),

column_name3 INT );


현재 데이타베이스의 테이블 목록을 보고

mysql> SHOW TABLES;


테이블 구조를 살펴본다.

mysql> EXPLAIN tablesname;

혹은

mysql> DESCRIBE tablename;


이름을 잘못 지정했으면 이름을 변경할 수도 있다.

mysql> RENAME TABLE tablename1 TO tablename2[, tablename3 TO tablename4];


필요 없으면 삭제한다.

mysql> DROP TABLE [IF EXISTS] tablename;




현재 상태 보기


mysql> status


--------------

mysql Ver 11.18 Distrib 3.23.58, for pc-linux (i686)


Connection id: 26

Current database: study

Current user: study@localhost

Current pager: stdout

Using outfile: ''

Server version: 3.23.58

Protocol version: 10

Connection: Localhost via UNIX socket

Client characterset: latin1

Server characterset: euc_kr

UNIX socket: /var/lib/mysql/mysql.sock

Uptime: 2 hours 9 min 59 sec


Threads: 1 Questions: 160 Slow queries: 0 Opens: 28 Flush tables: 1

Open tables: 1 Queries per second avg: 0.021

--------------




INSERT

mysql> INSERT INTO tablename VALUES(값1, 값2, ...);


혹은


mysql> INSERT INTO tablename (col1, col2, ...) VALUES(값1, 값2, ...);



SELECT

mysql> SELECT col1, col2, ... FROM tablename;


컬럼명을 *로 하면 모든 컬럼 의미.


mysql> SELECT col1 AS '성명', col2 AS '국어점수' FROM grade;


컬럼의 이름을 바꿔서 출력.


mysql> SELECT * FROM tablename ORDER BY col1 DESC;

mysql> SELECT col1, korean + math english AS '총점' FROM tablename ORDER BY '총점' ASC;


DESC는 내림차순 ASC는 오름차순.


mysql> SELECT * FROM grade WHERE korean < 90;


조건줘서 SELECT.


mysql> SELECT * FROM grade LIMIT 10;


결과중 처음부터 10개만 가져오기


mysql> SELECT * FROM grade LIMIT 100, 10;


결과중 100번째부터 10개만 가져오기. 첫번째 레코드는 0번 부터 시작한다.


UPDATE

mysql> UPDATE tablename SET col1=새값 WEHER 조건



DELETE

mysql> DELETE FROM tablename WEHRE 조건



mysql에서 쿼리 결과 세로로 보기

-E 옵션을 줘서 실행한다.

$ mysql -E -u root -p mysql



mysql에서 발생한 오류나 경고 다시 보기

mysql> show errors;

mysql> show warnings;




'리눅스 > mysql' 카테고리의 다른 글

mysql 실행 에러  (0) 2015.06.08
mysql 실행 오류  (0) 2015.05.30
mysql ip 설정  (0) 2015.05.16
mysql 테이블 복구  (0) 2015.04.06
mysql 캐릭터셋  (0) 2015.04.03
Posted by Narusika
,

출처 http://develop.sunshiny.co.kr/385



# 현재 캐릭터셋 검색
mysql>show variables like 'char%';

+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | latin1                           |
| character_set_connection | latin1                           |
| character_set_database   | latin1                            |
| character_set_filesystem | binary                           |
| character_set_results    | latin1                           |
| character_set_server     | latin1                            |
| character_set_system     | utf8                             |
| character_sets_dir       | /opt/mysql/mysql/share/charsets/ |
+--------------------------+----------------------------------+


mysql>status 또는 \s
--------------
mysql  Ver 14.14 Distrib 5.1.42, for pc-solaris2.10 (i386) using readline 5.1

Connection id:          1
Current database:       
Current user:           계정명@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.1.42 명ySQL Community Server (GPL)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /tmp/mysql.sock
Uptime:                 12 sec

Threads: 1  Questions: 6  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.500
--------------


# 데이타 베이스 생성 : utf8 타입
CREATE DATABASE 데이터베이스명 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

# 데이타 베이스 생성 : euckr 타입
CREATE DATABASE 데이터베이스명 DEFAULT CHARACTER SET euckr COLLATE euckr_korean_ci;

# 데이타 베이스 생성후 외부 접속하기 위해서 IP를 추가 해줍니다.
GRANT ALL PRIVILEGES ON 데이타베이스명.* TO '계정명'@'192.168.1.100' IDENTIFIED BY '비밀번호' WITH GRANT OPTION;


## 각각의 캐릭터 셋을 변경 - 이 변경 방법은 mysql 데몬이 재실행 될경우에 초기화 됨.
mysql> SET character_set_client = utf8;
mysql> SET character_set_results = utf8;
mysql> SET character_set_connection = utf8;
mysql> ALTER DATABASE DB명 DEFAULT CHARACTER SET utf8;
commit;


## /etc/my.cnf 파일에 설정 - 이 설정 방법을 추천 mysql 데몬이 재실행 되어도 설정을 유지 합니다.

mysql>vi /etc/my.cnf

################# utf8 설정 #################
[client]
#password       = your_password
port            = 3306
socket          = /tmp/mysql.sock

default-character-set=utf8

[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

port            = 3306
socket          = /tmp/mysql.sock
basedir       = /opt/mysql/mysql
datadir        = /opt/mysql/mysql/data

set-variable    = table_cache=1024
set-variable    = max_connections=500
set-variable    = max_user_connections=100
set-variable    = max_connect_errors=10000

log-slow-queries
set-variable    = long_query_time=3
skip-name-resolve

# InnoDB 사용 안할시 아래 내용추가
#skip-innodb
sync_binlog = 1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
default-character-set=utf8

################# utf8 설정후 확인 #################

mysql> \s   
--------------
mysql  Ver 14.14 Distrib 5.1.42, for pc-solaris2.10 (i386) using readline 5.1

Connection id:          4
Current database:       
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.1.42-log MySQL Community Server (GPL)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /tmp/mysql.sock
Uptime:                 19 min 31 sec

Threads: 2  Questions: 33  Slow queries: 1  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.28


mysql> show variables like 'char%';
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | utf8                             |
| character_set_connection | utf8                             |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | utf8                             |
| character_set_server     | utf8                             |
| character_set_system     | utf8                             |
| character_sets_dir       | /opt/mysql/mysql/share/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.99 sec)


################# euckr 설정 #################

[client]
default-character-set=euckr

[mysqld]
default-character-set=euckr
init_connect=SET collation_connection=euckr_korean_ci
init_connect=SET NAMES euckr
character-set-server=euckr
collation-server=euckr_korean_ci

port            = 3306
socket          = /tmp/mysql.sock
basedir       = /opt/mysql/mysql
datadir        = /opt/mysql/mysql/data

set-variable    = table_cache=1024
set-variable    = max_connections=500
set-variable    = max_user_connections=100
set-variable    = max_connect_errors=10000

log-slow-queries
set-variable    = long_query_time=3
skip-name-resolve

# InnoDB 사용 안할시 아래 내용추가
#skip-innodb
sync_binlog = 1

[mysqldump]
default-character-set=euckr

[mysql]
default-character-set=euckr 


'리눅스 > mysql' 카테고리의 다른 글

mysql 실행 에러  (0) 2015.06.08
mysql 실행 오류  (0) 2015.05.30
mysql ip 설정  (0) 2015.05.16
mysql 테이블 복구  (0) 2015.04.06
mysql 기본 명령  (0) 2015.04.06
Posted by Narusika
,

nginx

리눅스 2015. 4. 3. 10:40


출처:

다운로드


의존성

nginx를 설치하기 전에 의존성 문제를 해결해야 한다.

아래의 의존성 패키지들은 apt-get, yum과 같은 패키지 관리자를 이용해서 설치하는 것이 편리하다. 이번 수업에서는 일부러 직접 컴파일 하는 법을 다루고 있다.

PCRE

NGINX는 Perl5에서 사용하는 정규표현식 라이브러리인 PCRE를 사용한다. 아래의 주소에서 다운로드 한다. 필자는 소스 다운로드 페이지를 경유해서 아래의 주소에서 가장 최신 버전의 파일을 다운 받았다. 

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

아래와 같이 압축을 푼다. 

1
tar xvf pcre-8.32.tar.gz

openssl

https 모듈인 HttpSslModule을 사용하기 위해서는 openssl이 필요하다. openssl은 아래의 위치에서 다운로드 할 수 있다. 필자는 최신버전을 다운로드 받았다. 

http://www.openssl.org/source/

압축을 해제한다.

1
tar -xzvf openssl-1.0.1e.tar.gz;

zlib

ngx_http_gzip_module 모듈을 사용하기 위해서는 zlib 라이브러리가 있어야 한다. zlilb의 홈페이지를 방문해서 잘 찾아보면 zlib의 소스코드를 다운로드 받을 수 있는 섹션이 있다. zlib의 홈페이지는 아래와 같다.

http://zlib.net/

파일을 다운로드 받는다. 

압축을 해제한다.

1
unzip zlib128.zip

unzip은 apt-get install unzip과 같은 명령으로 설치 할 수 있다.

외부 모듈의 설치

NGINX을 컴파일 하는 이유 중의 하나는 NGINX의 확장 기능인 모듈을 이용하기 위해서다. 모듈에 대한 리스트는 아래 페이지를 통해서 구할 수 있다. 

http://wiki.nginx.org/3rdPartyModules

echo module

우리는 예제로 echo 모듈을 설치해보자. echo 모듈은 html 파일이나 에플리케이션(php, python) 없이 NGXIN의 설정만으로 페이지를 만들 수 있는 기능이다. 코드는 아래의 페이지에서 다운로드 받을 수 있다. (사용법)

https://github.com/agentzh/echo-nginx-module/tags

필자는 현시점에서 최신 버전을 다운로드 받아서 압축을 해제하겠다. 


사용자

NGINX는 마스터 프로세스(Master Process)와 작업자 프로세스(Worker Process)를 가지고 있다. ps aux | grep nginx를 실행해보면 아래와 같은 프로세스가 떠있을 것이다. 

마스터 프로세스는 루트 계정으로 실행되면서 80, 443 포트의 소켓과의 통신을 담당한다. 

작업자 프로세스는 실제로 데이터를 처리하는 프로세스라고 할 수 있는데 이 프로세스를 핸들링할 사용자를 만들어야 한다. 일반적으로 웹서버의 워커 유저는 www-data를 사용한다. www-data를 만드는 법은 아래와 같다. 

1
useradd --shell /sbin/nologin www-data

ubuntu는 아래와 같이 한다. 

1
useradd --shell /usr/sbin/nologin www-data





설치

컴파일을 하기 위해서는 C, C++ 컴파일러가 필요하다. 필자는 gcc를 사용할 것이다. 아래와 같은 명령으로 설치 할 수 있다.

1
sudo apt-get install gcc g++;
1
yum install gcc-c++;

설치는 크게 세가지 단계로 진행된다. 

  1. configure : 환경설정 
  2. make : 설치파일을 컴파일 
  3. make install : 설치파일을 이용해서 설치

configure

nginx의 소스 디렉토리로 이동한 후에 configure 명령을 실행한다. 이 때 사용할 수 있는 옵션에 대한 설명은 공식 홈페이지를 참조한다. http://nginx.org/en/docs/install.html

아래는 필자가 사용할 configure 명령이다. 

1
sudo ./configure --with-zlib=../zlib-1.2.8 --with-pcre=../pcre-8.32 --with-openssl=../openssl-1.0.1e --with-http_ssl_module --with-debug --add-module=../echo-nginx-module-0.45 --prefix=/usr/local/nginx --user=www-data --group=www-data

위의 내용에 대한 설명은 아래와 같다. 

  • --with-(zlib | pcre | openssl) : NGINX가 의존하고 있는 라이브러리들의 소스 경로
  • --with-(http_ssl_module | debug) : NGINX를 설치할 때 ssl, debug 모듈을 활성화한다. 이 모듈들은 NGINX가 제공하는 내부 모듈이지만 기본적으로는 설치가 되지 않는 옵션사항이다. 
  • --add-module : 외부 모듈인 echo 모듈의 소스가 위치하는 디렉토리
  • --prefix : NGINX가 설치될 기본 디렉토리를 의미한다. 이 디렉토리 하위에 NGINX의 실행, 로깅, 설정 파일들이 설치된다. 각각의 항목을 바꿀 수도 있다. 메뉴얼을 참고하자. 
  • --user, --gourp : www-data 사용자의 권한으로 NGXIN를 실행시킨다. www-data 사용자가 없다면 만들어야 한다. 사용자의 리스트는 아래의 명령을 통해서 알 수 있다. www-data가 아니라 자기 자신의 계정을 사용해도 된다. 

실행한 결과 필자와 같이 출력된다면 이제 컴파일 할 준비가 끝난 것이다. 아래의 정보가 설치된 모듈들과 각종 패스들이다. 참고하자.

make

컴파일을 해보자. 오랜시간이 걸릴 수 있다. 

1
sudo make;

만약 make 명령을 찾지 못한다면 apt-get install make와 같은 명령을 이용해서 설치하자. 

아래와 비슷한 화면이 출력된다면 컴파일에 성공한 것이다.

make install

이제 설치를 해보자. 

1
sudo make install;

아래와 같은 화면이 출력되면 설치에 성공한 것이다. 

설치확인

NGINX가 설치된 디렉토리로 이동해보자. 필자는 configure에서 /usr/loca/nginx를 사용했기 때문이 이 디렉토리에 NGINX의 파일들이 모두 모여있다. 

각 디렉토리의 용도는 아래와 같다.

  • conf : 설정파일
  • html : 기본 document_root
  • logs : 로그 파일
  • sbin : nginx 실행파일

NGINX 구동

NGINX를 실행보자. 성공했다면 아무런 메시지도 출력되지 않을 것이다. 

1
sudo /usr/local/nginx/sbin/nginx;

NGINX가 설치된 머신의 호스트(IP)로 접근해보자. 아래와 같은 메시지가 출력된다면 성공적으로 NGINX를 설치하고 구동한 것이다. 

init

NGINX와 같은 소프트웨어들을 서비스 혹은 백그라운드 에플리케이션이라고 부른다. 이러한 부류의 프로그램들은 표준화된 인터페이스를 가지고 있는데 아래와 같다. 

  • service nginx start : 시작 
  • service nginx stop : 정지
  • service nginx restart : 재시작
  • service nginx reload : 설정파일을 재로드
  • service nginx status : 현재 상태 

NGINX를 실행하고, 또 부팅시에 자동으로 동작하도록 하려면 /etc/init.d 에 init 스크립트를 위치시켜야 하는데 이 스크립트는 nginx의 소스에 포함되어 있지 않다. 운영체제별로 이 스크립트를 구해서 /etc/init.d에 설치하는 방법을 알아본다. 

Ubuntu

ubuntu의 init 스크립트는 다음 URL을 통해서 구할 수 있다. 

https://github.com/JasonGiedymin/nginx-init-ubuntu

아래와 같은 명령으로 최신버전의 init 스크립트를 /etc/init.d 디렉토리로 가져오고 실행하능하게 권한을 조정 할 수 있다. 

1
2
sudo chmod +x /etc/init.d/nginx;

NGINX를 자동으로 실행되게 하려면 아래와 같은 명령을 입력한다.

1
sudo update-rc.d -f nginx defaults

위의 방법을 통해서 설치한  스크립트를 실행하기 위해서는 아래와 같은 명령을 실행하면 된다. 

1
2
3
service nginx status # 현재 실행중인 NGXIN의 상태를 체크
service nginx stop # 서버 정지
service nginx start # 서버 시작

운영체제별 init 스크립트는 아래의 주소를 통해서 구할 수 있다. 

http://wiki.nginx.org/InitScripts

















'리눅스' 카테고리의 다른 글

crontab  (0) 2015.04.07
etc/host.conf  (0) 2015.04.07
host 접속 제한  (0) 2015.04.02
ftp root 접근 제한  (0) 2015.04.02
ssh root 접속 설정  (0) 2015.04.01
Posted by Narusika
,

host 접속 제한

리눅스 2015. 4. 2. 17:05

hosts.allow  IP와 프로세스등의 접속을 허용

deny.allow  IP와 프로세스등의 접속을 차단


hosts.deny에서는 차단되어 있어도, hosts.allow에서 접속허용이 되어있다면, 접속이 가능하다.



# vi /etc/hosts.deny

ALL:ALL

 

# vi /etc/hosts.allow

httpd           :  ALL

sshd            : 192.168.9.40

sendmail     : ALL

mysql          : ALL

'리눅스' 카테고리의 다른 글

etc/host.conf  (0) 2015.04.07
nginx  (0) 2015.04.03
ftp root 접근 제한  (0) 2015.04.02
ssh root 접속 설정  (0) 2015.04.01
ssh 접속에러  (0) 2015.04.01
Posted by Narusika
,

ftp root 접근 제한

리눅스 2015. 4. 2. 09:05


/etc/vsftpd/userlist

/etc/vsftpd/ftpuser


root의 주석을 해제하면 접근 금지. 주석을 달아주면 접근 가능


ftpuser 는 비번을 맞게 쳐도 거부(비번쓰는란이 나온다)

userlist 는 비번도 묻지 않고 거부



'리눅스' 카테고리의 다른 글

nginx  (0) 2015.04.03
host 접속 제한  (0) 2015.04.02
ssh root 접속 설정  (0) 2015.04.01
ssh 접속에러  (0) 2015.04.01
apm 설치  (0) 2015.04.01
Posted by Narusika
,

ssh root 접속 설정

리눅스 2015. 4. 1. 17:43

vi /etc/ssh/sshd_config


PermitRootLogin yes   접속 허용    

PermitRootLogin no    접속 불가


데몬 재시작


OpenSSH 의 설정내용을 변경한다.

# vi /etc/ssh/sshd_config

...

Port 2222    // 포트 변경 (포트번호1023 까지는 예약된 포트이므로 그 이후 값을 사용)

...

IgnoreRhosts yes    // rhosts 를 무시    

...

PermitRootLogin no    // ssh 접속시 root 로 로그인 금지

...

AllowGroups wheel    // wheel 그룹만 ssh 에 로그인 가능

...


* 포트 변경시 iptables 를 사용하고 있다면 해당 포트를 사용할 수 있도록 설정한다.


* 접속제한 방법

AllowGroups : 여기에 등록된 group만 접속 가능함.

AllowUsers : 이곳에 등록된 계정만 접속 가능함.

DenyGroups : 모두 접속이 허용, 여기에 등록된 group만 접속 거부됨.

DenyUsers : 모두 접속이 허용, 여기에 등록된 계정만 접속 거부됨.


예1) test1 와 test2 만 ssh 접속을 허용 space bar로 구분)

AllowUsers      test1 test2    


예2) 모든 유저의 접속을 허락하고 help 라는 유저의 접속을 막는다.

DenyUsers      help


# /etc/init.d/sshd restart


위와 같이 설정하면 일반계정으로 접속후 su - 를 하여 root로 권한을 변경해야하는 번거로움이 생기는데, 이에 대한 편의성을 높여주는 sudo를 설정하여 특정 계정 사용자가 root권한을 편하게 사용할 수 있게 한다.

# vi /etc/sudoers

...

 ## Same thing without a password

%wheel        ALL=(ALL)       NOPASSWD: ALL    // 주석처리되어 있는데 그것을 삭제


사용자 추가시 그룹을 wheel 로 지정

# useradd -G wheel tiffiny


tiffiny 로 로그인

$ sudo id

uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

$ cat /etc/group | grep wheel

wheel:x:10:root,tiffiny





'리눅스' 카테고리의 다른 글

nginx  (0) 2015.04.03
host 접속 제한  (0) 2015.04.02
ftp root 접근 제한  (0) 2015.04.02
ssh 접속에러  (0) 2015.04.01
apm 설치  (0) 2015.04.01
Posted by Narusika
,

ssh 접속에러

리눅스 2015. 4. 1. 17:29


ssh 접속장애 메시지


WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!


ssh-keygen -R [ IP or DomainName]


ex) ssh-keygen -R 123.123.123.123 


ssh 가 최초접속시에 인증을 하는데 접속서버쪽이 새로 설치를 통해 정보가 바뀌면 접속하려는쪽은 예전정보를 가지고 접속을 하게 됨으로써 인증을 하지 못하게된다.
해결은 위처럼 간단하다. 기존정보 삭제.


'리눅스' 카테고리의 다른 글

nginx  (0) 2015.04.03
host 접속 제한  (0) 2015.04.02
ftp root 접근 제한  (0) 2015.04.02
ssh root 접속 설정  (0) 2015.04.01
apm 설치  (0) 2015.04.01
Posted by Narusika
,

apm 설치

리눅스 2015. 4. 1. 14:23


설치환경 CentOS 6.5 64bit

Apache (2.4.3)

MySQL (5.5.29)

PHP ( 5.4.7 )


의존성 라이브러리 설치

yum install -y gcc* make libtool-ltdl-devel openssl-devel pcre-devel ncurses-devel libxml2-devel bzip2-devel curl-devel gdbm-devel libjpeg-devel libpng-devel freetype-devel imap-devel libc-client-devel krb5-devel libmcrypt-devel libmhash-devel wget lftp flex cmake 

yum install -y gcc.x86_64 gcc-c++.x86_64 wget.x86_64 bzip2-devel.x86_64 pkgconfig.x86_64 openssl-devel.x86_64 make.x86_64 man.x86_64 nasm.x86_64 gmp.x86_64 gdbm-devel.x86_64 readline-devel.x86_64 compat-readline43.x86_64 ncurses-devel.x86_64 db4-devel.x86_64 automake* autoconf* -y

yum install -y libxml2-devel.x86_64 libcurl-devel.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 gmp-devel.x86_64

 

  

 

Apache (2.4.3)

 

#cd /usr/local/src

(2.4.x는 APR1.4 이상을 필요로 함) 

#wget http://mirror.apache-kr.org//apr/apr-1.4.6.tar.gz

#tar xvfz apr-1.4.6.tar.gz

#cd apr-1.4.6

#cp -arp libtool libtoolT

#./configure --prefix=/usr/local/apr-1.4.6

#make && make install

 

#wget http://mirror.apache-kr.org//apr/apr-util-1.4.1.tar.gz

#tar xvfz apr-util-1.4.1.tar.gz

#cd apr-util-1.4.1

#./configure --prefix=/usr/local/apr-util-1.4.1 --with-apr=/usr/local/apr-1.4.6

#make && make install



#./configure --prefix=/usr/local/httpd-2.4.3 --enable-so --with-mpm=prefork --enable-cache --with-apr=/usr/local/apr-1.4.6 --with-apr-util=/usr/local/apr-util-1.4.1 --enable-ssl --with-ssl=/usr --enable-rewrite --enable-lib64 --libdir=/usr/lib64

 

#make

#mkae install

#ln -s /usr/local/httpd-2.4.3 /usr/local/apache2

 


mod_url : 1.6.2.6 설치 (최신 버전은 컴파일 과정에서 에러남)

# wget http://caos.kldp.net/frs/download.php/6015/mod_url-apache2-1.6.2.6.tar.bz2

# bzip2 -d mod_url-apache2-1.6.2.6.tar.bz2

# tar -xvf mod_url-apache2-1.6.2.6.tar

# /usr/local/httpd-2.4.3/bin/apxs -aic mod_url.c

그러면 아파치 모듈 디렉토리 (/usr/local/httpd-2.4.3/modules)에 설치됩니다. (755 권한)

 

아파치 설정화일 httpd.conf에 아래 부분이 이미 추가되어 있습니다.

LoadModule redurl_module        modules/mod_url.so

그 하단에 추가

 

<IfModule mod_url.c>

CheckURL On

</IfModule>

 

# vi httpd.conf

- 아래 부분 삽입

<IfModule dir_module>

DirectoryIndex index.html index.htm index.php

</IfModule>

 

- 아래 주석 해제 및 삽입

<IfModule mime_module>

AddType application/x-httpd-php .php .htm .html .inc .php4 .php3

AddType application/x-httpd-php-source .phps

</IfModule>

 

#cd /usr/local/httpd-2.4.3/bin

# cp apachectl /etc/rc.d/init.d/httpd

 

- Apache Config test

#/etc/rc.d/init.d/httpd configtest

 

- Apache Startvi 

# /etc/rc.d/init.d/httpd start

 

 

 

 


MySQL (5.5.29)

 

#useradd -M -s /bin/false mysql

#mkdir -p /mysql/data /mysql/log

#chown mysql.mysql data

#chown mysql.mysql log

#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.29 -DMYSQL_DATADIR=/mysql/data -DDEFAULT_CHARSET=euckr \

  -DDEFAULT_COLLATION=euckr_korean_ci -DWITH_EXTRA_CHARSETS=all

(UTF8 설정시 옵션)

  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

#make

#make install




#./scripts/mysql_install_db --user=mysql --datadir=/mysql/data

cp -arp support-files/my-huge.cnf /etc/my.cnf

cp -arp support-files/mysql.server /etc/init.d/mysqld


 

# mysql 데몬 실행 권한 부여

chown -R mysql.mysql /usr/local/mysql

chmod 700 /etc/init.d/mysqld

chmod 711 /usr/local/mysql

chmod 700 /usr/local/mysql/data

chmod 751 /usr/local/mysql/bin

chmod 750 /usr/local/mysql/bin/*

chmod 755 /usr/local/mysql/bin/mysql

chmod 755 /usr/local/mysql/bin/mysqldump




# mysql 구동 (시작)

/etc/init.d/mysqld start

 

#/etc/init.d/mysqld start

#./bin/mysqladmin -u root password 암호

#vi /etc/rc.d/init.d/mysqld

  - 아래 부분 수정 

  basedir=/usr/local/mysql

  datadir=/mysql/data

#chkconfig --add mysqld

 

 

 

 

 

PHP ( 5.4.7 )

 

#./configure --prefix=/usr/local/php-5.4.7 --with-apxs2=/usr/local/httpd-2.4.3/bin/apxs --with-mysql=/usr/local/mysql-5.5.29 --with-config-file-path=/usr/local/httpd-2.4.3/conf --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib=/usr --enable-mbstring --enable-exif

#make

#mkae install

#cd /usr/local/src/php-5.4.8

#cp php.ini-production /usr/local/httpd-2.4.3/conf/php.ini

#cd /usr/local/httpd-2.4.3/conf

#vi php.ini 

 


vi /usr/local/httpd-2.4.3/htdocs/test.php  파일 만들기

<?php phpinfo();?>    추가하기

  

 service httpd restart 아파치 재시작


http://blog.keypointer.co.kr/?p=53 참고

 

 

'리눅스' 카테고리의 다른 글

nginx  (0) 2015.04.03
host 접속 제한  (0) 2015.04.02
ftp root 접근 제한  (0) 2015.04.02
ssh root 접속 설정  (0) 2015.04.01
ssh 접속에러  (0) 2015.04.01
Posted by Narusika
,