데비안 리눅스 설치부터 APM까지

웹/웹.리눅스.SQL
간만에 마음이 동해서 다시 설치하게 되었습니다. 퍽이나 고전적인 사양입니다.

씨피유 : 펜3 850 두얼 시피유
메모리 : 1 G
하드용량 : 40 G * 2개

ftp.kr.debian.org 에 후딱 접속해서 테스트 버젼(요즘은 이름이 뭔지 모르겠네요) 첫번째 시디 한장을 받아서 설치를 했습니다.
사양이 느려서인지 시간이 꽤나 잡아먹네요. x윈도 화면까지 보는데 한시간을 넘긴듯 합니다.
이번 버젼은 그래픽 설치를 지원하더군요.

그전에 텍스트로 나온 설치화면이 그대로 그래픽으로 나온다는 점, 그리고 마지막에 x윈도 해상도를 잡아주지 않더라도 알아서 잘 잡는다는 점 말곤 다른점이 없습니다.


40기가 하드 2개를 LVM 설정으로 사용하되, 모두 한 파티션에 설치하는 옵션을 골라 설치했습니다.



사용자 계정과 암호를 입력합니다.



(꾸러미) 소프트웨어 선택에서 기본으로 선택된 "데스크탑 환경", "표준 시스템" 만으로 설치했습니다.
웹서버, SQL 데이터베이스를 설치하니 역시나 포스트SQL이 설치되어 다시 설치하기도 했습니다.

왜 데비안 배포판이냐면 우분투 때문입니다. 우분투가 첨 나오고 아주 획기적으로 개선된 인터페이스에 반해서 맘을 빼앗기고 말았습니다. 근데 당시 제가 사용하기에는 우분투의 프로그램들이 부족했습니다. 물론 일일히 소스받아 설치해도 됩니다만 리눅스에 소스 가져다 작업하는 일이 MS윈도우 새로 설치하는 것만큼 의미없는 일이란 걸 알고 나서는, 그냥 패키징된 것들로만 사용하려 합니다.

막강한 프리BSD가 있긴 하지만 배다른 동생 취급받던 리눅스는 이제 벤더들이 지원하지만 프리비는 아직입니다. 운영체제가 원체 막강하다 보니 지원할 게 없어서인지도 모릅니다. 실제로 리눅스보다는 프리비가 안정성에선 더 뛰어나더군요. 그치만 아직 프리비에 익숙하기 보다는 리눅스에 익숙해서 리눅스를 선호한답니다.

Cent OS라고 레드햇 후속버젼으로(물론 페도라가 있지만 이건 정말 아닌듯 합니다 레드햇의 단점을 그대로 물려받았습니다) 나온 배포판인데 페도라보다 보안성과 안정성이 확대되어 IDC센터에서 많이 사용을 하고 있다고 합니다. 레드햇의 엔터프라이즈 클론으로 엔터프라이즈의 무료 배포판이라고도 한답니다.

다시.. 우분투를 서버로 쓰기에는 제약사항(우분투 전용 패키지가 부족, sudo 등)이 많아서 우분투의 모체가 된 데비안을 사용하게 된겁니다. 물론 업데이트의 편리함도 빼놓을수 없는 장점이 되겠지요. 레드햇의 패키지가 너무 난립해서 일일히 컴파일해서 설치하는 것에 비하면 아주 수고를 줄여줄수 있을거라 기대했습니다.


ssh
를 설치합니다.

# apt-get install ssh

설치시 openssh-blacklist, openssh-blacklist-extra, opnessh-server, ssh 가 같이 설치됩니다.


자, 다음 순서로는 FTP 서버 vsftp 프로그램 설치입니다.

# apt-get install vsftpd

설치를 마치면 바로 FTP 서비스가 사용가능합니다. 설정하면 /home/ftp 디렉토리가 만들어 지는데 이곳으로 익명 접속 가능합니다.
일반 유저에게도 자신의 홈 디렉토리에 사용할 수 있도록 설정을 바꿔줍니다.

# vi /etc/vsftpd.conf

다음 부분 주석을 풀어줍니다.
 
local_enable=YES
write_enable=YES
local_umask=022


필요에 따라서 다음 설정은 바꿀수도 있습니다.

