들어가기 전에

내가 예전에 사용하던, 요피도 그랬지만 리눅스 기반의 PDA 라면 자동적으로 서버 기능을 포함하고 있다고 생각해도 무리는 아니다.
요피에다가는 APM 을 설치해서 위키를 설치했었다. 당연히 자우르스 역시 될 것으로 생각하고 있다. 여기서는 우리가 일반적으로 생각하는 리눅스에서 설치할 수 있고 또한 사용가능한 것들을 자우르스에서 구현해 볼 것이다.

자우르스는 기본적으로 inetd 를 통해서 몇가지 서버 기능(ex: telnet)을 가지고 있다. /etc/inetd.conf 파일을 통해서 알 수 있다. 이제 본격적으로 하나씩 만들어 보자!

SSH 서버

텔넷의 경우, 바로 root 로그인이 안되기 때문에 번거롭다. 또한 보안적으로도 텔넷이 취약하기 때문에 ssh 를 사용하기로 한다. 다행(?)스럽게도 .ipk 패키지로 제공하기 있기 때문에 손쉽게 설치할 수 있다.
내가 설치한 파일들은 아래와 같다.

  1. openssh-addon_3.6.1p1_arm.ipk
  2. openssh-client_3.6.1p1_arm.ipk
  3. openssh-server_3.6.1p1_arm.ipk

설치하고 나서, 재부팅을 시킨다. 그리고 ssh 로 접속해보자!

FTP 서버

자우르스에서 지원하는 FTP 서버 프로그램은 몇 안된다. 그 중에서 내가 설치한 것은 pure-ftpd 라는 프로그램이다. 설치한 파일은 다음과 같다.

  1. pure-ftpd_1.0.16-1_arm.ipk

설치하면, 다음과 같이 실행하면 된다.

#pure-ftpd &
#ftp localhost

부팅시에 자동으로 실행하게 설정해보자!!
일단 /etc/rc.d/rc.local 을 다음과 같이 추가한다.

/hdd2/usr/sbin/pure-ftpd &

또한 심볼릭 링크를 만들어줘야 한다. 자우르스는 기본적으로 런레벨 5 로 부팅이 되기 때문에, 아래와 같이 추가한다.

#cd /etc/rc.d/rc5.d/
#ln -s ../rc.local S81local

이제 재부팅 해보자!!

웹 서버

이미 예상은 했겠지만, 자우르스에서도 웹서버가 지원된다. 크로스 컴파일러가 있다면, 소스 파일을 받아서 컴파일할 수 있겠지만 기본적으로 ipk 패키지로 된 파일을 찾을 수 있다.
결과적으로 나는 php 를 연동해야 하기 때문에 apache 와 php 가 연동할 수 있는 패키지를 찾았다.
따로 아래의 사이트에서 ahache 와 php 되어 있는 파일을 찾았다.

http://www.choup.net/spip/accueil.php3?id_rubrique=12

참고로 나의 경우,

  • apache-1.3.27-php-4.2.3_0.1_arm.ipk

을 설치했다. 여기서 설치할 때 주의할 점이 필요하다. 바로 설치하게 되면, /home/www 디렉토리에 설치가 되는 데 용량문제로 제대로 설치가 안된다. 그래서 생각해낸 것이 바로 심볼릭 링크이다.
아래와 같이 수정을 해 준 다음에 설치하도록 한다.

#cd /home
#mkdir /hdd2/usr/local/apache
#ln -s /hdd2/usr/local/apache/ www

그리고 난 후에 설치한다. apachectl 파일을 아래와 같이 수정해주어야 한다.

# |||||||||||||||||||| START CONFIGURATION SECTION  ||||||||||||||||||||
# --------------------                              --------------------
#
# the path to your PID file
PIDFILE=/usr/local/apache/logs/httpd.pid          <--- 수정
#
# the path to your httpd binary, including options if necessary
HTTPD='/usr/local/apache/bin/httpd'               <--- 수정
#

이제 실제도 실행해보자!

#/home/www/bin/apachectl start

이번에는 php가 연동이 되는지 phpinfo() 를 써서 확인해보자!!

Moniwiki 설치하기

