vsftpd 설치 및 설정
참고 사이트 : http://coffeenix.net/board_view.php?bd_code=89

목차
(1).설치
1. gentoo
2. ubuntu

(2) 설정
1. 익명 사용자 로그인 금지
2. 홈 디렉토리의 상위 접근 금지
3. 로컬 사용자 계정 로그인
4. write 권한 부여

(1). 설치
1. gentoo
# emerge vsftpd
# /etc/vsftpd/vsftpd.conf.exampl를 /etc/vsftpd/vsftpd.conf로 복사한다.

2. ubuntu
# sudo apt-get install vsftpd
참고> ubuntu에서는 vsftpd.conf가 /etc에 있다.

(2). 설정
1.익명사용자 로그인 금지
  #anonymous_enable=YES
  
2.홈 디렉토리의 상위 접근 금지
  a. chroot_list 빈 파일을 /etc/vsftpd에 만든다.
 
  b-1. chroot_list에 있는 사용자만 home direcory를 벗어나지 못하도록 설정하기 위해서는 chroot_local_user항목을 추가하고 chroot_list_enable 항목의 주석을 해제한다.
   chroot_local_user=YES
   chroot_list_enable=YES
 
  b-2. chroot_list에 있는 사용자만 home direcory를 벗어나도록 설정하기 위해서는 chroot_list_enable항목의 주석을 해제한다.
   chroot_list_enable=YES

3. 로컬 사용자 계정 로그인 : local_enable 항목의 주석을 해제한다.
  local_enable=YES

4. write 권한 부여 - write_enable항목의 주석을 해제한다.
  write_enable=YES

------------------------------------
2006-12-08 로컬 사용자 계정 로그인 옵션 추가
2008-03-18 ubuntu 설치 추가
Posted by Gu Youn
,
일반적으로 많이 사용하는 Apache+MySql+PHP(APM)의 설치 방법에 대해서 정리한다.

1. Apache 설치
Apache 컴파일 및 설치
Apache 자동 실행
"/etc/init.d/"에 apachectl을 복사한다.

/etc/init.d/apachectl 상단에 아래 내용 추가한다.
    # chkconfig: 2345 60 60
    # description: Apache Web Server Version 2.0
   chkconfig에서 처음 인자는 어떤 run-level에서 실행될지를 의미하며, 그 다음 두개의 인자는 같은 run-level에서 실행/종료시 prority를 의미한다.

chkconfig 명령어를 이용해 등록
    # chkconfig --add apachectl
    # chkconfig --level 2345 apachectl on
  

chkconfig로 apachectl을 add하고 난 후에 ntsysv로 서비스 목록을 보면 apachectl이 추가된 것을 볼 수 있다.

2. PHP 설치
* PHP 컴파일
CPPFLAGS=-I/usr/include/mysql
./configure \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-zlib \
--with-gd \
--with-ttf \
--with-png \
--with-expat-dir=/usr \
--with-gmp \
--with-xml \
--with-mysql=/usr \
--with-language=korean \
--with-charset=euc_kr \
--disable-debug \
--disable-posix \
--disable-rpath \
--enable-safe-mode \
--enable-magic-quotes \
--disable-dmalloc \
--enable-bcmath \
--enable-dio \
--enable-gd-native-ttf \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--enable-versioning \
--enable-pic \
--enable-inline-optimization \
--enable-memory-limit \
--enable-mbstring \
--enable-mbregex \
--enable-mbstr-enc-trans \
--with-config-file-path=/usr/local/lib \
--enable-ftp \
--disable-debug \
--enable-track-vars=yes \
--with-jpeg-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-dl \
--with-imap=/usr/lib \
--with-imap-ssl=/usr/lib \
--with-kerberos

make && make install

superuser.co.kr의 글을 보면 --with-imap=shared로 되어 있는데 저 경우에 imap 함수 사용이 불가능 하여 --with-imap=/usr/lib로 변경

