CentOS6.5 설치 설정 노트

9724 단어 LinuxCentOS

설치


설치 정보가 많아서 이곳에서 사랑을 끊는다.
VMWare Fusion에 최소값인 CentOS6.5를 설치한 것으로 가정합니다.

VMWare Fusion 문제1


특별한 주의점은 없지만 VMWare Fusion에 minimal을 설치하면 네트워크가 유효하지 않기 때문에 설치하는 도중에 네트워크가 자동으로 시작되도록 설정하면 번거롭지 않습니다.
잊어버리면 수동으로 eth0을 설정합니다.

VMWare Fusion 문제2


VMWare Fusion에서 VM을 복사하여 MAC 주소를 다시 생성하고 시작하면 eth0을 인식할 수 없습니다.
반대로 eth1과 eth2를 식별하고 사용할 수 없습니다.
아래처럼 하면 해결될 것 같아.

/etc/udev/rules.d/70-persistent-net.rules 편집


/etc/udev/rules.d/70-persistent-net.vi에서 rules를 열고 현재 식별된 인터페이스 이외의 설명 줄을 삭제합니다.
인식된 인터페이스 이름을 eth0으로 변경합니다.이 경우 MAC 주소가 유지됩니다.

편집/etc/sysconfig/network-scripts/ifcfg-eth0


여기에 있는 MAC 주소를 위 내용으로 덮어씁니다.
다시 시작하면 eth0으로 인식됩니다.참고 자료 .

기본 설정 1


