웹마스터 팁

리눅스 서버 설치 후 APM 설치 및 ZEROBOARD 복구 (2006년 8월 7일버젼)

*************************************************************************
주제 : 리눅스 서버 설치 후 APM 설치 및 ZEROBOARD 복구 (2006년 8월 7일버젼)
작성 : doogysp
참고 : eversun 님의 사이트에서 APM 설치부분 아주 많이(?) 참고
        http://eversun.gana4u.co.kr/bbs/zboard.php?id=es_linux

추신 : eversun 님 허락없이 내용을 가져와서 죄송합니다.
        많은 도움이 되었습니다.감사합니다.

<추가사항> 제로보드 5버전을 사용할 수 있도록 iconv와 gd 설치과정을 포함
*************************************************************************

----------------------
0. 서버 세팅
----------------------


----------------------
1. 백업
----------------------
tar cvfpz 로 압축해야 퍼미션까지 압축가능(퍼미션 문제로 재설치시 고생하는 사람들이 많음)
ex> tar cvfpz public_html.tar.gz public_html/
백업 대상
- 홈페이지 디렉토리 (되도록 public_html 폴더통째로..)
- 만약 제로보드가 다른 디렉토리에 설치되어 있다면..
  설치된 디렉토리를 백업
- 제로보드 관리자 페이지에서 DB백업(sql파일이 생성된다.)

----------------------
2. APM 설치
----------------------
Apache       http://www.apache.org
PHP          http://www.php.net
MySQL        http://www.mysql.org


혹시, 아파치 서버가 있거나 작동중인지 확인하자
# ps -ef | grep httpd
root        1673        1    0  15:27  ?       ~~~
...

주루룩 정보가 나온다면 root 가 실해시킨 PID를 삭제하자
# kill 1673

기존 아파치가 있을때~
# rpm -e apache
...

의존 관계인 패키지들이 주루룩 나온다. 어짜피 다시 설치할 것이기 때문에
의존 관계를 무시하고 모두 삭제한다.

# rpm -e --nodeps 'httpd'          <-- --nodeps옵션은 no dependence ^^
# rpm -e --nodeps 'php'
# rpm -e --nodeps 'mysql'
# rpm -e --nodeps 'apache'

만약 아래같은 메시지가 뜨면
warning : ~~~ /etc/php.ini.rpmsave
# rm -f /etc/php.ini.rpmsave
생성 파일을 삭제해주면된다.

MySQL은 통상 설치되어있지 않다.
만약 MySQL이 설치 되어있다면 위와 같이 진행하고 소스 설치일경우
데몬을 실행중지 시킨후 폴더를 삭제하면 된다.

APM 까는 순서는 MySQL --> Apache configure --> PHP --> Apache


먼저 MySQL을 설치한다. 주의할 것은 제로보드5의 경우 mysql 4.1 이상을 설치해야한다.
----------------------
3.  MySQL 4.1.
----------------------
먼저.
# groupadd mysql
# useradd -g mysql mysql    <-- mysql 그룹과 계정을 추가.

# cd /usr/local      

# tar zxvf mysql-standard-4.1.12-pc-linux-i686.tar.gz

푼다음 /usr/local로 옮기기
# mv mysql-standard-4.1.12-pc-linux-i686 /usr/local/mysql

# cd mysql

# scripts/mysql_install_db
-->만약, Sorry, the host ~~~ could not be ~~~ 'hostname' ~~~ ~~~  - force option 이라는
    메시지가 나오면,, hostname 을 localhost.localdomain으로 설정한 후에 실행한다.
    # hostname localhost.localdomain

그다음,,
권한설정.

chown -R root:mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/data

데몬 실행.
# bin/safe_mysqld --user=mysql &

