Transcript 05 웹 서버 활용
웹 서버 활용
RaspberryPi
Sejin Oh
웹 서버 활용
Raspberry Pi
2
웹 서버 활용
워드프레스 설치과정
워드프레스(WordPress)
세계 최대의 오픈 소스 저작물 관리 시스템
홈페이지를 만들고 관리할 수 있는 솔루션
무료이며 PC, 스마트폰, 태블릿 등 다양한 기기에 최적화
워드프레스 설치에 필요사항
웹 서버
• 예제 : 엔진엑스 웹서버 사용
php
• 예제 : php-fpm, php-gd, php-apc 사용
DBMS(DataBase Management System)
• 예제 : MySQL 사용
Raspberry Pi
3
웹 서버 활용
엔진엑스 웹서버 구축
엔진엑스 설치
데비안 계열인 라즈비안의 경우 apt-get install 명령어를 사용하여
패키지를 설치한다.
$ sudo apt-get install nginx
엔진엑스 서비스 시작
$ sudo service nginx start
Raspberry Pi
4
웹 서버 활용
PHP설치
PHP 설치
엔진엑스(nginx)와 사용되는 PHP는 Apache2와 사용되는 php와 다
르다.
nginx와 사용되는 php는 FastCGI를 사용(부하가 높은 사이트에 효율
적임)
$ sudo apt-get install php5-fpm
nginx와 php 설정
$ sudo nano /etc/nginx/sites-available/default
#listen 80; ## listen for ipv4; this line is default and implied
주석 제거하여 아래와 같이 수정
listen 80; ## listen for ipv4; this line is default and implied
Raspberry Pi
5
웹 서버 활용
PHP설치
nginx와 php 설정
$ sudo nano /etc/nginx/sites-available/default
index index.html index.htm;
아래와 같이 수정
index index.php index.html index.htm;
Raspberry Pi
6
웹 서버 활용
PHP설치
nginx와 php 설정
$ sudo nano /etc/nginx/sites-available/default
#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;
#}
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;
Raspberry
Pi
}
7
주석제거 아래와
같이 수정
웹 서버 활용
PHP설치
nginx와 php 설정
$ sudo nano /etc/php5/fpm/php.ini
보안상 약점 수정
;cgi.fix_pathinfo=1
아래와 같이 수정
cgi.fix_pathinfo=0
서비스 재시작
$ sudo service php5-fpm restart
$ sudo service nginx restart
nginx 오류 시 해결법
$ sudo fuser –k 80/tcp
Raspberry Pi
8
웹 서버 활용
MySQL 설치
워드프레스 저장을
MySQL 설치
$ sudo apt-get
$ sudo apt-get
$ sudo apt-get
mysql 암호
위한 DBMS 설치
update
upgrade
install mysql-server --fix-missing
• 예시) raspberry 입력
Raspberry Pi
9
웹 서버 활용
MySQL 설치
MySQL 추가 패키지 설치
php를 통해서 MySQL 서버 접속을 가능하게 함
mysql-client를 통해 MySQL 서버에 접속을 가능하게 함
$ sudo apt-get install mysql-client php5-mysql
Raspberry Pi
10
웹 서버 활용
MySQL의 DB와 유저 생성
워드프레스를 위한 데이터베이스와 MySQL 유저를 생성
접속
• $ mysql –uroot –hlocalhost –p
• 접속 명령 실행 후 암호 입력(raspberry)
Raspberry Pi
11
웹 서버 활용
MySQL의 DB와 유저 생성
워드프레스를 위한 DB생성
MySQL의 Create 명령으로 DB생성
mysql> create database wpdb;
MySQL 사용자 생성
mysql> create user ‘wpuser’@’localhost’ identified by ‘raspberry’;
Raspberry Pi
12
웹 서버 활용
MySQL의 DB와 유저 생성
생성된 계정의 권한 부여
생성한 계정(wpuser)이 생성한 DB(wpdb)에 접근 가능하도록 권한
부여
mysql> grant all privileges on wpdb.* to ‘wpuser’@’localhost’;
권한 부여관련하여 시스템에 적용
mysql> flush privileges;
Raspberry Pi
13
웹 서버 활용
MySQL의 DB와 유저 생성
생성된 계정으로 mysql 접속
$ mysql –uwpuser –hlocalhost wpdb –p
mysql 접속 종료
• mysql> exit
Raspberry Pi
14
웹 서버 활용
워드프레스 설치
워드프레스 설치경로 이동
웹 문서 루트 폴더로 이동
• $ cd /usr/share/nginx/www
• 웹 문서 루트 폴더 파일들 삭제하여 빈 공간으로 설정
– $ sudo rm –rf *
– 반드시 /usr/share/nginx/www에서 실행할 것
wget으로 워드프레스 다운로드
• sudo wget http://wordpress.org/latest.tar.gz
Raspberry Pi
15
웹 서버 활용
워드프레스 설치
다운로드한 워드프레스 파일 압축해제
$ sudo tar xzvf latest.tar.gz
Raspberry Pi
16
웹 서버 활용
워드프레스를 위한 추가 패키지 설치
워드프레스를 위한
$ sudo apt-get
$ sudo apt-get
$ sudo apt-get
Raspberry Pi
추가 패키지 설치
update && sudo apt-get upgrade
install php5-curl php5-gd libssh2-php
install php-apc
17
웹 서버 활용
워드프레스 설정
워드프레스설정
워드프레스 설정하기 위해 설정파일 복사
• $ cd /usr/share/nginx/www/wordpress
• $ sudo cp wp-config-sample.php wp-config.php
wp-config.php파일을 나노편집기로 아래와 같이 수정
• $ sudo nano wp-config.php
define(‘DB_NAME’, ‘database_name_here’);
define(‘DB_USER’, ‘username_here’);
define(‘DB_PASSWORD’, ‘password_here’);
아래와 같이 수정
define(‘DB_NAME’, ‘wpdb’);
define(‘DB_USER’, ‘wpuser’);
define(‘DB_PASSWORD’, ‘raspberry’);
Raspberry Pi
18
웹 서버 활용
워드프레스 기본 설정
워드프레스 기본 설정을 위한 웹 브라우저로 접속
http://ip주소/wordpress
사이트 이름, 유저이름,
패스워드, 이메일 입력 후 설치
Raspberry Pi
19
웹 서버 활용
워드프레스 기본 설정
워드프레스 웹 브라우저로 접속
워드프레스 기본 설정에서 생성한 유저이름과 패스 입력 후 로그인
Raspberry Pi
20
FTP 서버 구축
vsftp 설치
vsftp 설치
$ sudo apt-get install vsftpd
Raspberry Pi
21
FTP 서버 구축
vsftp 설치
vsftpd.conf 파일 설정하기
$ sudo nano /etc/vsftpd.conf
아래와 같이 주석을 해제
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
passwd_chroot_enable=YES
local_root=/home/
/etc/vsftpd.chroo.list 파일 생성
sudo nano /etc/vsftpd.chroot_list
pi입력 후 저장 및 종료
Raspberry Pi
22
FTP 서버 구축
ftp접속
vsftpd 서버 재시작
$ sudo service vsftpd restart
ftp접속 SW로 접속하기
Raspberry Pi
23
Thank you
Raspberry Pi
24