superuser.co.kr에서 가져 옮 #

3. mysql 설치
  # CFLAGS="-static -O2 -march=i686 -funroll-loops"
  # CXXFLAGS="-static -O2 -march=i686 -funroll-loops -felide-constructors -fno-exceptions -fno-ftti"
  # ./configure --prefix=/uar/local/mysql --localstatedir=/usr/local/mysql/data --disable-shared --enable-assembler --with-thread-safe-client --with-mysqld-user="mysql" --with-client-ldflags=-all-static --with-myslqd-ldflags=-all-static --with-readline --without-debug --without-bench --with-charset=euckr

Posted by Gu Youn
,
환경 : Tomcat 4.1.29 / HP-UNIX

Tomcat의 JNDI DataSource 사용을 할 때 직접 드라이버를 로드하는 방법과 DBCP 사용을 하는 방법이 있다.

ㄱ. 직접 드라이버 로드를 하는 방식
  JDBC 드라이버를 $CATALINA_HOME/common/lib에 설치를 해서 사용을 하면 된다.

ㄴ. JNDI DataSource 사용하는 방식
  HP에서 제공하는 패키지로 설치한 Tomcat의 $CATALINA_HOME/common/lib의 commons-collections.jar , commons-pool.jar , commons-dbcp.jar 를 이용을 하면 Oracle JNDI 연결시 v () method를 찾지 못한다는 에러 발생한다. 버전에 맞는 것을 Tomcat 프로젝트 홈페이지에서 받아 설치하고 그것을 사용하도록 하면 해결이 됐던 것으로 기억한다.

첨부파일



Posted by Gu Youn
,
설치 순서 #
1. Live CD 다운로드
2. Boot
3. Configuring Network
4. Partition a Disk
5. Create Filesystems
6. Mount
7. Installing a Stage Tarball
8. Inatal Portage
9. Configuring the Compile Options
10. Chrooting
11. Configuring the Kernel
12. Configuring your System
13. Configuring the Bootloader


Posted by Gu Youn
,
목록 #
1. 그래픽 로그온 => 콘솔 부팅으로 변경
2. XManager 사용을 위한 리눅스 설정
3. can't see Hangul Font
4. ?X86Config 샘플 파일 생성
5. console 해상도(resolution)
6. su: Permission denied
7. LANG 설정
8. 전역 환경변수 설정

자세히 보기 #
1. 그래픽 로그온 => 콘솔 부팅으로 변경
  그래픽 로그온 설정으로 설치된 경우 콘솔로부팅하게 변경하는 방법
  /etc/inittab id:5:defaults 에서 5를 3으로 변경한다.

