솔라리스에서 삼바 서버는 지원한다.
이 문서는 선에서 지원하는 삼바서버를 참고로 한다. 소스로 삼바를 설치한다면
문서가 조금 달라질 것이다.


1. 삼바 서버 기본 환경

pkginfo 명령어로 삼바 서버가 설치되어 있는지 확인해보자.

[root@/root] # pkginfo |grep samba
system      SUNWsmbac                        samba - A Windows SMB/CIFS fileserv
er for UNIX (client)
system      SUNWsmbar                        samba - A Windows SMB/CIFS fileserv
er for UNIX (Root)
system      SUNWsmbau                        samba - A Windows SMB/CIFS fileserv
er for UNIX (Usr)

위와 같이 나온다면 당연히 설치되어 있다.

이제 계획을 잡자.
삼바 서버로 접속하는 외부 클라이언트에게 어떤 계정을 줄 것이며, 이 계정으
로 작동할 것인가?
삼버 서버의 데이터로는 어디로 할것인가? 이다.

우선 외부에서 삼바 서버로 접속하는 클라이언트에게 samba라는 계정을 주자
그리고 이 계정은 sambagroup라는 그룹으로 묶자
왜? 삼바 데이터 서버는 여러개 만들 수 있다. 그리고 각 데이터 서버로 접속
하는 클라이언트에 다른 계정을 줄 수 있다. 그러니 그룹으로 관리해주면
편할것이다.

간단히 삼바 서버의 데이터 저장 등으로 사용할 디렉토리를 /export/home/samba
로 잡자.

정리해보자

삼바 서버 계정 : samba
삼바 서버 그룹 : sambagrp
삼바 서버 디렉토리 : /export/home/samba
윈도우 작업 그룹 : MSHOME  
(이것을 확인하는 방법은 내컴퓨터-> 속성 누르면 시스템 등록 정보가 뜬다
일반, 컴퓨터 이름, 하드웨어.. 등등 많은 메뉴가 있다 이중 컴퓨터 이름에
들어가 본다면  
전체 컴퓨터 이름: canard.
작업 그룹 : MSHOME
로 등록되어 있다.)

그리고 확인해보자. 클라이언트로 사용할 컴퓨터에서 삼바 서버가 돌아가는지
확인해보자. 당연히 삼바 서버에서 서버가 작동하지 않으니 않나올 것이다.
window xp에서 확인하는 방법이다.

네트워크 -> 작업 그룹 컴퓨터 보기
해보면 작업 그룹 컴퓨터에 삼바 서버가 전혀 보이지 않는다.


2. 삼바 서버 기본 작업

자 삼바 서버 돌리기 전에 우리는 삼바 서버를 어떻게 구성할 것이며 어떤 계
정을 사용할 지 계획을 세웠다. 이에 맞춰서 작업을 해보자.
우선 그룹과 계정 및 삼바서버에서 사용할 데이터 디렉토리를 만들어야할 것
이다. 이때 데이터 디렉토리는 계정을 만들면서 사용자 홈디렉토리를 사용하면
편할 것이다. (그래서 /export/home/samba)를 사용했따.

[root@/root] # groupadd sambagrp
[root@/root] # useradd -m -d /export/home/samba -G sambagrp -s /bin/false samba
64 blocks
[root@/root] #

useradd의 옵션은 잘 아리라 생각한다. 그래서 다른 설명은 하지 않는다. 그리
고 이곳에서 보안을 위해서 쉘을 /bin/false(-s /bin/false) 사용해서 일반 접
속을 막는다.

자 이것으로 기본 설정은 끝이 났는가? 아니다. 몇가지 설정이 더 남았다.
/etc/hosts 파일과 /etc/lmhosts 파일에 삼바 서버에 접속할 클라이언트를 삽입
한다.

클라이언트를 살펴보면
211.175.131.32 의 IP를 가지며 netbios의 이름으로 canard를 가진다. 그리고
작업 그룹으로 MSHOME를 가진다. 이곳 설정에서는 약간 난이도를 높여서 삼바
서버에서 클라이언트 서버에서 붙이는 이름과 netbios 이름을 다르게 설정해
서 테스트 해보자.

[root@/root] # cat /etc/hosts
127.0.0.1       localhost
211.175.147.154 ns      loghost
211.175.131.32 www1
211.175.131.33 www2
이 서버에서는 클라이언트의 이름을 www1으로 줬다.

다음은 /etc/lmhosts 파일이 남았다. 이 파일은 무엇이냐면 netbios 이름과
/etc/hosts 파일에서 설정해 놓은 이름과 매칭 시키는 설정 파일이다.
삼바 서버에서는 www1 컴퓨터를 가르치지만 netbios에서의 이름은 다를 수있
으며 같을 수도 있다.

[root@/root] # cat /etc/lmhosts
localhost ns
www1 canard
www2 test

자 첫 번째 이름은 서버에서 지정해 준 이름이며 두번째 이름은 netbios 이름
이다. 즉 www1은 netbios 이름으로 canard를 뜻한다.

이제 기본적인 설정은 끝이 났다. 이제 삼바 설정 파일의 설정으로 삼바 서버
가 올바로 작동하는 것인가? 아니면 올바로 작동하지 않을 것인가가 결정된다.


3. SWAT 작동시키기

