데이터베이스를 이용한 웹 서버의 표준 구성이라고 할 수 있는 APM(Apache + PHP + MySQL)을 설치해본다. 웹을 이용하여 MySQL을 이용할 수 있는 툴인 phpMyAdmin 도 설치하도록 한다.
여기서 무엇보다 중요한 것은 설치 순서다. Apache, MySQL, PHP, phpMyAdmin 순서대로 설치한다.
한 가지 중요한 것은 서버 설치나 DB 설치중에 입력하는 암호는 반드시 기억해 두어야 한다. 그래야만 서버 프로그램을 실행하거나 데이터 베이스에 접근할 때 제대로 실행할 수 있다. 아래 설치시에는 모든 패스워드를 root 로 하였다.
먼저 apt-get 을 업데이트 해준다. (미러사이트를 최신버전으로 업데이트를 하기 위함이다.)
1 2 | $sudo apt-get update $sudo apt-get upgrade | cs |
업데이트와 업그레이드가 완료되었다.
1) Apache 웹 서버 설치
apt-get 을 이용해 Apache 를 간단히 설치할 수 있다.
1 | $sudo apt-get install apache2 | cs |
디스크 스페이스를 사용하겠다는 물음에 ‘Y’ 를 선택하고 Enter 키를 누른다. 설치가 계속 진행된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | pi@raspberrypi ~ $ sudo apt-get install apache2 Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap ssl-cert Suggested packages: apache2-doc apache2-suexec apache2-suexec-custom openssl-blacklist The following NEW packages will be installed: apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap ssl-cert 0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded. Need to get 1,360 kB of archives. After this operation, 4,936 kB of additional disk space will be used. Do you want to continue [Y/n]? | cs |
pi유저로 원할한 작업을 위해 “pi” 유저가 웹 서버의 문서 폴더인 “/var/www” 폴더 및 파일 등의 소유 권한을 갖도록 소유권 설정을 한다.
$sudo chown pi -R /var/www
라즈베리 파이가 다음 기동할 때부터 apache2 를 자동적으로 기동하도록 설정한다.
$sudo update-rc.d apache2 defaults
2) MySQL 설치
아래와 같은 명령어로 설치한다.
$sudo apt-get install mysql-server mysql-client libmysqlclient-dev
설치를 시작하면 99.3M의 디스크가 필요하다고 하는데 ‘Y’를 누르고 계속 진행하자.
$ sudo apt-get install mysql-server mysql-client libmysqlclient-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
heirloom-mailx libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16 libmysqlclient18
mysql-client-5.5 mysql-common mysql-server-5.5 mysql-server-core-5.5
Suggested packages:
exim4 mail-transport-agent libipc-sharedcache-perl libterm-readkey-perl tinyca
Recommended packages:
mailx
The following NEW packages will be installed:
heirloom-mailx libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient-dev libmysqlclient16
libmysqlclient18 mysql-client mysql-client-5.5 mysql-common mysql-server mysql-server-5.5 mysql-server-core-5.5
0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.6 MB of archives.
After this operation, 99.4 MB of additional disk space will be used.
Do you want to continue [Y/n]?
진행이 되면 Package configuration 화면이 나온다. 두 번 정도 패스워드를 입력하는 화면에서 패스워드를 입력하고 잘 기억한다. Root 유저에 대한 암호를 여기서는 root 로 암호를 입력한다.
외부에서도 MySQL에 접속할 수 있도록 다음의 명령어를 이용하여 “my.conf” 파일을 열고, 다음의 항목과 같이 코멘트 아웃(앞에 #을 입력한다)하여 비활성화 시킨다.
$sudo nano /etc/mysql/my.cnf 문서를 편집기로 연다
약 60 라인 근처의
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
위 문장에서 bind-address 문장의 앞에 #을 추가한다.
#bind-address = 127.0.0.1
Ctrl-x (컨트롤 키 ctrl 키와 x 키를 동시에 누르는 기능)를 눌러 저장하겠냐는 물음에 y 를 누르고, 파일 이름은 동일하니 enter 키를 누르고 빠져나온다.
여기서 아래 명령어를 입력하여 잘 설치되었는지 버전을 확인해보자
pi@raspberrypi:~/test $ mysql --version
mysql Ver 14.14 Distrib 5.5.54, for debian-linux-gnu (armv7l) using readline 6.3
3)PHP 설치
$sudo apt-get install php5
설치시 메모리 공간이 필요하다고 메시지가 나오면 y를 누르고 설치를 계속한다.
$ sudo apt-get install php5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
apache2-mpm-prefork libapache2-mod-php5 libonig2 libqdbm14 lsof php5-cli php5-common
Suggested packages:
php-pear
The following packages will be REMOVED:
apache2-mpm-worker
The following NEW packages will be installed:
apache2-mpm-prefork libapache2-mod-php5 libonig2 libqdbm14 lsof php5 php5-cli php5-common
0 upgraded, 8 newly installed, 1 to remove and 0 not upgraded.
Need to get 6,136 kB of archives.
After this operation, 17.5 MB of additional disk space will be used.
Do you want to continue [Y/n]?
4)phpMyAdmin 설치
설치할 때 웹서버 인증할꺼 물어보는데 아래와 같은 화면에서 디폴트로 apache2 를 선택하도록 한다. 선택 후 Enter를 입력하여 다음 단계로 넘어간다.
$sudo apt-get install phpmyadmin
실행을 하게 되면 중간에 메모리 허용을 물어오게 된다. Y 를 누르고 설치를 진행한다.
$ sudo apt-get install phpmyadmin
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
apache2-mpm-prefork dbconfig-common libapache2-mod-php5 libmcrypt4 libonig2 libqdbm14 lsof php5-cli php5-common
php5-gd php5-mcrypt php5-mysql
Suggested packages:
php-pear libmcrypt-dev mcrypt
The following packages will be REMOVED:
apache2-mpm-worker
The following NEW packages will be installed:
apache2-mpm-prefork dbconfig-common libapache2-mod-php5 libmcrypt4 libonig2 libqdbm14 lsof php5-cli php5-common
php5-gd php5-mcrypt php5-mysql phpmyadmin
0 upgraded, 13 newly installed, 1 to remove and 0 not upgraded.
Need to get 11.7 MB/12.3 MB of archives.
After this operation, 34.9 MB of additional disk space will be used.
Do you want to continue [Y/n]?
설치하는 중간에 패스워드와 설정을 물어오는데 디폴트로 설정하면 되고 비밀번호도 동일하게 입력해주면 된다.
여기서는 root 로 설정한다. 사용자 비번을 3번 정도 물어보는데 입력하면 된다.
여기까지 수행하면 기본적으로 모두 설치가 된것이다. DB를 만들고 데이터를 저장하는 것은 뒷장의 실습에서 수행할 것이다.
phpinfo 파일 만들기
$sudo nano /var/www/phpinfo.php
------------------------------------
<?
phpinfo();
?>
-------------------------------------
다음으로 apache 설정 추가하기
$sudo nano /etc/apache2/apache2.conf
마지막줄에 넣어주세요.
----------------------------------------
Include /etc/phpmyadmin/apache.conf
----------------------------------------
그리고 아파치를 재가동 한다.
$sudo service apache2 restart
webserver 접속하기
이제 웹으로 접속해 본다.
자신의 pi의 ip에다가 /phpmyadmin을 추가해 주세요.
저같은 경우 192.168.0.218/phpmyadmin 으로 접속해 아래와 같은 화면이 나오면 잘 된것이다.
그럼 이렇게 로그인 페이지가 나옵니다.
id :바꾸지 않았다면 root
pw : 이건 아까 넣어준 pw
이 상태에서 웹브라우져에서 라즈베리의 주소를 아래와 같이 입력하여 화면을 확인하고, 안뜰경우 아래에 해결방법을 설명한다.
참고로 라즈베리파이 APM 설치후 phpmyadmin 안뜰때 해결 방법을 알려주면 다른 교재나 책에 나와 있는대로 잘 설치를 하였는데 http://192.168.1.242/phpmyadmin/ 해도 화면이 안나오는 경우가 있다. 이럴경우에는 아래 명령어로 아파치 설정 파일을 열어서 편집하도록 한다.
$sudo nano /etc/apache2/apache2.conf
그래서 적당한 곳에 아래 설정을 추가한다. (맨 아래 넣는다.)
# Enable PhpMyAdmin
Include /etc/phpmyadmin/apache.conf
이렇게 하고 나면 당연히 아파치를 재시작해야 한다.
sudo /etc/init.d/apache2 restart
이후 접속이 잘 될것이다.
(참고 주소 : http://sonhc.tistory.com/435 , http://mytory.net/archives/1711, http://answerofgod.tistory.com/entry/Raspberry-Pi-%EC%97%90-APM-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0apache-php-mysql)
또 하나 확인할 것은 웹서버가 실행되어 홈페이지가 잘나오나 확인
http://192.168.1.218/ 접속해서 아래와 같은 화면 확인
http://192.168.1.218/phpinfo.php 로 접속하여 아래와 같은 화면 확인
여기서 아래 화면이 백지로 나올경우가 있다.
그럴때는 아래처럼 php.ini 파일을 찾아서
pi@raspberrypi:~ $ which php
/usr/bin/php
pi@raspberrypi:~ $ php --ini | grep php.ini
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
pi@raspberrypi:~ $
아니면 phpinfo.php 파일을
<?php
phpinfo();
?>
수고 하셨습니다. 즐 개발~~
'개발자 > Raspberry Pi' 카테고리의 다른 글
| 라즈베리파이 개발환경을 3가지 방법으로 구현하기 (3) | 2015.07.24 |
|---|---|
| Making Raspberry Pi Web Controls (0) | 2015.07.23 |
| OpenCV 기반의 안면인식 1 - V4L2(Video4Linux2) 설치부터 (0) | 2015.07.23 |
| 라즈베리 파이 WiFi 드롭아웃 방지, 인터넷 안끊기게 하는 방법 (0) | 2015.05.27 |
| 리눅스에서 프로세스 중단 kill 하는 방법 (0) | 2015.04.29 |
| 타임랩스 기능 - Python 파일 자동실행하게 만들기 파이선 파일 자동실행되게.... (9) | 2015.04.24 |
| 부팅시 자동으로 실행하도록 rc.local 파일 수정 (1) | 2015.04.24 |
| 오픈 소스 하드웨어 (OSHW)의 원칙 1.0 (0) | 2015.04.06 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
캐어랩