local_enable : 일반 유저에게 FTP사용 권한을 줍니다. 로그인 명에 따라 자신의 홈 디렉토리로 접속됩니다.
write_enable : 쓰기 권한을 줍니다. 설정이 NO로 되어 있으면 다운로드만 되고 업로드가 되지 않습니다.
local_umask : 업로드한 파일의 권한을 설정합니다. umask를 통해 파일 권한을 주는데 022이면 파일의 권한이 755로 만들어집니다. 000으로 설정하면 파일의 권한이 777이 됩니다.

anonymous_enable : 익명 접속자의 허용 여부를 결정합니다.
anon_upload_enable : 익명 접속자에게 업로드를 허용 여부를 결정합니다.
anon_mkdir_write_enable : 익명 접속자에게 디렉토리 생성을 허용할 것인지를 결정합니다.

chroot_local_user=YES : FTP 로그인시 최상단 디렉토리를 해당 유저의 홈계정 안으로 제한시킨다.
chroot_list_enable=YES : 유저명이 기입된 리스트의 사용을 활성화시킨다.
chroot_list_file=/etc/vsftpd.chroot_list : 유저 리스트의 파일명을 명시합니다.

주의!!
chroot_local_user=YES : 유저리스트에 기입된 유저는 홈 계정을 풀어줄 유저를 의미하게 된다.
chroot_local_user=NO   : 유저리스트에 기입된 유저는 홈 계정을 제한을 가할 유저를 의미하게 된다.

접속 금지할 유저등록은 /etc/ftpusers 에서 합니다.


이번에는 아파치 웹서버를 설치합니다.

원래 이 시스템은 패키지를 선택할 때 "데스크탑 환경", "표준 시스템"을 설치했습니다.  데스크탑으로 쓸 게 아니어서 "표준시스템"만으로 설치를 했어야 합니다. 하지만 예전과는 달리 점차 x윈도우 환경이 더 편해져서 설치를 했습니다. 실제로 사용해 보니 펜3 환경임에도 사용하는 데는 별지장이 없어 그냥 설치를 했습니다.

APM 설치입니다. 아파치(A), PHP(P), My-SQL(M)을 위해 다음을 설치합니다.

# apt-get install apache2
# apt-get install mysql-server
# apt-get install php5
# apt-get install php5-mysql

x 윈도우도 설치했으니 시냅틱 꾸러미 관리자를 사용해도 됩니다. 작업표시줄에서 시스템/관리/시냅틱 꾸러미 관리자를 선택하면 됩니다.

apache2 를 클릭하면 apache2-mpm-worker, apache2-utils, apache 2.2-common, libapr1, libaprutil1, libpq5 가 의존성에 의해 같이 선택됩니다(패키지 7개 새로 설치).

mysql-server 를 선택하면 libdbd-mysql-perl, libdbi-perl, libhtml-template-perl libnet-deamon-perl, libplrpc-perl, libterm-readkey-perl, mysql-client-5.0, mysql-server-5.0 가 의존성에 의해 같이 선택됩니다(패키지 9개 새로설치).

php5
를 선택하면 apache2-mpm-prefork, libapache2-mod-php5, php5-common 가 의존성에 의해 같이 선택됩니다(패키지 4개 새로 설치, 패키지 apache2-mpm-worker 1개 삭제).

php5-mysql 를 선택해서 설치합니다.

phpmyadmin 를 선택하면 libgd2-xpm, libmcrypt4, libtl-5, php5-gd, php-mcrypt, php5-mysql 가 의존성에 의해 같이 선택됩니다(패키지 6개 새로 설치, 패키지 libgd2-noxpm 1개 삭제). 삭제되는 패키지로 인해 의존성이 조금 문제가 됩니다만 예전에 사용시 별문제가 없어 그냥 사용합니다.

프로그램 리스트에서 마우스 휠버튼이나 페이지다운 키 등을 이용해서 찾을려면 시간이 많이 걸립니다. 그냥 목록 리스트 창에서 인스톨 프로그램을 타이핑하면 자동으로 이동하며 엔터키를 치면 클릭해서 선택한 것과 동일합니다.

phpmyadmin 을 인스톨 하게 되면 어떤 프로그램에서 사용할 건지를 묻는 대화창이 있는데 맨 위 apache2 만을 선택하면 됩니다.

설치시 CD 설치가 아닌 네트워크만으로 패키지를 받아서 사용하려면