우리는 삼바 서버의 설정을 편하게 하고 싶다. 이것은 사람의 욕망이라면 당연
한 반응이다. (내가 볼 때는 SWAT로 설정하거나 손으로 작업하거나 그게 그거
같다. 설정의 어려움은 대략 비슷하다.)

사람들은 manpage를 뒤져보지 않는 경향이 많다. 그러나 우리는 필히 맨패이지
를 보고 확인해야한다. 이유는? 맨페이지를 뒤져보면 활용법 및 설정이 어느
정도 선까지는 자세히 설명되어 있기 때문이다.

잡설은 넘어가고 위에서 필요로 하는 패키지가 모두 설치되어 있다면 삼바 서
버에 관련된 파일들이 모두 설치되어 있다. 당연히 swat로 설치되어 있다.
확인해보자.

[root@/root] # ls /usr/sfw/sbin/
nmbd         smbd         tcpd         tcpdmatch
safe_finger  swat         tcpdchk      try-from
[root@/root] #

위의 명령어를 사용해보니 nmbd smbd swat 파일이 모두 있다.

그리고 shell> man swat 명령어를 사용해보니 swat를 사용하기 위해서는 2가지
설정을 해줘야 한다고 나온다.
참고로 man swat 않된다고 하지 말자
[root@/root] # man swat
No manual entry for swat.
[root@/root] # export MANPATH=/usr/man:/usr/sfw/man
[root@/root] #
환경변수 MANPATH를 설정 안해줘서 그렇다.

맨패이지 중 중요한 부분을 발췌했다.

   You need to edit your /etc/inetd.conf and  /etc/services  to
   enable SWAT to be launched via inetd.

   In /etc/services you need to add a line like this:

   swat 901/tcp

    In /etc/inetd.conf you should add a line like this:

    swat stream tcp nowait.400 root /usr/sfw/sbin/swat swat

    One you have edited /etc/services  and  /etc/inetd.conf  you
    need  to  send a HUP signal to inetd. To do this use kill -1
    PID where PID is the process ID of the inetd daemon.

봐서 알겠지만 /etc/services 파일에  
swat 901/tcp
를 적어 넣으라고 나와있다

그리고 /etc/inetd.conf 파일에
swat stream tcp nowait.400 root /usr/sfw/sbin/swat swat
를 적어 넣으라고 나왔다.

그러면 이제 inetd 서버스를 재 시작해보자. 여러 방법이 있으니 알아서..
(이런 것까지는 알갈쳐준다.)

이제 삼바 서버에서 넷스케이프를 띄워서
http://localhost:901 의 주소를 사용해본다.

잘나온다. 이제 노력과 끈기로 자신의 시스템에 맞는 설정을 찾아야한다.

그리고 우리는 삼바 시작 스크립트를 살펴보자.
shell> vi /etc/init.d/samba
case \"$1\" in
start)
       [ -f /etc/sfw/smb.conf ] || exit 0

       /usr/sfw/sbin/smbd -D
       /usr/sfw/sbin/nmbd -D
       ;;

위에서 보다 싶이 설정 파일은 /etc/sfw/smb.conf이다. SWAT를 작성하면 이곳
에 설정 파일이 만들어 질 것이다.
그리고 서버 시작시 삼바 서버가 작동하도록 스크립트를 활성화 시키자.


4. 삼바 설정 파일

사실 노력과 끈기로 삼바 설정파일을 구성하는 것은 상당히 힘들다. 그리고
설정의 하나하나의 뜻을 알아야 삼바 설정을 마무리 할 수 있다.
삼바 설정에 관련된 내용을 모두 적으면 무척이나 내용이 길어질 수 있다.
그래서 보안이 아~주 허술하지만 작동은 하는 설정을 예시한다.

shell> vi /etc/sfw/smb.conf
# Global parameters
[global]
       workgroup = MSHOME
       server string = nimp.samba
       security = SHARE
       guest account = samba
       hosts allow = 211.175.131.32

[samba]
       comment=SambaData
       path = /export/home/samba
       guest only = Yes
       guest ok = Yes
       read only = No

[global] 부분은 삼바에 접속하는 클라이언트에 해당하는 내용이다.
이후 내용은 삼바에서 데이터를 관리하는 부분에 관련된 설정이다.
[global] 부분은 네트워크 -> 작업 그룹 컴퓨터 보기에서 보여지는
내용이며 이후 내용은 작업 그룹 컴퓨터에서 삼바 서버로 접속시 보여지는
부분이다.
간단히 global 부분에서 설명하자면
클라이언트의 workgroup는 MSHOME의 작업그룹이며 보여지는 이름은 nimp.samba
이다. 직접확인해보면
canard 컴퓨터 옆에 nimp.samba(Ns)라는 컴퓨터가 하나더 보일 것이다. 이것이
삼바 서버로 작동하는 컴퓨터이다.
그리고 보안 방식으로는 SHARE (공유 방식)을 사용했으며, 삼바에 접속하는
클라이언트에게는 samba라는 계정을 사용하게 설정 해 놓은 것이다. 그리고
접속 가능한 클라이언트는 211.175.131.32 IP를 가지는 클라이언트 하나이다.
좀더 많은 클라이언트가 가능하게 하려면 /를 사용한다.

hosts allow = 211.175.131.32 192.168.0.1/24

