DigitalOcean Ubuntu 14.04 서버 세팅
주말을 맞아 또 다시 삽질을 해봤다. 기존에는 서버 세팅은 CentOS만을 사용해왔는데 Ubuntu로 서버를 세팅하는 것도 한번 해보고 싶다는 생각이 들어서 DigitalOcean 의 $10 plan을 신청하고 오후에 3시간여남짓 서버 세팅을 했다. 시간이 생각보다 오래 걸린 것은 우분투 서버는 처음이었기 때문이다. 실제로 한번 해보니까 그렇게 어렵지는 않은 것 같다. 모든 서버는 소스 컴파일이 아닌 패키지 설치로 진행했다. 설치한 버전은 nginx 1.8, mariadb-10.1, php7.0 이다.
0 타임존 변경
# mv /etc/localtime /etc/localtime_old
# cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime
1 패키지 설치를 위한 repository 설정
# add-apt-repository ppa:nginx/stable
# apt-get install software-properties-common
# apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
# add-apt-repository 'deb [arch=amd64,i386] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu trusty main'
# add-apt-repository ppa:ondrej/php
# apt-get update
# apt-get upgrade
mariadb 설정은 DigitalOcean 서버 설정 때 SF 지역을 선택해서 위와 같이 했다. https://downloads.mariadb.org/mariadb/repositories/#mirror=digitalocean-sfo 에서 다른 지역을 선택할 수 있다.
2 nginx 설치
# apt-get install nginx
3 mariadb 설치
# apt-get install mariadb-server
4 php7.0 설치
# apt-get install php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-ldap php7.0-json php7.0-mysql php7.0-opcache
nginx를 사용하기 때문에 fpm 환경 구축을 위해 위와 같이 패키지를 설치했다. php7.0의 추가 패키지는 아래와 같다.
# apt-cache search php7.0
php7.0-common - Common files for packages built from the PHP source
libapache2-mod-php7.0 - server-side, HTML-embedded scripting language (Apache 2 module)
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
libphp7.0-embed - HTML-embedded scripting language (Embedded SAPI library)
php7.0-dev - Files for PHP7.0 module development
php7.0-dbg - Debug symbols for PHP7.0
php7.0-curl - CURL module for PHP
php7.0-gd - GD module for PHP
php7.0-imap - IMAP module for PHP
php7.0-intl - Internationalisation module for PHP
php7.0-ldap - LDAP module for PHP
php7.0-pgsql - PostgreSQL module for PHP
php7.0-pspell - pspell module for PHP
php7.0-recode - recode module for PHP
php7.0-snmp - SNMP module for PHP
php7.0-tidy - tidy module for PHP
php7.0 - server-side, HTML-embedded scripting language (metapackage)
php7.0-json - JSON module for PHP
php-all-dev - package depending on all supported PHP development packages
php7.0-sybase - Sybase module for PHP
php7.0-modules-source - PHP 7.0 modules source package
php7.0-sqlite3 - SQLite3 module for PHP
php7.0-mysql - MySQL module for PHP
php7.0-opcache - Zend OpCache module for PHP
exif, mcrypt 등의 모듈의 기본 포함되어 있다.
5 방화벽 설정
# ufw enable
# ufw allow ssh
# ufw allow http
ssh 등의 서비스명은 /etc/services 에서 확인할 수 있다.
이상으로 DigitalOcean Ubuntu 14.04 가상서버를 구축했다. 실제 사용을 하기 위해서는 nginx.conf, my.cnf, php-fpm.conf 등의 설정 변경이 필요하다.