기본 설정으로 1
  • SELinux 해제
  • 설치에 필요한 도구
  • 사용자 추가
  • sudo 설정
  • ssh의 로그인 설정
  • 집행
    또한 다음 작업은 특별한 주의가 없으면 루트 권한으로 진행됩니다.

    SELinux 해제


    SELinux가 ON(enforcing)인 경우 설정 등을 듣지 않는 경우가 발생하기 때문에 미리 닫습니다.
    vi /etc/selinux/config
    
    하다
    -SELINUX=enforcing
    +SELINUX=disabled
    
    나타내다
    getenforce
    
    에서 설명한 대로 해당 매개변수의 값을 수정합니다.

    설치에 필요한 도구


    Minimal 설치는 다음 단계에 필요한 도구가 없습니다.
    단독으로 설치할 수 있지만 Development tools를 설치하면 문제가 없기 때문에 이렇게 합니다.
    yum groupinstall 'Development tools'
    

    일반 사용자 추가


    사용자 추가


    원하는 일반 사용자를 만듭니다.
    useradd hoge
    passwd hoge
    

    sudo 권한 부여


    일반 사용자가 설정할 수 있도록 추가된 사용자에게sudo 가능한 권한을 부여합니다.
    우선, 휠 그룹에 대한 sudo 허가를 사용합니다.
    visudo
    
    에 설명된 매개변수 값 수정
    -# %wheel        ALL=(ALL)       ALL
    + %wheel        ALL=(ALL)       ALL
    
    wheel과 관련된 줄을 주석합니다.
    완료되면 이번에는 sudo 권한을 주고 싶은 사용자를 wheel 그룹에 가입시킵니다.
    gpasswd -a hoge wheel
    
    적절한 명령 sudo를 사용할 수 있는지 확인하십시오.만약 설정이 정확하지만 sudo를 진행할 수 없다면, 한 번 로그아웃하고 다시 로그인하십시오.

    SSH 로그인 설정(인증서 로그인만 허용)


    CentOS6.5는 Minial 설치에서도 ssh를 허용하지만 암호 로그인과 루트 로그인을 허용하는 상태이기 때문에 인증서의 ssh 로그인만 허용합니다.
    키 생성
    로컬 환경이 Mac임을 전제로 합니다.
    홈 디렉터리에 있습니다.ssh를 만들고 키를 생성합니다.
    mkdir ~/.ssh
    chmod 700 .ssh
    cd .ssh
    keygen -t rsa
    
    표준 설정에 따라 Enter를 누르면 되죠.암호 구문은 공백으로 설정할 수 있습니다.
    설정이 완료되면ssh에서
  • id_개인 키
  • id_rsa.공통 키
  • 에서 설명한 대로 해당 매개변수의 값을 수정합니다.여기서 공개 키를 서버에 전달합니다.
    전송하기 전에 두 키에 대한 정확한 권한을 설정하십시오.
    chmod 600 ~/.ssh/*
    
    키를 저장할 폴더와 파일에 대한 올바른 권한이 설정되지 않으면 연결 중 오류가 발생합니다.
    키 전송
    전송하기 전에 서버에 저장 대상을 만들고 권한을 설정합니다.
    mkdir ~/.ssh
    chmod 700 .ssh
    
    ssh를 사용할 수 있는 상태이기 때문에 scp로 서버에 키를 전달합니다.
    scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys
    
    사용자 이름과 IP(서버 이름)를 적절히 변경하십시오.
    전송이 완료되면 로그인 테스트를 진행하세요.동적 입력 프롬프트에서 클릭
    ssh 192.168.0.100
    
    이 효과를 얻을 수 있습니다.
    포트 이름, 키 위치 (이름), 사용자 이름이 다른 경우
    ssh -p 6666 -i ~/.ssh/hoge_id_rsa [email protected]
    
    하계.
    키 이외의 로그인 금지
    sshd 설정을 변경합니다. 키를 제외하고 루트 로그인을 금지합니다.
    이를 위해,/etc/ssh/sshd_프로필을 편집합니다.변경 내용은 다음과 같습니다.
  • PasswordAuthentication no
  • PermitRootlogin no
  • 느낌Port도 필요에 따라 변경할 수 있습니다.
    변경한 후 sshd를 다시 시작합니다.
    service sshd restart
    
    ssh[email protected] 등, 거절당했는지 확인하세요.

    기본 설정 2


    기본 설정 2에서 Firewall의 iptables로 설정하고 싶습니다.
    또한 그 테스트를 위해 httpd(Apache)만 설치해 보십시오.

    iptables 사용 / 사용 안 함


    문제를 나눌 때, 때로는 방화벽을 잠시 닫고 싶을 때가 있다.이런 상황에서
    service iptables stop
    
    이 효과를 얻을 수 있습니다.영구 종료 시
    chkconfig iptables off
    
    의 양곡 탄젠트 값입니다.

    설정 내용 확인


    설정 내용은/etc/sysconfig/iptables만 보면 됩니다.
    iptables -L -v --line-number
    
    이것은 내가 좋아하는 것이다.
  • -L이 표시됩니다.
  • --line-number는 행 번호를 표시합니다.
  • -v 인터페이스 등도 표시하고 싶다.
  • 초기 상태에서는 다음과 같습니다.
    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    1       35  3092 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED
    2        0     0 ACCEPT     icmp --  any    any     anywhere             anywhere
    3        0     0 ACCEPT     all  --  lo     any     anywhere             anywhere
    4        0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            state NEW tcp dpt:ssh
    5       66 13068 REJECT     all  --  any    any     anywhere             anywhere            reject-with icmp-host-prohibited
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    1        0     0 REJECT     all  --  any    any     anywhere             anywhere            reject-with icmp-host-prohibited
    
    Chain OUTPUT (policy ACCEPT 20 packets, 2680 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    
    일반적으로 웹 서버를 세우는 등 외부로부터의 접근을 제어하려는 경우 INPUT Chain만 신경 쓰면 된다.

    규칙 추가(80번 포트 허용)


    그럼, 외부 접근을 허용하기 위해 httpd를 설치하고 싶습니다.

    httpd 설치(및 시작, 지속)


    노선을 통해 다음과 같은 조작을 진행하다.
    yum install httpd
    service httpd start
    chkconfig httpd on
    
    http//hostname or ip/
    에서 기술한 장면은 다음과 같은 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 부피를 분석하도록 한다.

    iptables 설정


    나는 줄곧/etc/sysconfig/iptables를 직접 편집해서 이곳에서 명령을 사용해 보았다.
    iptables -I INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
    
    뜻은
  • -I는 최상위, -A는 끝까지.
  • 표준에서 INPUT chain의 끝에 모든 거부가 부여되므로 추가하지 않으면 적용되지 않습니다.
  • -m state가 --state NEW를 사용하기 위해 state 모듈을 읽고 있습니다.
  • - state NEW가 새 연결을 판단합니다.
  • iptable에서 우선순위가 높을수록위에서 일치하는 물건이 적용됩니다.

    컨텐츠 저장 및 재시작

    service iptables save
    service iptables restart
    
    아파치 화면이 보이는지 확인합니다.

    규칙 삭제


    번호로 진행하는 것이 가장 빠르다.(삭제 전에 --line-number로 번호를 확인합니다.
    그리고 iptables-D로 지정합니다.
    iptables -D INPUT 1
    

    ySQL 허용


    복사할 때도 MySQL 포트를 열어야 합니다.이런 상황에서
    iptables -I INPUT -m state --state NEW -p tcp --dport 3306 -j ACCEPT
    
    나타내다
    복사할 때 -s, 원본 연결만 허용하는 것이 좋습니다.
    iptables -I INPUT -s 192.168.0.100 -m state --state NEW -p tcp --dport 3306 -j ACCEPT
    

    모든 규칙 재설정

    iptables -F
    
    에서 설명한 대로 해당 매개변수의 값을 수정합니다.

    서버 설치


    Apache


    설치


    이미 설명했습니다.
    yum install httpd
    service start http
    chkconfig httpd on
    
    그뿐이야.

    프로비저닝


    /etc/httpd/conf/http.conf 끝도 없이 했어요.
  • Indexes의 OFF
  • .htaccess 허용
  • 이렇게 하면 이후의 번거로움이 비교적 적겠지.
    설정을 반영하기 위해 httpd를 다시 시작하십시오.

    PHP


    설치


    표준 PHP5.3.3이 가능하다면
    yum install php php-devel php-mysql php-mbstring php-gd
    
    이런 느낌이었으면 좋겠어요.나중에 좋아하세요.

    프로비저닝


    /etc/php.ini의 설정으로.
  • date.timezone=Asia/Tokyo
  • display_errors=On
  • 이렇게 하는 것이 좋겠다.설정을 변경한 후 httpd를 다시 시작하는 것을 잊지 마십시오.

    MySQL


    CentOS6.x 시스템에서 MySQL5.1x계(CentOS7을 보면 MariaDB5.5.x계인 것 같습니다.

    설치

    yum install mysql-server
    service start mysqld
    chkconfig mysqld on
    
    하계.유틸리티와 클라이언트도 있지만 어쨌든 서버만 있습니다.

    프로비저닝


    보통 제가 하고 싶은 DB의 기본 설정.
  • 문자 코드를 UTF-8로 설정합니다.
  • 표준 DB는 InnoDB입니다.
  • 각 DB에 대한 파일을 만듭니다.
  • 근처에 있고 PHP 응용 프로그램의 부호를 방지하기 위해
  • skip-character-set-client-handshake
  • 추가
  • [client]에 default-character-set=utf8
  • 추가
    목록 상자에서 이 형식은 항목'없음'에 해당합니다.
    [mysqld]
    
    +character-set-server=utf8
    +default-storage-engine=InnoDB
    +innodb_file_per_table
    +skip-character-set-client-handshake
    
    +[client]
    +default-character-set=utf8
    
    5.5.3부터 [mysqld]에서 default-character-set=utf8을 사용할 수 없을 것 같습니다.
    반면x계도character-set-server=utf8을 사용할 수 있습니다.
    필요에 따라
    [mysqld]
    server-id=101
    log-bin=mysql-bin
    set-variable=expire_logs_days=3
    
    [mysql]
    default-character-set=utf8
    
    [mysqldump]
    default-character-set=utf8
    
    버려진 함수에 대한 지원이 부족합니다.

    좋은 웹페이지 즐겨찾기