본문 바로가기

Development/Servers

Ubuntu 1204 LTS Server 셋업

설치는 한글 환경만 선택하고 쭉 엔터 눌러서 완료. 단 외부 도메인이 연결되어 있어서 호스트네임 잡은거 외에는 거의 습관적 엔터로 진행.

쭉 설치하고 root 계정 활성화 하기 위해서 구글링 : )

# sudo passwd root

즉, 루트 패스워드를 세팅하면 루트로 로그인 가능하다. 테스트 서버를 우분투로 밀면서 아무래도 루트 계정 열어두는게 지금은 여러모로 편하니까... 업데이트 한방 돌려주고!

apt-get update
apt-get upgrade
apt-get dist-upgrade

아파치 대신 엔진엑스를 사용하기로 결정하고 대충 구상 후 돌아가고 있는 서비스 확인을 위해 리스트오픈파일 명령

# lsof -i

처음 세팅할 때 SSH 와 Mail 서버를 체크했더니 깔끔히 그 두개만 서비스 되고 있군.

사용자용 계정 추가 

# useradd -b /home -s /bin/bash -m -p 패스워드 사용자아이디
# ls /home

FTP 서비스를 위해서 vsftpd 설치

# apt-get install vsftpd
# vi /etc/vsftpd.conf  

NODEJS 설치.

# apt-get install python-software-properties
# add-apt-repository ppa:chris-lea/node.js
# apt-get update
# apt-get install nodejs npm

아 쉽네.

nginx 공식홈페이지 들어가서 보니 그냥 install 해도 될 것 같아서 해봄
http://nginxlibrary.com/ubuntu-latest-nginx/ 참고하여 최신버전으로 유지

# add-apt-repository ppa:nginx/stable
# # apt-get update
# apt-get install nginx
# /etc/init.d/nginx start
# ps -ef | grep nginx
# find / -name 'nginx.conf'
# vi /etc/nginx/nginx.conf

우선 아파치로 따지면 Virtual Host 기능을 위해 서버블록 구문 추가 후 리스타트

# vi
:set ai
:set ts=4
:set st=4


http {
       ##
       # Log Format
       ##
       log_format      main    '$remote_addr - $remote_user [$time_local]  $status '
                               '"$request" $body_bytes_sent "$http_referer" '
                               '"$http_user_agent" "$http_x_forwarded_for"';
       ##
       # Server Blocks
       ##
       index index.html;
       server {
               server_name ***.kr;
               #access_log     /home/***/***.kr.access.log main;
               root    /home/***/www;
       }
       server {
               server_name dev.***.kr;
               #access_log     /home/***/dev.***.kr.access.log main;
               root    /home/***/dev;
       }
       ##
       # Basic Settings
       ##


# /etc/init.d/nginx restart 

Git 클라이언트 설치

apt-get install git

PHP 관련 설치를 위해 어떤 패키지가 있는지 점검한 후 골라 설치해보자

apt-cache search php5

정말 많군...

# apt-get install php5-cgi php5-cli php-pear php5-fpm php5-xdebug php5-gd php5-mcrypt php5-suhosin php-doc phpunit phpunit-doc php5-mysql php5-memcache memcached

nginx 의 세팅을 변경해준다. 처음에 기록했던 내용은 지우고 원래 상태로 두고 /etc/nginx/sites-enabled/default 의 설정을 조작하도록 한다. php 를 사용할 준비를 마친 후 PHP 서비스용 서버블럭을 만든다.

server {
        server_name **.****.kr;
        #access_log     /home/****/**.****.access.log main;
        root    /home/****/**;
        index index.html index.htm index.php;

        location / {
                try_files $uri $uri/ @rewrites;
        }

        location @rewrites {
                rewrite ^ /index.php last;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        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;
        }
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
               deny all;
        }
}

설정을 마치고 엔진엑스 리스타트

/etc/init.d/nginx restart

phpinfo() 하나 만들어서 점검해본다. 필요한 모듈이 잘 올라왔는지도 확인해본다.

MySQL 설치

# apt-get install mysql-server mysql-client

추가로 mongo 와 redis 도 설치. 역시 apt-get 을 사용하여 설치 완료. 터미널 환경을 위한 screen 과 tmux 는 이미 설치되어 있군. nodejs 앱 띄워놓고 확인작업 하려면 필수로 사용해야할 터미널 도구.




'Development > Servers' 카테고리의 다른 글

zsh 사용해 봄  (0) 2012.11.30
윈도우에서 nodemon 사용시 팁  (0) 2012.09.20
VSFTP 와 PHP 의 localtime 문제  (0) 2012.09.19
cafe24 클라우드 호스팅 셋업  (0) 2012.05.22
*NIX 용 쉘 세팅을 위한  (0) 2011.11.20