바로 앞에서 자우르스에 Apache + Php 를 설치했다. 여기에다가 모니위키를 설치해보도록 하겠다.
나의 경우, 위키의 자료실 기능도 사용하기 때문에 /hdd2 설치하기에는 무리가 있었다. 물론 웹서버는 hdd2 에 설치했지만 말이다.
그래서 심볼릭 링크를 이용해서, 비교적 용량이 충분한 /hdd3 에 설치했다.
우선 사전 작업이 필요하다.

#mkdir /hdd3/Documents/Wiki_Files
#cd /usr/local/apache/htdocs/
#ln -s /hdd3/Documents/Wiki_Files/ wiki

이제 모니위키 소스파일을 가져와서, 설치하면 된다. 설치방법 및 설정방법은 여기에서 언급하지 않는다.
관련 문서를 참조하기 바란다.

Mysql 설치하기

설치파일은 mysql_3.23.49-8.7_arm.ipk 이다. 나의 경우 쿼리문에 Random() 함수를 사용해야 했기 때문에 3.23.x 이상을 설치해야 했다.
설치하기전에 용량의 문제로 인해 심볼릭링크를 만들어 주어야 한다. 그냥 설치해도 상관없지만, 데이터베이스를 생성할 수록 /var/lib/mysql 에 디비 파일을 만들기 때문에 몇개 만들지 못한다. 이유는 /var/lib 가 /dev/mtdblock3 를 사용하기 때문이다.

#mkdir /hdd2/usr/local/mysql
#chown -R daemon /hdd2/usr/local/mysql/
#cd /var/lib/
#ln -s /hdd2/usr/local/mysql mysql

설치 중에 에러 창이 뜨지만 무시하고 설치한다.
설치했으면 약간의 설정이 필요하다.

#chown -R daemon /var/lib/mysql 
#mysql_install_db
#mysqlstart
#mysql

설치하면, root 및 호스트 정보가 빠져있기 때문에 지정해주어야 한다.
root 비밀번호를 지정해주자!

#/usr/local/mysql/bin/mysql mysql
mysql>update user set password=password('패스워드‘) where user="root";
mysql>update user set Host = 'localhost';
mysql>FLUSH privileges;
mysql>quit;

다시 접속해보자!

#mysql -p

만일 제대로 로그인이 안될때는 user 테이블을 확인해보라! 아래와 같아야 한다!

mysql> select * from user;
+-----------+------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+
| Host      | User | Password         | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv |
+-----------+------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+
| localhost | root | 73c9bbdc61ec2488 | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          |
+-----------+------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+
1 row in set (0.00 sec)

이것으로 끝이 아니다. 깔끔한 mysql 의 동작을 원한다면, 몇가지 설정이 부가적으로 필요하다. 우선 /etc/mysql/my.cnf 파일을 수정해야 한다.

[mysqld]
user            = daemon
pid-file        = /var/lib/mysql/mysqld.pid
socket          = /tmp/mysql.sock
port            = 3306
log             = /dev/null
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/english
skip-locking
set-variable    = key_buffer=16M
set-variable    = max_allowed_packet=1M
set-variable    = thread_stack=128K
skip-innodb    ### 이 줄 추가 ###

또한 부팅시 자동으로 시작되게 하기 위해서는 /etc/rc.d/init.d/mysql 파일을 수정해야 한다.

case "$1" in
  'start')
        # Start daemon
        echo -n "Starting MySQL database server: mysqld"
        /usr/bin/safe_mysqld > /dev/null 2>&1 &
        sleep 4     ### 4 로 수정한다 ###
        if test -f "$pid_file"; then
            echo "."
        else
            echo "...failed."
        fi
        ;;

이제 완벽한 실행을 보장한다!!

mysqladmin

mysql 의 디비 생성 및 테이블의 생성, 삭제, 수정을 웹 상에서 할 수 있는 프로그램이다. mysql + php 조합이기 때문에 플랫폼에 상관없이 사용이 가능하다. 정확한 프로그램 이름은 remote mysql manager 이다.
다운로드 가능한 주소는 http://sourceforge.net/project/showfiles.php?group_id=50738&package_id=44436&release_id=146482 이다.

설치후에 mysql 의 아이디와 비밀번호를 입력하면, 접속이 가능하다. 사용법이 비교적 간단하기 때문에 어렵지 않게 사용할 수 있다.

  • computer/embedded/자우르스_활용하기_-_3.서버_만들기.txt
  • Last modified: 3 years ago
  • by likewind