게으른 베짱이의 기억 상자

CentOS 6.7에서 7 로 업그레이드 


모든 명령어는 root 권한에서 하는 것이 편하다. root 가 아닌 경우에는 모든 명령어 앞에 sudo를 입력하도록 하자


참고 : https://www.lesstif.com/pages/viewpage.action?pageId=23757317


Nginx  설치


$ yum install epee-release

$ yum install nginx

$ systemctl enable nginx //서비스 등록

$ systemctl start nginx // nginx 시작


http://server_domain_or_IP// 로 확인 가능


안된다면 


포트 확인 


$ vi /etc/sysconfig/iptables


다음 추가


-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT



Nginx Document root 기본 위치는 /usr/share/nginx/html

Nginx Config file 위치 vi /etc/nginx/conf.d/default.conf


MariaDB  설치


$ yum install mariadb-server mariadb mariadb-libs perl-DBD-MySQL

$ systemctl start mariadb

$ mysql_secure_installation

$ systemctl enable mariadb //서비스 등록


* 참고 

mariaDB 설치 시, root 비번 및 접속 권한 등을 물어본다. 잘 보고 y/n을 원하는 대로 누르도록 하자.




PHP 설치


$ yum install php php-mysql php-fpm


$ vi /etc/php-fpm.d/www.conf 


아래 항목 변경


listen =127.0.0.1:9000 => listen = /var/run/php-fpm/php-fpm.sock

listen.owner = nobody

listen.group = nobody

user = nginx //웹서버가 apache이면 변경 안해도 됨

group = nginx //웹서버가 apache이면 변경 안해도 됨


$ vi /etc/nginx/conf.d/default.conf


아래 추가 

server {

    listen       80;

    server_name  server_domain_or_IP;


    # note that these lines are originally from the "location /" block

    root   /usr/share/nginx/html;

    index index.php index.html index.htm;


    location / {

        try_files $uri $uri/ =404;

    }

    error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;

    location = /50x.html {

        root /usr/share/nginx/html;

    }


    location ~ \.php$ {

        try_files $uri =404;

        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include fastcgi_params;

    }

}


$ systemctl start php-fpm

$ systemctl enable php-fpm //서비스 등록



그 외에 설치


  • redis 

$ yum install redis

$ systemctl enable redis.service //서비스 등록

$ systemctl start redis.service

$ systemctl status redis.service


//  동작 확인

$ redis-cli ping

PONG


redis server의 중요 설정 파일

1. /etc/redis.conf

2. /etc/redis-sentinel.conf



  • openssl

$ yum install openssl


  • sendmail

$ yum install sendmail sendmail-cf m4



  • 포트 열기 및 변경하기

$ vi /etc/sysconfig/iptables


아래 추가 


-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT //FTP 포트

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT // DB 포트 


$systemctl restart iptables



보안을 위해서는 기본 포트를 바꾸는 것이 좋다

포트 추가,변경,삭제 후에는 방화벽을 재시작해야 한다


ex ) ssh 포트  22에서 2222로 변경하기


$ vi /etc/ssh/sshd_config 

아래와 같이 수정

 #Port 22 => Port 2222


$ systemctl restart sshd.service


$ vi /etc/sysconfig/iptables


아래 추가 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT


$systemctl restart iptables


테스트

terminal  프로그램을 새로 열어 새로 접속해 본다. 접속이 안될 수 있음으로, 현재 접속 창은 열어두도록하자



  • for php developer

composer 


공식 사이트 : https://getcomposer.org/doc/00-intro.md

$ cd ~

$ curl -sS https://getcomposer.org/installer | php

$ mv composer.phar /usr/local/bin/composer


$ composer -v //설치 확인

  ______

  / ____/___  ____ ___  ____  ____  ________  _____

 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/

/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /

\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/

                    /_/

라고 나옴



API 문서 만들기 Open Source



공식사이트  : http://apidocjs.com/

DEMO : http://apidocjs.com/example/