다음 메시지를 확인 된다면 오케`~
Starting mysqld daemon with databases from /usr/local/mysql/data
#

이왕 하는거
mysql> 이 커서도 확인해 보자
# ./bin/mysqladmin -u root password 'eversun00'    <-- 처음 접속시 서버관리자 암호 지정
#
이제 mysql에 접속해보자
# ./bin/mysql -p mysql
Enter password: *********
Reading~~~~~~~~~~~~~~~~~~~
...
...
...

mysql>    
성공

-----------------------------
4. Apache 살짝  apache 1.3.27
-----------------------------

일단, Apache 와 PHP 압축파일을 다 풀어놔보자.
압축파일이 있는 디렉으로 이동해서

# tar zxvf apache_1.3.27.tar.gz
# tar zxvf php-4.3.1.tar.gz

생성된 두개의 디렉을 /usr/local/ 로 옮기자

# mv apache_1.3.27 /usr/local/apache
# mv php-4.3.1 /usr/local/php

# cd /usr/local           확인..

# cd apache

# ./configure --prefix=/usr/local/apache  
--> 몇가지 설정파일과 최종 컴파일을 위해서 PHP가 아파치 설정부분을 인식하기 위해서 하는것~!

-----------------------------
5. Zeroboard 5를 위한 library 설치
-----------------------------
제로보드 5 설치를 위해 iconv와 gd를 설치한다.

우선 gd 를 아래 사이트에서 다운 받는다.

http://www.boutell.com/gd

# tar zxvf gd.2.0.15.tar.gz

# cd gd-2.0.15

# ./configure --prefix=/usr/local/gd

# make

# make install

다음으로 iconv를 설치한다.

iconv는

http://ftp.gnu.org/pub/gnu/libiconv

에서 받을 수 있다.

# tar xzvf liiconv-1.9.1.tar.gz

# cd libiconv-1.9.1

# ./configure --prefix=/usr/local/iconv

# make

# make install

-----------------------------
6. PHP 4.3.1
-----------------------------

# cd /usr/local/php

# ./configure --with-apache=/usr/local/apache --with-mysql=/usr/local/mysql --with-zlib=/usr/local --with-gd=/usr/local/gd --with-iconv=/usr/local/iconv

반드시 --with-gd=/usr/local/gd --with-iconv=/usr/local/iconv 를 추가해야만 제로보드 5 가 정상 설치된다.



************************************************************************************
* 여기서 잠깐 혹시 zlib 문제로 설치가 안된다면 아래 내용을 참조 바란다.
************************************************************************************
1). http://www.gzip.org/zlib/ 에서 zlib 을 다운 받는다.

2). zlib 설치

# tar -xvzf zlib-1.1.4.tar.gz
# cd zlib-1.1.4
# ./configure -s // libz.so 동적모듈생성
# make
# ./configure // libz.a 정적모듈생성
# make test
# make install

# cp libz.so* /usr/local/lib

# cd /usr/local/lib
# rm -rf libz.so
# rm -rf libz.so.1
# ln -s libz.so.1.1.4 libz.so
# ln -s libz.so.1.1.4 libz.so.1

# vi /etc/ld.so.conf
/usr/local/lib추가 // 라이브러리 경로 추가

# ldconfig // 라이브러리 경로 적용명령
************************************************************************************

다시 돌아와서..

# make
# make install

시간이 좀 걸린다.

-----------------------------
7. Apache 1.3.27 마무리
-----------------------------

# cd /usr/local/apache

# ./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a  

--> --activate~~~ 옵션은 아파치와 연동하기 위해 php설치중 만들어진 모듈을 인식시켜 주는 옵션


만약 tatter tools 1.0x 이상의 버젼을 사용하고자 한다면 apache 의 rewite 모듈을 추가해야한다.
이것은 configure옵션에 한가지 옵션을 추가해주는 형태로 간단히 설정이 가능하다.

(tatter tools 1.0x 이상의 버젼 사용을 위한 configure 옵션)
# ./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --enable-module=rewrite  


# make
# make install

마무리 성공적으로 설치가 끝났다는 메시지 박스를 볼수 있다.

# cd /usr/local/php
# cp ./php.ini-dist /usr/local/lib/php.ini  <-- php.ini-dist 파일 php.ini로 복사

이렇게 APM의 모든 설치가 끝났다.
설치가 끝난 거다. 이제 환경설정이 기다리고 있다.

-----------------------------
8. APM 환경설정
-----------------------------

우선. 아파치 설정파일부터 보자 (httpd.conf)

# vi /usr/local/apache/conf/httpd.conf
...
...
ServerRoot  "/usr/local/apache"
..
ServerName  192.168.10.1        
...
DocumentRoot  "/usr/local/apache/htdocs"
...
<IfModule mod_dir.c>
    DirectoryIndex index.php index.php3 index.php4 index.html index.htm
</IfModule>
...
..
AddType application/x-httpd-php .php .php3 .ph
AddType application/x-httpd-php-source .phps    <-- 이 두 줄 찾기 힘들다. 없으면 추가~!
...
AddType application/x-tar .tgz
...

:wq


이제 아파치 웹서버를 돌려보자.
# /usr/local/apache/bin/apachectl start         <--- apachectl 이란걸.. 주의
/usr/local/apache/bin/apachectl start: httpd started
라는 메시지를 확인하고
데몬도 잘 돌아가나 확인한다.
# ps -aux | grep apache
...
...
주루룩.
#

다 된거 같다면. 웹 브라우저를 켜고 IP주소를 입력해 보자~
우리의 서버IP 192.168.10.1 를 주소창에 치고 엔터를 치면
(자기 서버IP를 써서 확인한다. 아니면 localhost라고 써도된다.
주의할것은 포트를 변경했을경우 예를들어 8088로 변경시
localhost:8088  또는
192.168.10.1:8088
라고 써야한다.)

먼가가 나올것이다. 국가를 고르라는 말이 나오고 kr를 선택하면
아파치 임시 페이지가 나온다..


php를 확인해 보자.
# vi /usr/local/apache/htdocs/phpinfo.php   <---phpinfo 파일을 만드는 거다.

<?
phpinfo();
?>

:wq

이제 웹브라우저 주소창에 이러케 입력하자.  
http://192.168.10.1/phpinfo.php

머가 보이나? 모든 정보가 보일것이다.

서버 시작시 이 APM이 돌아가게 만드는 거~

# vi /etc/rc.d/rc.local

다음 내용을 추가하자
...

/usr/local/apache/bin/apachectl start
/usr/local/mysql/bin/safe_mysqld &
:wq



-----------------------------
9. 제로보드 설치
-----------------------------
제로보드 설치는 www.nzeo.com 에 가서 보고 한다.

처음 설치라면 그대로 진행하면되고, 백업일경우에는 install하지 말고 DB설정만 하고
DB를 복구 시킨다. 아래 예제 참조..

install하게 되면 복구시에 admin계정이 중복되므로 설치가 안된다.

(제로보드 DB설정 예제)
mysql> use mysql;
mysql> insert into user (host,user,password) values ('localhost','doogysp', PASSWORD('abcd'));
mysql> create database zboard;
mysql> insert into db values ('localhost'+ ','zboard','doogysp','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y');

(Mysql5 사용자라면..
mysql> insert into db values ('localhost','zboard','doogysp', 'Y', 'Y', 'Y','Y', 'Y', 'Y','N', 'Y','Y','Y','Y','Y','Y','Y','Y','N','N');
)

mysql> FLUSH PRIVILEGES;
mysql> quit

제로보드 DB복구는 백업받았던 sql파일이 있는 디렉토리에서
/usr/local/mysql/bin/mysql -u doogysp -pabcd zboard < zboard_20041121.sql

여기서 -pabcd는 패스워드가 abcd임을 의미한다..즉 각자 설정한 password를 -p에 이어서
써주면 된다.

아래 예제는 DB를 잘못 설치했을때 다시 지우는 쿼리문이다. 이쿼리 실행후 다시 DB설정을 하면된다.

/usr/local/mysql/bin/mysqladmin -u root -pabcd drop zboard

mysql> use mysql;
mysql> delete from user where User='doogysp';
mysql> delete from db where User='doogysp';
mysql> FLUSH PRIVILEGES;
mysql> quit



백업해둔 압축파일들을 tar xzvf 명령으로 압축을 풀고 적절한 디렉토리에 옮긴다.
다만 미리 백업해둔 제로보드 재설치때 퍼미션에 문제가 있다고 뜨면 다음과 같이 한다.

제로보드를 설치한 폴더의 권한 707
제로보드 안에 data디렉토리 및 icon디렉토리는 755로 설정하고
chgrp -R nobody data
chown -R nobody data
chgrp -R nobody icon
chown -R nobody icon
으로 그룹과 사용자를 모두 nobody로 설정


새로 설치한 리눅스 서버가 Fedora core 3이상일 경우 방화벽 설정으로 포트를 열어야함
- iptables에서 사용할 포트를 열어야 접속가능

이상이다..
제목 글쓴이 날짜
한방에 제로보드 설치를 위한 서버 환경 준비하기-RWAPC Server 1.0 [6] 야라바 2007.11.28
SVN Commit 정보 출력 설정 (CIA Script) DroArc 2007.11.25
phpCubAdmin으로 큐브리드 DBMS관리하기 [2] 야라바 2007.10.22
리눅스 APM/AP 환경에 큐브리드 추가 설치하기 [2] 야라바 2007.10.22
Chroot 로 루트디렉토리 접근 금지,, [2] Nefree 2007.08.18
삭제문제~ [2] 달맞이꽃 2007.08.15
MySQL 5.0 이상 버전에서 Myadmin 접근시 문제 해결 [6] 니케 2007.03.16
윈도우즈 Apache 2.0 + PHP 4.4 + MySQL 5.0 설치하기 [16] 니케 2007.02.10
진하오 php서버 v1.0 정식공개 합니다. (윈도우스용) 좋은남자 2006.09.13
ZEROBOARD 5 세팅을 위한 리눅스 서버 APM 설치 (2006년 8월 7일버젼) [5] 김기윤761 2006.08.07
Windows 초간단 remote 백업 명령 최길호 2006.07.14
단 한 줄의 명령어만 실행하여 리눅스에서 apm 설치하기 gonom 2006.04.14
apache + php + mysql + libxml (리눅스 초간단 설치) [2] gonom 2006.04.11
/var/log/secure 로그를 이용한 IP Deny 자동 등록 스크립트 Jini 2006.02.02
Message 탭 (servu4.0) 이성헌 2005.12.15
IP access (servu4.0) 이성헌 2005.12.15
링크설정 - mapping과 유사 (for anonymous) 이성헌 2005.12.15
client anonymous 접속시 비번 물어볼때 (servu4.0) 이성헌 2005.12.15
가상 디렉토리 맵핑 (servu4.0) 이성헌 2005.12.15
새로운 도메인 설정 (servu4.0) [1] 이성헌 2005.12.15