# vi /etc/apt/source.list
파일을 수정하면 됩니다. 그리고 업데이드와 업그레이드..

# apt-get update
# apt-get upgrade


apt-get 을 사용하거나 시냅틱 꾸러미 관리자를 사용하거나 관계없이 phpmyadmin 설정부분이 생겨납니다.
apache2, apache, apache-ssl, apache-perl, lighttpd 를 선택해 주어야 하는데 apache2 만 선택해 주었습니다.

lighttpd (라이-티-피-디 lite-tee-pee-dee, 짧게는 라이티 lighty라고 읽는다)는 적은 자원을 사용해서 높은 성능을 내는 웹서버로 아파치보다 훨씬 적은 메모리를 사용하면서 아파치보다 속도가 빠릅니다.  최근의 YouTube, Wikipedia, Sourceforge, 씨디네트웍스, 네오위즈, 이글루스 등의 웹 서버로 사용됩니다.



My-SQL root 암호 설정

# mysql -u root mysql

mysql> use mysql;
mysql> update user set password = password('new-password') where user = 'root';
mysql> flush privileges;



아파치 파일 인덱스 표시 안 하도록 변경

# vi /etc/apache2/sites-enabled/000-default

Options Indexes FollowSymLinks MultiViews 를
Options FollowSymLinks MultiViews 로 변경

RedirectMatch ^/$ /apache2-default/ 주석처리


# vi /etc/apache2/apache2.conf

다음 주석 삭제
AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps
AddHandler cgi-script .cgi


AddType application/x-httpd-php .php 뒤에 다음 구문 추가
.inc .php3 .php4 .html .htm


설정파일 위치는 다음과 같습니다.

Apache 설정파일            : /etc/apache2/apache2.conf
웹 문서루트                    : /var/www             /var/www/apache2-default/
Apache 로그파일            : /var/log/apache      /var/log/apache2
Apache 데몬 계정과 그룹 :  www-data www-data
PHP 설정파일                 : /etc/php5/apache2/php.ini
MySQL data 파일 위치    : /var/lib/mysql


아파치 모듈 관리 

/etc/apache2/mod-enable 
/etc/apache2/mod-available

mod-enable는 아파치와 함께 현재 동작되고 있는 모듈입니다.
mod-available는 아파치의 이용할 수 있는 모듈로서, 실제로 동작하지는 않지만 앞으로 사용가능한 것들입니다.



아파치 사용자별 디렉토리 모듈 올리기

사용자별 디렉토리 모듈은 userdir이라는 모듈입니다. 물론 기본으로 탑재 되어 있는것은 아니기 때문에 운영자가 직접 모듈을 탑재 해야 합니다. 간단하게 아래의 명령어로 모듈을 탑재 하실 수 있습니다.

$ sudo cp /etc/apache2/mods-available/userdir.* /etc/apache2/mods-enabled/

userdir.load 와 userdir.conf  파일이 복사되는 데 userdir.load는 모듈 파일이고 userdir.conf는 모듈 설정 파일 입니다.


이제 아파치 서버를 재시작 합니다.

$ sudo /etc/init.d/apache2 restart

이렇게 하면 모듈이 새로 적재되어 사용자별 디렉토리를 사용 할 수 있습니다.




설치를 마쳤으면 웹 클라이언트로 접속해 봅니다.

It Works!

메시지가 나오면 됩니다.

http://192.168.0.100/phpmyadmin/ 이라고 접속하면 phpmyadmin 으로 접속이 가능합니다.


※ 패키지 삭제 시에는
# apt-get remove <패키지 명>, 설정 파일까지 완전 삭제하려면 뒤에 --purge 명령을 추가해주면 된다.



사용하지 않는 서비스 확인 후 제거 

[시스템]-[관리]-[서비스]
예) 끄기: 블루투스 장치관리(bluetooth)


인터넷 속도 개선을 위한 IPv6 프로토콜 끄기

# vi /etc/modprobe.d/aliases
alias net-pf-10 ipv6 을 alias net-pf-10 off #ipv6 로 변경


호스트 이름 지정으로 프로그램 처음 실행속도 높이기
# vi  /etc/hosts
127.0.0.1   localhost
127.0.1.1   내 호스트이름

127.0.0.1   localhost 내 호스트이름
127.0.1.1   내 호스트이름


 

Name
Password
Homepage
Secret