서버 요구사항 : npm, node js 설치 되어있어야 함.



    • 문서 생성 순서 
    1. API문서 양식을  원하는 언어로 양식을 만들어 놓는다. (여기서는 .js) 로 생서
    2. 문서 생성 명령어 cmd 에서  실행

ex ) $ apidoc -i myapp/ -o apidoc/ 

OR 

$ apidoc -i myapp/ -o apidoc/ -t mytemplate/


설명 : 

myapp  -> 내가 작성한 api 양식 문서가 담겨있는 폴더

apidoc  -> 생성되는 api 문서가 저장 될 폴더 (실제로 문서가 보여지는 곳, 호스팅으로 연결할 때에는 가상호스트의 document root 가 이곳이어야 한다)

mytemplate -> 생성되는 문서의 템플릿 ( 디자인 , node_modules/apidoc/template 폴더를 참고 )





VirtualBox 설치

1. VirtualBox 설치

- https://www.virtualbox.org/ 로 접속하여 윈도우용 VirtualBox를 다운받아서 설치

2. Vagrant 설치

- http://downloads.vagrantup.com/ 로 접속하여 윈도우용 Vagrant 최신버전을 다운받아서 설치

- 설치 후 꼭 재부팅

3. Vagrant를 이용한 가상머신 설치

      • 시작 - 실행 - cmd로 커맨드창을 실행 (또는 git bash - git bash는 윈도우에서 command를 사용하기 편하다)
      • 원하는 디렉토리(예 : d:\dev )로 이동하고 나서 Vagrant Box를 초기화 하고 실행 

- path에 한글이 포함되어있으면 인식못하는 경우가 발생됨으로 한글 미포함이 좋다. d드라이브가 없을 때는 c에 폴더 생성

$ d:

$ cd d

$ mkdir dev

$ cd dev

$ vagrant init VirtualBox https://dl.dropbox.com/u/14741389/vagrantboxes/lucid64-lamp.box

: vagrant init [이미지명] 이미지박스 주소

해당주소는 Ubuntu 10.04.4 LTS Lucid x86_64 (Apache 2.2.14, PHP 5.3.2, MySQL 5.1.66)

Or

1. vagrant box add {title} {url}

2. vagrant init {title}

참고 : http://www.vagrantbox.es/ - 목록에서 원하는 box를 찾거나, 구글에서 원하는 박스를 찾아서 사용하면 된다.

$ vagrant up


위 과정을 하고 나면 virtualbox에 가상머신이 추가되고 실행까지 된다.


vagrant 접속

vagrant가 설치된 folder에서 cmd를 통한 명령어

$ ssh vagrant@127.0.0.1 –p 2222

$ pw : vagrant

OR 

$ vagrant ssh

그 외엔 설치 OS의 서버를 다루 듯이 사용


기타

    • vagrant 내에서 sync 폴더 찾아가기

$ cd /vagrant/


    • 도메인을 지정하고 싶다면

1. C:\Windows\System32\drivers\etc\hosts 파일 수정 

ex :  127.0.0.1 mynewdomain.com

- 윈도우 재부팅 후 적용된다.

- host파일이 수정되지 않을때는, 바탕화면으로 복사 -> 호스트 추가 -> etc폴더에 붙여넣기를 한다

    • port 설정

1. Vagrantfile 파일  수정

config에  열고 싶은 포트 추가

ex ) 

config.vm.network "forwarded_port", guest: 80, host: 80

config.vm.network "forwarded_port", guest: 3306, host: 3306

vagrant 설정과 별개로, 서버의 포트도 열어줘야한다. (서버 OS마다 방법이 다름 -> 구글 검색하시길..)


    • port를 바꾸고 싶다면

1. Vagrantfile 파일  수정

- # config.vm.network "forwarded_port", guest: 80, host: 8080 -> #제거

2. cmd창에서 vagrant 설정을 다시 로드

vagrant reload

127.0.0.1:8000으로 접속 할 수 있다.

윈도우 기본 웹 서버와 충돌이 일어날 수 있음으로 윈도의 IIS설정을 확인하도록한다.


추가 참고 : http://wiki.opencloudengine.org/pages/viewpage.action?pageId=2852295