2. ?XManager 사용을 위한 리눅스 설정
  ㄱ. 폰트 서버 설정
    /etc/X11/fs/config 파일에 아래 항목이 있을 근처)
    no-listen = tcp (변경 후)> #no-listen

  ㄴ.폰트 서버 구동 방법 : Unix(Linux)에서 해야
    # /etc/rc.d/init.d/xfs restart ?Enter

  ㄷ. kde를 X윈도로 사용하는 경우
   /etc/X11/xdm/xdm-config 파일의 다음 라인을 코멘트로 막습니다.(28라인 근처)
   DisplayManager.requestPort: 0 ==> DisplayManager.requestPort: 0
 
   /etc/X11/xdm/Xaccess 파일의 다음 줄에 코멘트 기호(#)를 삭제합니다.(40라인 근처)
   #* #any host can get a login window ==> * #any host can get a login window
 
   /usr/share/config/kdm/kdmrc 파일을 찾아서 다음과 같이 설정합니다.(77라인 근처)
   Xdmcp Enable=true

  위 항목들 수정후 시스템 재부팅을 한다.

3. Can't see Hangul Font
Install Baekmuk Font
/etc/X11?/XF86Config file
Add ?FontPath Item

4. XF86Config 구성
XFree86 -configure 명령어로
XFree86 -configure

5. console 해상도(resolution)
  ㄱ.boot mount
    # mount /dev/disc/disc0/part1 /boot
 
ㄴ.grub.conf 수정
    # vi /boot/grub/grub.conf
    grub.conf의 kernel 항목에 video=vesafb:1024x768-32@60 추가
    kernel /kernel-2.6.9-gentoo-r4 root=/dev/ram0 init=/linuxrc real_root=/dev/hde3 video=vesafb:1024x768-32@60
 
  아래 참고 문서를 보면 video=vesafb:mtrr,ywrap,1024x768-32@85 이렇게 옵션이 여러개로 구성되어 있지만 테스트한 시스템에서는 문제가 있어서 해상도 부분만 사용함.
참고 : http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=10#doc_chap1

6. su: Permission denied
su 명령 실행시 아래와 같은 Permission denied 오류가 나는경우 명령어를 사용하는 계정을 wheel 그룹에 추가해야 한다.

  happy@ghost ~ $ su -
  Password:
  su: Permission denied
  Sorry.
 
wheel 그룹에 사용자 계정 추가
    # gpasswd -a happy wheel
 
7. LANG 설정(RedHat)
"/etc/sysconfig/i18n"의 LANG 항목을 수정하며 LANG에 사용할 수 있는 언어 목록은 "/usr/lib/locale/"을 참고한다.

LANG="LANG="ko_KR.euckr"
 
8. 전역 환경변수 설정(RedHat)
"/etc/profile.d/"에 설정하고 싶은 내용을 같는 쉘 스크립트를 작성해서 저장한다.
JAVA설정 예

bash의 JAVA 설정
   #java.sh
   JAVA_HOME=/usr/java/j2sdk1.4.2_08
   CLASSPATH=$CLASSPATH:.
   PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

   export JAVA_HOME
   export CLASSPATH
   export PATH
 

csh의 JAVA 설정
   #java.csh
   setenv JAVA_HOME /usr/java/j2sdk1.4.2_08


   if ( $?CLASSPATH ) then
           setenv CLASSPATH ${CLASSPATH}:.
   else
           setenv CLASSPATH .
   endif

   if ( $?PATH ) then
           setenv PATH ${PATH}:${HOME}/bin:${JAVA_HOME}/bin
   else
           setenv PATH ${HOME}/bin:${JAVA_HOME}/bin
   endif
Posted by Gu Youn
,
1. Virtual Host
<VirtualHost design.paran.com>
        ServerAdmin happy@happy.co.kr
        ServerName  design.happy.com
        ServerPath  /public_html_design
        DocumentRoot /home/paran/public_html_design
        <Directory /home/paran/public_html_design>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride All
        <IfModule mod_access.c>
                Order allow,deny
                Allow from all
        </IfModule>
    </Directory>
</VirtualHost>

2. 가상 호스트 설정후 에러나는 경우
virtualhost된 디렉토리접근시 403(Forbidden)에러 나는 경우 유저디렉토리 권한을 확인하고 700인 경우에는 705 정도로 변경
#ls -al /home
#chmod -R 705 /home/happy
가상호스트로 public_html(user디렉토리로 설정)이 아닌 다른 디렉토리를 웹루트로 추가 설정한 경우 <Directory> 설정이 필요함



3. 기본 인코딩셋 설정
/etc/apache/conf/commonapache2.conf를 수정 ISO-8859-1로 되있는 것을 주석처리하고 EUC-KR을 추가
  #AddDefaultCharset ISO-8859-1
  AddDefaultCharSet EUC-KR

4.php, apache 파일 업로드 설정
ㄱ. php.conf에서 업로드할 파일 최대 크기를 바이트 단위로 설정한다.
   LimitRequestBody 524288(업로드 원하는 사이즈로 변경)
  
  # LimitRequestBody가 업로드하려는 파일 보다 작은 경우에는 Requested content-length of 977486 is larger than the configured limit of 524288 ... 이런 에러가 아파치 error-log에 남는다.

ㄴ. php.ini에서 업로드와 관련 있는 설정 항목
   post_max_size = 8M
   file_uploads = On
   upload_max_filesize = 2M

5. VirtualHost 설정시에 실제 경로는 존재하지만 DocumentRoot warning 나는 경우(레드햇 보안설정 된 경우에 발생한다.)
에러 예> Starting httpd: Warning: DocumentRoot [/home/herit/public_html] does not exist

# chcon -R -t httpd_user_content_t public_html/

6. PHP 모듈 로드 및 타입 추가
LoadModule php4_module modules/libphp4.so

AddType application/x-httpd-php .php .phtml .php3 .html .htm
AddType application/x-httpd-php-source .phps
Posted by Gu Youn
,
가능하면 정품을 사용하자는 생각에 P7010에 포함된 복구 시디로 운영체제를 설치를 해서 사용을 하고 있다. 헌데 복구 시디로 운영체제를 설치하면 설치의 간편함은 장점이지만 윈도우 시스템 파티션의 파일 포맷이 FAT32로 되어 있어서 NTFS로 변환을 해야 한다. NTFS로 변환을 하는 방법은 아래를 참고..


C: 같은 경우에는 볼륨이 사용 중이여서 볼룸을 분리할지 묻는데 Y를 선택하고 진행하면 시스템이 재부팅 될 때 파일시스템 변경 작업이 진행된다.
#Convert [변환할 드라이브 문자] /FS:NTFS
예) C:\Convert C: /FS:NTFS