이상이다. 이렇게 한다면 삼바 서버는 원할히 작동할 것이다. 자세히 설명을
읽어봐야 삼바 설정을 어떻게 해야하며, 클라이언트에 따라 어떻게 설정해야
하는 것인가를 잘 알 수 있다.

참고로 더 자세한 내용을 살펴보려면 삼바 홈페이지에 접속해서 설정에 들어
가는 옵션을 하나하나 설정해서 서버에 적용시키자. swat를 사용해도 된다.
그리고 위의 에제는 로그도 남지지 않는 아~주 보안에 허술한 설정이다. 작동
은 하지만 보안을 위해서 그대로 사용하는 것은 금물이다.

그리고 http://dosc.sun.com에 접속해서 삼바를 설정하는 것을 참고하자.
위의 내용은 리눅스에서도 적용이 가능한 내용이다. 그러나 솔라리스에서는
조금 다르게 작동할 수 있도록 할 수 있다. docs.sun.com의 자료를 살펴보면
다르게 설정할 수 있는 내용을 에시해 놓았으니, 자세히 살펴보자.
솔라리스 문서가 그렇듯, 상당히 허술하면서, 또한 상당히 복잡하다. -ㅁ-;

ps. 사실 정확히 이야기 하자면 /etc/hosts /etc/lmhosts 파일 설정 모두 필요
없다. 안해도 된다. /etc/sfw/smb.conf 만 잘작성해줘도 무난히 작동한다. -ㅁ-;
2006/01/08 22:19 2006/01/08 22:19
여기 사이트를 보고 mysql을 소스 컴파일 하셔서 설치하시려는 분?
어려움이 많으시죠? 무슨 패키지가 필요한지 컴페니언 시디는 어딨는지.

절 따라서 해보세요..컴패니언 시디 필요없구요..여기에서 패키지만 몇개
받으시면 됩니다..
솔라리스 스쿨은 솔라리스x86을 테마로 하기 때문에 아래 설치는
솔라리스x86에서 솔라리스 기본쉘인 본쉘로 작업한 내용이므로
위와 같은 환경하에서 아래와 같은 작업을 하셔야 정상적인 설치가 가능합니다.

mysql설치법
우선 아래와같은 패키지를 다운받아서 꼭 설치한다.
참고사항 : 본인은 솔라리스8 설치시 개발자설치를 하였습니다.


make, autoconf,gcc, binutils, flex, automake, readline, tar 를 설치하시길 (다른것을 위해서라도 꼭 설치하세요)
** make 는 gcc로 컴파일하는데 쓰이며 gcc는 GNU의 C컴파일러이다.
위 패키지는 sunfreeware나 solarisschool.com에서 제공되는 패키지를 설치하시면됩니다.. 우선 이 파일들은 zip파일로 만들어져 있기 때문에 gzip을 설치한후 패키지를 설치합니다.

ex>pkgadd -d gzip-1.2.4a-sol8-intel-local
gzip -d make-3.79.1-sol8-intel-local.gz
pkgadd -d make-3.79.1-sol8-intel-local


1.mysql-3.23.25최신 버젼을 다운받아 컴파일할 디렉토리에 푼다

www.mysql.com 에서 다운받습니다. 바이너리가 아닌 source를 컴파일하여 설치하기때문에 source를 다운받습니다. (mysql-3.23.25.tar.gz)

주의사항
tar 압축을 풀때 솔라리스에서 제공하는 tar로 푸시면 체크섬에러가 나옵니다.
freeware에서 제공하는 GNU tar패키지를 설치하시면 /usr/local/bin에 tar가 생성됩니다. 이것을 사용하시기 바랍니다.

tar까지 푸셨다면 mysql-3.23.35 디렉토리안에서 소스가 풀린것입니다.

2. configure 합니다.

이제 mysql-3.23.25 디렉토리 안에 들어가서 아래 명령으로 configure 합니다. 아래 명령은 다음줄 없이 계속 이어서 타이핑 합니다. ^^(힘드시죠?)
(꼭 이럴때 복사해서 붙여넣기 하시는분이 있단말야..-_-;;)

CC=gcc CFLAGS="-O6 -fomit-frame-pointer -DHAVE_CURSES_H" CXX=gcc CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -DHAVE_CURSES_H" ./configure --prefix=/usr/local/mysql --with-char=euc_kr --enable-large-files

시간이 좀 오래 걸립니다~~ 지금까지 잘 따라 하셨다면 별무리 없이 끝날것입니다.

3. make하기
mysql디렉토리에서 make명령으로 컴파일을 시작합니다.
조마조마~~ 컴파일에 들어갑니다.(꼭 위에 나열된 패키지가 깔려있어야 합니다)
컴퓨터 사양에 따라 차이가 있습니다. 저사양 컴퓨터에서는 컴파일중 중간에 멈춘것 같이 보여도 다운된것이 아니니 담배 한대 피우시거나 커피한잔 하시고 기다려 보세요..^^

4. make가 끝났으면 install하여 봅시다
mysql디렉토리에서 make install명령으로 install합니다.

5. install과정이 끝났으면 이제 확인해 보는것만 남았군요
/usr/local/mysql이 생성되었는지 확인합니다.

