데이터베이스를 이용한 웹 서버의 표준 구성이라고 할 수 있는 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 |
더욱 좋은 정보를 제공하겠습니다.~ ^^