델파이가 설치된 컴퓨터에서는 Convert를 실행하면 Delphi의 Convert 명령어가 실행되는 경우가 있다. 이럴 때는 C:\windows\system32로 명령어 실행 패스를 옮겨서 실행하면 된다.

Convert 명령어의 자세한 사용 방법은 여기를 참고한다.
Posted by Gu Youn
,

MySQL 팁

Computer/Database 2005. 7. 10. 12:35
1.데이터 베이스 생성 및 유저 권한 설정 #
# 데이터 베이스 생성

mysql> create database DB_NAME;


# 유저 등록
인서트문 이용

 /*데이터베이스 변경*/
mysql>  use mysql;

 /* Host , User , Password 변경 후 인서트 실행*/
mysql> INSERT INTO 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, Show_db_priv, Super_priv,
Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, ssl_type, ssl_cipher, x509_issuer,
x509_subject, max_questions, max_updates, max_connections) VALUES("192.168.0.1", "choco", password
("passowrd"), "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "", "", "", "", "0", "0", "0");

mysql> flush privileges;


명령어 이용 (모든 호스트 접근허용에는 %)   

/* localhost에서만 접근 허용  */
mysql> grant all privileges on db_name.* to username@localhost identified by 'password' with grant option;

/* 특정 ip 에서만 접근 허용  */ 
mysql> grant all privileges on db_name.* to username@'192.168.0.1' identified by 'password' with grant optoin; 

/* C클래스만 접근 허용 */ 
mysql> grant all privileges on db_name.* to username@'192.168.0.%' identified by 'password' with grant optoin;  


2. My-SQL 4.1(Windows)에서 인코딩 euc-kr로 변경 안되서 한글이 ?로 깨져 보이는 문제
my.ini를 수정해도 접속후에 status명령어로 상태를 확인하면 latin1으로 되어 있다. mysql접속해서 아래 5개의 명령어를 실행하고 status를 다시 실행하면 변경된 것을 확인할 수 있다.

set character_set_connection=euckr;
set character_set_server=euckr;
set character_set_client=euckr;
set character_set_results=euckr;
set character_set_database=euckr;

[변경내역]
2005/07/10 초안 작성
2011/10/12 일부 내용 수정
Posted by Gu Youn
,