6. DB 경로생성
/usr/local/mysql/bin 안에서 실제 DB가 쌓일 경로를 생성합니다.
./mysql_install_db 를 치시면 됩니다.
/usr/local/mysql/var안에 (mysql설치시 default경로임)
mysql test 이 생성된게 보이시죠?
mysql 설치시 기본적으로 mysql과 test라는 database테이블을 생성합니다.

7. 실행하기..
/usr/local/mysql/bin/안에서
./safe_mysqld & (백그라운드로 실행하라는거겠죠 ^^)
확인 /tmp안에 mysql.sock이 있는지 한번 봅시다.
mysql을 실행할때마다 만들어지는 sock이니 mysql실행 않하고
없다고 당황하지 마시길.

8. password 바꾸기
sql에 접근할 DB루트 암호를 설정합니다.
/usr/local/mysql/bin/mysqladmin -u root password '새로운암호'

9. 마지막으로 shell porfile에 mysql의 PATH를 지정해주세요
/usr/local/mysql/bin를 말이죠..

다 끝났네요 ^^ 자 이제 SQL을 잘 쓰세요

ps. 부팅할때마 실행을..run level3에 /etc/rc3에 한줄만 추가하세요.
/usr/local/mysql/bin/safe_mysqld &

*** 2.번의 configure는 입맛에 맞게 설정하세요
예로 mysql이 설치될 경로나 mysql.sock이 생성될 경로라든가 DB가 쌓일 경로등등 위설정은 일반적으로 많이 사용하시는 configure입니다.


음 다음에 PHP,APACHE 소스 설치는 정리하는데로 올릴께요 (삽질좀 더하구요)
우선 mysql만 설치해도 나중에 PHP설치할때 모듈컴파일 가능합니다.

아 메일은 못 받습니다. 혹시라도..--;;

알림.
솔스쿨은 솔라리스x86을 테마로 하기 때문에.
솔라리스8 x86설치를 기준으로 설명드린것입니다.
스팍이나 기타외에는 설치하는 과정이 조금씩 다릅니다.

****참고 사항****
솔라리스의 기본쉘인 본쉘로 작없한 내용입니다.
2006/01/08 22:17 2006/01/08 22:17
여기 freewares에서 tcp-wrapper를 다운 받습니다.
패키지의 압축을 푸시고 pkg설치를 합니다.
여기 패키지의 설치 경로는 /usr/local입니다.

그리고 이제 설정할 일만 남았군요 ^^
# vi /etc/inetd.conf

telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd
ftp stream tcp6 nowait root /usr/sbin/in.ftpd in.ftpd
위 두줄을 찾아서 아래 두줄로 바꿔줍니다.

telnet stream tcp6 nowait root /usr/local/bin/tcpd /usr/sbin/in.telnetd
ftp stream tcp6 nowait root /usr/local/bin/tcpd /usr/sbin/in.ftpd


# vi /usr/local/etc/hosts.allow
in.telnetd: LOCAL .solarisschool.com 211.191.94.7 211.191.95.
in.ftpd: LOCAL .solarisschool.com 211.191.94.7 211.191.95.

** 중요설명
telnet과 ftp 접속허가 설명입니다.

LOCAL은 local머신을 뜻하며
.solarisschool.com은 solarisschool.com이라는 DNS주소를 갖은 모든 호스트들을 뜻합니다. 아무호스트명.solarisschool.com의 시스템은 접근이 가능합니다. 마지막으로 211.191.94.7 은 특정 IP를 갖은 시스템을 가르키며
211.191.95.는 211.191.95.1~254까지의 C클래스 대역에 있는 모든 시스템의 접속허가를 뜻합니다.


in.telnetd, in,ftpd외에 inetd.conf를 통해 위와 같이 정의할수 있습니다.


패키지 설치후 inetd PID를 찾아서 restart하시기 바랍니다.
ps -ef|grep inetd
kill -1 PID


#### 추신 #####
telnet stream tcp또는 tcp6 nowait root
ftp stream tcp또는 tcp6 nowait root
원래 설정된 앞부분은 그대로 두시고 뒷부분만 수정해 주시기 바랍니다.
/usr/local/bin/tcpd -->이부분만
2006/01/08 22:16 2006/01/08 22:16
bash 쉘을 사용하기 위해서는 /etc/passwd 에 있는 기본쉘을 /bin/bash 로

바꾸어 준다. 아니면 passwd -e 를 하여 변경을 한다. 그리고 계정 홈 디

렉토리에

다음과 같은 3개의 파일을 만들어줘야 한다.



.bash_profile

.bash_logout

.bashrc



> vi .bash_profile



# .bash_profile



# Get the aliases functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi



# User specific environment and startup programs



PATH=$PATH:/usr/local/bind/bin:/usr/local/bind/sbin:/usr/java/bin:/us

r/local/bin

:/sbin:/usr/sbin:/usr/ccs/bin:/usr/X/bin:

BASH_ENV=$HOME/.bashrc

USERNAME="yesmen95"



export USERNAME BASH_ENV PATH





> vi .bash_logout



# ~/.bash_logout



clear





> vi .bashrc



# ~/.bashrc



# System wide functions and aliases

# Environment stuff goes in /etc/profile



# are we an interactive shell?

if [ "$PS1" ]; then

if [ -x /usr/bin/tput ]; then

if [ "x`tput kbs`" != "x" ]; then # We can't do this

with "dumb" terminal

stty erase `tput kbs`

fi

fi

case $TERM in

xterm*)

PROMPT_COMMAND='echo -ne "33]0;${USER}@${HOSTNAME}:

${PWD}07"'

;;

*)

;;

esac

[ "$PS1" = "s-v$ " ] && PS1="[u@h W]$ "



if [ "x$SHLVL" != "x1" ]; then # We're not a login shell

for i in /etc/profile.d/*.sh; do

if [ -x $i ]; then

. $i

fi

done

fi

fi







위의 .bash_profile 은 저의 경우에 해당하므로 조금 수정을 해야 할것입니다.

나머지는 그대로 해도 무관합니다. 그리고 .bash_history 파일은 쉘 변경후 처음 로그인을 하게 되면 자동으로 생성됩니다.
2006/01/08 22:14 2006/01/08 22:14
제 머신은 SparcStation20에서 설치하였습니다
Solaris버전은 Solaris 7버전입니다.

apache_1.3.23
php-4.1.2
mysql-3.23.49  

위와 같이 설치하였습니다.

1. 먼서 apache,php,mysql소스를 받습니다.
apache = www.apache.org
php = www.php.net
mysql = www.mysql.com -> mysql user가 설치함

2. 먼저 필요한 화일을 다운로드 받아 설치합니다.  
www.sunfreeware.com 에서 받습니다.
autoconf-2.52-sol7-sparc-local :
jpeg-6b-sol7-sparc-local  :
automake-1.4-sol7-sparc-local :  
libpng-1.2.1.tar    : 소스버전으로 풀어주세요 /usr/lib에 카피해줄것
 압축풀고 나서 scripts폴더에 들가보면 makefiles.solaris란 파일이 있슴
 이걸을 위로 makefiles란 이름으로 카피한후 gmake install시키면 됩니다
binutils-2.11.2-sol7-sparc-local :  
make-3.78.1-sol7-sparc-local  : /usr/local/bin/gmake로 풀어주세요
bison-1.28-sol7-sparc-local          :  
perl-5.6.1-sol7-sparc-local  :  
flex-2.5.4a-sol7-sparc-local  :  
tar-1.13.19-sol7-sparc-local  : /usr/local/bin/gtar 로 바꿔주세요
gcc-2.95.3-sol7-sparc-local          : gcc-2.95.3
texinfo-4.0-sol7-sparc-local  :  
gcc-3.0.3-sol7-sparc-local  : gcc-3.0.3
gd-1.8.4.tar                          : /usr/local/gd 에 풀어 사용합니다.
gzip-1.3-sol7-sparc-local    : gzip,gunzip을 사용하기 위해서 필요합니다.  
zlib-1.1.4.tar     : 반드시 소스버전을 받아서 컴파일 하세요.
 
3. /usr/local/bin 을 $PATH에 추가 시켜 주십시요. 가령 /etc/profile, $HOME/.profile

4. mysql 설치  
mysql 유저를 생성한 후 이 유저로 ./configure gmake 가 이루어 지며. mysql 구동역시 이 유저로만 가능!!!<중요>
mysql화일은 오로지 gtar로만 풀수 있습니다!! <중요>
에러는 상위 폴더에  

1) ./configure
m1.sh 이라는 쉘로 만들어서 했습니다.
 #!/bin/sh
 rm ../mysql_configure_error.log  //에러저장 파일 지우기
 rm config.cache //할때마다 기존 cofig내용 지우기
 # CFLAGS=-DHAVE_CURSES_H CXXFLAGS=-DHAVE_CURSES_H  
 LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/share/lib:/usr/local/share/lib:/usr/local/include:/usr/lib/libp/
 export LD_LIBRARY_PATH // 위 두줄을 위한 패스 등록
 CC=gcc CFLAGS=\"-O3 -DHAVE_CURSES_H\" CXX=gcc CXXFLAGS=\"-O3 -felide-constructors -fno-exceptions -fno-rtti -HAVE_CURSES_H\" ./configure prefix=/usr/local/mysql --localstatedir=/export/home/mysql_data --with-low-memory --with-charset=euc_kr --with-extra-charsets=all 2> ../mysql_configure_error.log // mysql configure

2) config.h 화일 수정
 #define HAVE_TERM 라인을 지웁니다.

3) gmake  
m2.sh
 #!/bin/sh
 rm ../mysql_gmake_error.log
 make clean  
 make 2> ../mysql_gmake_error.log

4) gmake install <- 이것만 root로 실행합니다.  
m3.sh
 #!/bin/sh
 ./mysql_gmake_install_error.log
 gmake install ../mysql_gmake_install_error.log

5) /usr/local/bin/mysql_install_db 실행 <- 꼭 mysql user 로만 할 것
 
6) /usr/local/bin/safe_mysqld & <- 꼭 mysql user로만 할 것

7) mysqladmin -u root -p XXXXXXX <- 패스워드 입력

8) mysql -u root -p XXXXXXX  

5. 임시로 apache설치  

1) 임시로 아파치 configure
a1.sh
 #!/bin/sh
 rm ../apache_temp_conf_error.log
 ./configure --prefix=/usr/local/apache 2> ../apache_temp_conf_error.log
6. php 설치
# mysql의 헤더화일이 있는곳을 링크시켜야함 /usr/local/ 이렇게 꼭!!!!!!!!!!!!!! 기억할것
# --with-apache=/ (X)  --with-apache2=/ (0) 2.0이상 설치시.. ^^

1) ./configure
p1.sh
 #!/bin/sh
 rm config.cache
 rm ../php_conf_error.log
 ./configure --with-mysql=/usr/local --with-apache=/export/home/kawi/apm_pds/apache_1.3.23 --with-gd=/usr/local/gd --with-language=korean --with-charset=euc_kr --with-config-file=/usr/local/lib --enable-track-vars --disable-debug 2> ../php_conf_error.log
 
# apache 2.0.X설치시
./configure --with-mysql=/usr/local/ --with-apache2=/export/home/kawi/apm_pds/httpd-2_0_28 --with-gd=/usr/local/gd --with-language=korean --with-charset=euc_kr --with-config-file=/usr/local/lib --enable-track-vars --disable-debug  

# apache 1.3.X 설치시
 ./configure --with-mysql=/usr/local --with-apache=/export/home/kawi/apm_pds/apache_1.3.22 --with-gd=/usr/local/gd --with-language=korean --with-charset=euc_kr --with-config-file=/usr/local/lib --enable-track-vars --disable-debug 2> ../php_configure_error.txt
저와 같은 경우는 아래와 같이 하였습니다.
 
2) gmake
p2.sh
 #!/bin/sh
 rm ../php_gmake_clean_error.log
 rm ../php_gmake_depend_error.log
 rm ../php_gmake_error.log
 gmake clean 2> ../php_gmake_clean_error.log
 gmake depend 2> ../php_gmake_depend_error.log
 gmake 2> ../php_gmake_error.log
3) gmake install
p3.sh
 #!/bin/sh
 gmake install 2> ../php_gmake_install_error.log

7. apache 설치

1) ./configure  
#a1.sh
 ./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --enable-module=info --enable-module=status 2> ../apache_conf_error.log
2) ./src/Makefile 수정할것
 LIBS1=  -R/usr/ucblib -R/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/3.0.1 -R/usr/local/gd/ -R/usr/local/lib/mysql  -L/usr/ucblib -L/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/3.0.1 -L/usr/local/gd/ -L/usr/local/lib/mysql -Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4  -lpam  -ldl -lmysqlclient -lgd -lcrypt -lresolv -lresolv -lm -ldl -lsocket  -lsocket -lgcc -lcrypt   -lsocket -lnsl -lz
3) gmake  
#a2.sh
 rm ../apache_gmake_error.log
 gmake clean
 gmake 2> ../apache_gmake_error.log
4) gmake install
#a3.sh
 gmake install 2> ../apache_gmake_install_error.log


질문나는 것이 있으면 멜 주세요.. ^^

겨우 성공했습니다... ㅡ.ㅡ;;

추신 : 이런건 여기다 올리는 것 맞져? 아님 지우셔두 되요.. ^^
2006/01/08 21:57 2006/01/08 21:57
P세팅

/etc/hosts 와 /etc/hostname.xxxx 이 두개의 파일을 이용합니다. xxxx부분은  NIC(랜카드)의 장치명입니다. 선이라면 hme로 되어있을 겁니다. hme0, hme1 이런식으로요. 3Com이라면 elxl,  Intel이라면 iprb로 되어있습니다. /etc/hostname.xxxx에 호스트이름을 정해주면 /etc/hosts의 파일을  읽어와서 해당 호스트의 IP로 xxxx를 세팅합니다.

넷마스크

/etc/netmasks 에서 세팅 합니다. 192.168.1.0 255.255.255.0이런식으로요. 즉 네트워크 이름. 위의 예에서는 192.168.1.0이 되구 요 넷마스크는 255.255.255.0가 됩니다. 랜카드가 두개여서 두개의 네트워크를 사용하면 두줄이 되겠죠.

게이트웨이

이 건 솔직히 윈도우즈 용어라고 합니다. 다른 서비스에서는 전부다 [라우터]라는 단어로 사용하거든요. 어쨌든 기본 라우터를 설정합니 다. 윈도우의 게이트웨이입니다. /etc/defaultrouter에 현재의 게이트웨이를 써 넣습니다.

DNS

도 메인 서버입니다. /etc/resolv.conf (resolve가 아닙니다. e가 빠져있습니다)  nameserver 168.126.63.1 이렇게 써주면 됩니다. 168.126.63.1은 혜화전화국의 DNS서버입니다. 울나라 의 메인 DNS서버죠. (그래서 조금 느립니다)

설정된 예입니다. 아이피는 모두 가짜입니다(혹시 괜히 접속하지 마시길)

--------------------------------------------------------------------------

user@test ~ # cat /etc/hosts
#
# Internet host table
#
127.0.0.1       localhost        
221.221.0.2     maid    loghost
192.168.0.1     maidlocal
user@test ~ # cat /etc/hostname.elxl0
maid
user@test ~ # cat /etc/hostname.iprb0
maidlocal
user@test ~ # cat /etc/defaultrouter
221.221.0.1
user@test ~ # cat /etc/netmasks
221.221.0.0     255.255.255.128
192.168.0.0     255.255.255.0
user@test ~ # cat /etc/resolv.conf
domain test.net
nameserver 168.126.63.1
user@test ~ # ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
       inet 127.0.0.1 netmask ff000000  
elxl0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
       inet 221.221.0.2 netmask ffffff80 broadcast 221.221.0.127
iprb0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
       inet 192.168.0.1 netmask ffffff00 broadcast 192.168.0.255
user@test ~ #

**************************************************************************************************

* Solaris 에서 변경해야 될 파일들

  /etc/nodename              # if you need to change the name of the machine
  /etc/hostname.interface    # eg. hostname.hme0
  /etc/hosts                 # Update to reflect new name
  /etc/nsswitch.conf         # Update if your name resolution
  /etc/resolv.conf    

  # Update if your name servers/domain changed (DNS only)
  /etc/defaultdomain             # set you default domain
  /etc/defaultrouter             # Set the default router's IP
  /etc/inet/networks             # Set your network name
  /etc/inet/netmasks             # Set your network number
  /etc/n/etc/net/ticots/hosts    # For the streams-level loopback
  /etc/ticlts/hosts              # For the streams-level loopback
  /etc/net/ticotsord/hosts       # For the streams-level loopback

* Solaris 에서 IP 변경 작업

  /etc/hosts 파일을 수정함.
  /etc/hostname.hme0 랜카드에 적용되는 호스명을 명시

  $ ifconfig hme0 [ip] netmask 0xffffff00 broadcast + up

  ex)
  --- 영구적인 변경
  $vi /etc/hostname.hme0
  credilist

  $ vi /etc/hosts
  127.0.0.1       localhost
  211.192.191.178 credilist       loghost

  --- 임시변경시 (컴퓨터가 켜져있는 동안, 리부팅되면 정보가 사라짐)
  $ ifconfig -a
  lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
       inet 127.0.0.1 netmask ff000000
  hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 211.192.191.178 netmask ffffff00 broadcast 211.192.191.255

  $ ifconfig hme0 211.192.191.171 netmask 0xffffff00 broadcast + up

* Solaris 에서 GATEWAY 변경 작업

  $ netstat -rn
  $ route add default [gateway ip]
  $ vi /etc/defaultrouter
  [gateway ip]

  ex)
  --- 영구적인 변경
  $ vi /etc/defaultrouter
  211.192.191.177

  --- 임시적인 변경
  route add default 211.192.191.177


* Solaris 에서 DNS 변경 작업

  ex)
  $ vi /etc/resolv.conf
  nameserver 168.126.63.1
  nameserver 168.126.63.2
  nameserver 211.169.248.153

  $ vi nsswitch.conf
  # hosts: 부분을 수정한다.
  # consult /etc "files" only if nis is down.
  hosts:      files dns

* 설정 변경 후 reboot , 시스템에 관한 내용이 변경된경우
  reboot

***************************************************************************************************
네트워크 설정(정적 라우팅)

/etc/hostname.인터페이스 화일안에 시스템 이름이나
변경하고자 하는 IP 를 수정합니다.

# vi /etc/hostname.hme0 // 파일이 존재하지 않으면 만드세요
hme0은 랜카드 디바이스명입니다.
hostname.인터페이스 파일입니다.
랜카드에 따라 인터페이스명 은 다릅니다.

# vi /etc/hostname.hme0
cpp (호스트명 입니다.)

또는

# vi /etc/hostname.hme0
210.125.197.181 (ip 입니다.)

참고로 /etc/hostname.인터페이스 화일안에 시스템 이름을
사용하는 경우는 /etc/hosts 화일에 시스템 이름과 ip 가
존재 할 경우만 사용합니다.


# vi /etc/nodename
cpp (호스트명 입니다.)

# vi /etc/netmasks
210.125.197.1 255.255.255.0
/etc/inet/netmasks 와 /etc/netmasks 은
링크가 되어 있어서 어느것을 고쳐도 관계없습니다.
210.125.197.1은 네트워크 넘버(게이트 웨이)이고
255.255.255.0은 서브넷 마스크 입니다.

uname -n 으로 시스템 이름을 확인합니다.
[/] # uname -n
cpp

시스템 이름이 cpp 임을 확인하였습니다.

/etc/hosts 화일을 확인하세요
확인해보면 cpp 이란 부분이 보이는데 이것이 시스템
IP 입니다.

[/etc]# vi /etc/hosts
#
# Internet host table
#
127.0.0.1 localhost
210.125.197.181 cpp cpp.co.kr loghost
210.125.197.198 edunkid edunkid.com

3. /etc/hosts 화일에서 시스템 이름과 메칭된 IP 를 수정합니다.

위의 부분중 시스템 이름인 cpp 의 ip를 수정합니다.
210.125.197.181은 ip address 이고 cpp 은 hostname입니다.

랜카드에 ip를 줘봅니다.

# ifconfig hme0 plumb 엔터
# ifconfig hme0 210.125.197.181 netmask 255.255.255.0 broadcast + up 엔터
# ifconfig hme0 (ip 변경확인)

랜카드에 ip를 줬습니다. 확인해 볼까요?
# ifconfig -a 엔터 ip가 보이시나요?
lo0: flags=849 mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863 mtu 1500
inet 210.125.197.181 netmask ffff00 broadcast 165.244.175.63
ether 8:0:20:8c:91:58

두개의 인터페이스가 보입니다.
lo0 와 hme0 가 보이는데 lo0 는 local loopback interface 이며
hme0 는 실제 인터 페이스입니다.
(%여기서 인터 페이스라함은 네트웍에 연결된 네트웍카드를 말합니다.
hme0 이름으로 명명된 카드는 100Mbyte 속도를 가지는 카드이며
10Mbyte 인 he, 광접속인 nf 등 여러가지가 있습니다.)

le0 의 inet 210.125.197.181 부분을 보면 실제 네트웍 카드에 주워진
IP 번호입니다.

그럼 다음단계

# route add -inet ip주소 게이트웨이ip 플래그
예) # route add -inet 210.125.197.198 210.125.197.1 1
# netstat -nr : router 등록 확인

# vi /etc/defaultrouter // 파일이 존재하지 않으면 만드세요
210.125.197.1  // 게이트웨이 ip

# vi /etc/resolv.conf // 파일이 존재하지 않으면 만드세요
domain cpp.co.kr // ISP업체 별로 다르겠죠
nameserver 203.249.35.14 // 네임서버의 IP

#vi /etc/nsswitch.conf
중간부분에 host : files 라고 되어있는 부분이 있을 겁니다.
이부분을 hosts : files dns 라고 수정을 해야 합니다.
보통 dns 서비스를 받고 있으니 특별한 경우가 아니면
이부분을 수정을 해야만 네트워킹이 가능 합니다.

# shutdown -i5 -g0 을 실행합니다. 또는 # reboot -- -r 을 실행하여 재부팅 합니다.(필)
명령이 실행이 된 다음 확인을 물어 보는데 y라고 하시면 됩니다.
부팅이 될 때 hostname 윗 부분에 랜카드가 잡힌 것이 확인됩니다.
ps. /etc/rcS.d/S30rootusr.sh 파일이 수행할때 ip를 설정합니다.

시스템을 rebooting 정상적으로 종료하고 시작 하면 됩니다.

부팅이 다 된다음.....
# ping -s 210.125.197.186        // 내부 ping 테스트
# ping -s www.solarisschool.com  // 외부 ping 테스트

1.network status 확인
#ndd -get /dev/hme link_status
-------- 해당 device임 0 : link down 상태임 1 : link up 상태임
2.network speed 확인
#ndd -get /dev/hme link_speed
-------- 해당 device임 0 : 10M bps 1 : l00M bps
3.network mode 확인
#ndd -get /dev/hme link_mode
-------- 해당 device임 0 : Half-Deplex mode 1 : Full-Deplex mode
2006/01/04 16:14 2006/01/04 16:14
패키지 관리



1) 패키지 정보

# pkginfo | more (전체 보기)

# pkginfo | grep SUNWman (특정 패키지 설치여부)

# pkginfo -l SUNWman (특정 패키지의 자세한 정보)

# pkginfo -d /cdrom/solarisxxx/Solaris_8/Product | more (CDROM 내의 패키지 정보)

# pkginfo -d /cdrom/solarisxxx/Solaris_8/Product -l SUNWaudio (CDROM 내의 특정 패키지 정보)

# pkginfo | wc -l ( 설치된 총 패키지 수)



# grep /usr/bin/audioplay /var/sadm/install/contents (audioplay 의 패키지 이름 알아내기1)

# pkgchk -l -p /usr/bin/audioplay (audioplay의 패키지 이름 알아내기2)



# pkgchk SUNWaudio ( 설치 성공 여부 확인, 성공 시 메시지 없음)

# pkgchk -v SUNWaudio (특정 패키지에 대한 자세한 설치 위치)

# pkgchk -p /etc/passwd (특정 파일에 대한 초기 패키지 설치후의 변경 정보)



2) 패키지 추가

# pkgadd -d /cdrom/solxxxx/Solaris_8/Product SUNWaudio

# pkgadd -d /cdrom/solxxxx/Solaris_8/Product -s spool SUNWaudio ( /var/spool/pkg에 패키지 스풀)

# pkgadd -d /cdrom/solxxxx/Solaris_8/Product -s /export/pkgs SUNWaudio ( /export/pkgs에 패키지 스풀)

* GUI의 어드민 툴(admintool)을 이용하여 설치할 수도 있다.(cf. sysadmin(14) 가능)



3) 패키지 제거

# pkgrm SUNWaudio

# pkgrm -s spool SUNWaudio (/var/spool/pkg 의 스풀 패키지 제거)

# pkgrm -s /export/pkgs SUNWaudio (/export/pkgs의 스풀 패키지 제거)

* GUI의 어드민 툴(admintool)을 이용하여 제거할 수도 있다.(cf. sysadmin(14) 가능)



4) 기타 Freeware 패키지 활용

http://www.sunfreeware.com 에서 다양한 무료 패키지를 제공한다.



- 업데이트 및 설치를 위한 편리한 pkg-get 툴도 제공한다. 자세한 정보는 아래 참조.

http://www.sunfreeware.com/pkg-get.html

- 패키지를 직접 제작하고 싶을 경우에는 다음을 참조한다.

http://www.sunfreeware.com/pkgadd.html





http://solaris.mesani.net/viewtopic.php?p=181&%3Bsid=7f403389e1a7454465435365b2a61899

2006/01/02 17:41 2006/01/02 17:41
Tag //