2009년 6월 1일 월요일
2009년 5월 16일 토요일
CentOS 5에 Yum이 설치 되어있지 않을때...
CentOS 5에 yum이 안붙어 올때가 있습니다...
그럴때는...
설치법.
파일받을때는 wget 링크 주소...
rpm -Uvh *.rpm
이렇게 해주면 .rpm 파일이 있으면 설치해준다...
자주 뜨는 Error 들...
warning: yum-3.2.8-9.el5.centos.1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
error: Failed dependencies:
python-elementtree is needed by yum-3.2.8-9.el5.centos.1.noarch
python-iniparse is needed by yum-3.2.8-9.el5.centos.1.noarch
python-sqlite is needed by yum-3.2.8-9.el5.centos.1.noarch
rpm-python is needed by yum-3.2.8-9.el5.centos.1.noarch
urlgrabber >= 3.1.0 is needed by yum-3.2.8-9.el5.centos.1.noarch
warning: python-elementtree-1.2.6-5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
error: Failed dependencies:
m2crypto >= 0.16-5 is needed by python-urlgrabber-3.1.0-2.noarch
rpm-python is needed by yum-3.2.8-9.el5.centos.1.noarch
2009년 4월 17일 금요일
Terminal 명령어
아이콘찾아다닐필요없이, 명령어만입력하면 일을 척척하니깐....
프로그램설정내용을바꾸기위해편집기로설정파일을 불러와 수정을 해야할때..
우분투는 기본적인편집기로 gedit을 사용한다. 프로그램설정내용을 바꾸려면.
최고권위자의 권위가 필요하기때문에, sudo 를 앞에넣어주고 gedit으로 수정한
파일을 연다...
---------------------------------------------------------
이후 gedit이 실행되며, 설정파일을 편집한후저장할수있게 된다.
---------------------------------------------------------
비교적자주쓰는명령어와 도움말
mv라는 명령어에 대해 도움말을 표시해준다.
---------------------------------------------------------
sudo apt-get remove 프로그램꾸러미
프로그램을 설치제거하는 명령어...
---------------------------------------------------------
sudo apt-get upgrade
sudo apt-get full-upgrade
sudo apt-get safe-upgrade
sudo apt-get dist-update
update는 저장소에서 이전보다 개선된꾸러미가 나왔나를 확인하는 명령
upgrade는 컴퓨터에 설치된 꾸러미중에 새로개선된 내용이 있으면 저장소에서 가져다가 설치하란 명령
dist-upgrade는 컴퓨터에 설치된 꾸러미는 아니지만, 우분투 필요한 추가꾸러미를 가져다가 설치하라는 명령.
---------------------------------------------------------
ls -al
ls는 list의 약자, 옵션으로 -ls를 더해주면 파일에대한 상세한정보를 보여줌
-al 옵션은 숨겨진 파일도 보여준다.
---------------------------------------------------------
cp 파일명1 파일명2
파일명1을 지우고 파일명2로옮김, 파일명1을 복사해 파일명2로저장..
---------------------------------------------------------
디렉토리1의 내용을 디렉토리2로 옮김, 원본은 지워지며, 디렉토리2가 없다면 새로만들어짐..cp에도 비슷하게 적용
---------------------------------------------------------
파일이나 디렉토리에 대한 읽기(r),쓰기(w),실행하기(x)소유권을 변경할때 씀, ls -ls로 파일이름을 보면
파일명에 drwx-xr-x하는 식으로 내용일 출력되는데 이것은 파일의 소유권을 표시한것, rwx권한이 주어져야.
파일을 마음대로 처리할 수 있음.
---------------------------------------------------------
컴퓨터에 설치된 우분투 판번호 확인
---------------------------------------------------------
오늘날짜와 현재시간 출력
---------------------------------------------------------
이번달 달력출력
---------------------------------------------------------
df -h
디스크사용량출력
-h 옵션을 더하면 MB 으로 표시 해준다.
---------------------------------------------------------
해당 디렉토리의 디스크사용량출력..
---------------------------------------------------------
sudo apt-get install mc
mc 는 MS-DOS 같이 생긴.. (MS 식으로 설명하자면... 탐색기다...)
APM 설치 - Compile
아니면
참고 해보세요... 아주 쉽게 설명 있습니다..
APM 설치 - yum 이용
Yum 을 사용해 설치시..
Apache2+PHP 설치
아파치 시작
에러 메시지
Apache Config 수정
#ServerName www.example.com:80
호스트이름으로 바꿔야한다... (그리구 #을 지우고..)
그리구 아파치 다시 시작
서버 제시작할시 Apache를 자동시작하게 추가
확인 방법
예를 들자면
team1ab @ centos ~ $ sudo /sbin/chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
MySQL 설치
MySQL 시작
시작하면. (에러 메시지)
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h centos password 'new-password'
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ]
MySQL Root 비번 설정
Note. "new-password" 에 본인이 비번 설정해준것으로 로그인.
예를 들면
MySQL 에 접속해보자
예를 들면.
Enter password:
하면 비밀번호를 입력해주고 Enter, 해주면 저 메시지가 나온다.. 그럼 설치가 된것이다...
Your MySQL connection id is 4
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
종료할때는 >> \q << 해주면된다...
MySQL를 서버 재시작시 자동으로 실행하구 싶으면.
해주고 확인시.
예를 들면.
team1ab @ centos ~ $ sudo /sbin/chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
그럼 설치 끝이다...
이제 잘사용해보세요...
그냥... 쉽게 기본만 설치할시..
Apache2+PHP5+MySQL5
설정은 똑같이 위에 것들을 따라 하시면 됩니다.
2009년 4월 11일 토요일
bashrc 설정
#0 = 기본값
#1 = 볼드체
#4 = 밑줄
#5 = 점멸
#7 = 역상
#Prompt Color Code
#31 = 빨강, 32 = 초록, 33 = 오렌지, 34 = 파랑,
#35 = 자주, 36 = 청록, 37 = 회색,
#90 = 진회색, 91 = 연빨강, 92 = 연두, 93 = 노랑,
#94 = 연한 파랑, 95 = 연한 자주, 96 = 하늘색
#
#40 = 검정 배경, 41 = 빨강 배경, 42 = 초록 배경,
#43 = 오렌지 배경, 44 = 파랑 배경, 45 = 자주 배경,
#46 = 청록 배경, 47 = 회색 배경,
#100 = 진회색 배경, 101 = 연한 빨강 배경, 102 = 연두 배경,
#103 = 노랑 배경, 104 = 연한 파랑 배경, 105 = 연한 자주 배경,
#106 = 하늘색 배경
예를 들면.
export PS1='\[\033[01;94m\]\u\[\033[0;33m\] @ \[\033[1;31m\]\h \[\033[01;33m\]\W \$ \[\033[00m\]'

\u = 유저 이름을 말하는거다...
@ = @ 을 표시 해주는거구...
\h = 호스트 이름이다...
\W = 지금 어디에 있는지 표시 해준다...
알아서 마추어보면서... 해야한다...
2009년 4월 1일 수요일
SCIM 한영키 설정하기
그럴때는...
그 문서 안에...
keycode 105 = Hangul_Hanja
저기 위에 있는 108, 105 는
xev로 한영키, 한자키 값 확인하시고
바꿔주시면 됩니다...
그리구 Xsession 을 다시 시작해주세요..
sudo killall nautillus && sudo killall gnome-panel
아니면,
그냥 Ctrl+Alt+BackSpace 하시면 됩니다..
2009년 3월 23일 월요일
CentOS
이번에 좋은 글들을 찾아서 CentOS 에 대한 기본 서버 설정 링크들을 준비 해봤습니다..
http://dev.antoinesolutions.com/ << 영어지만 쉽게 되있다..
http://articles.slicehost.com/ << 영어지만 많다.
http://linux.tini4u.net/ << 한글이구 기본적인거는 다있다.
http://kldp.org/ << 리눅스 전체를 말하지만... 보면 CentOS에 대한것들이 많다..
그중... 제일 좋은거는
http://www.google.com << 구글신이다!!!!
Vista Start Menu
마음에 드는 시작메뉴 스타일을 찾았습니다...
http://www.vistastartmenu.com/index.html
가셔서 다운로드 하시면 됩니다.
스크린샷.

아파치 Virtualhost 설정법
거기에..추가한다..
ServerAdmin admin@abc.com
ServerName abc.com
ServerAlias www.abc.com
DocumentRoot /home/abc/abc.com
<Directory "/home/abc/abc.com">
Options FollowSymLinks Multiviews
AllowOverride all
</Directory>
LogLevel warn
ErrorLog /var/log/apache2/abc.com-error.log
CustomLog /var/log/apache2/abc.com-access.log combined
</VirtualHost>
그리구 저 virtualhost를 실행 시키려면...
시키면..
그럼 따라서...
Phpmyadmin 설치법
그럼 알아서 설치가 된다...
그럼 /var/www/ 에 phpmyadmin 디렉토리shortcut이 생긴다..
그걸 본인이 아파치 virtualhost 설정한데로옮긴다..
뭐 예를 들자하면 /home/유저/html/aaa.com
로 virtualhost 를 설정했다면... 거기로 Shortcut 옮긴다..
그리고는
마지막에
Include /etc/phpmyadmin/apache.conf
그리고는 저장하구 나와서...
LAMP 설치 및 설정법
A - Apache/아파치
M - mysql/디비
P - php+python+perl
Apache/아파치 설치및 설정법
터미널에서
해준다.... (둘중에 편한걸로 하면된다...)
그후에...
그리구... apache2.conf 마지막에.
저방법으로 리스타트를 해주면 open connection을 죽이지 않는다...
그후에.. 서버 아이피로 접속해보면...

M - Mysql (DB)


그럼 설치 끝이다....
P - Php
(그 리스트에서 본인이 골라서 설치해도 되지만.. 전 다해보겠습니다...)
그게 설치 다되면...
2009년 3월 13일 금요일
LLMP 설치 및 설정법
L - Lighttpd
M - Mysql
P - PHP
전 Ubuntu 8.04 (Hardy Heron/하디 헤론) 으로 해보겠습니다...
Lighttpd 설치법
설치 확인하려면
http://localhost
Mysql 설치법
루트 비밀번호를 설정하라구 파란화면이 뜬다. (아래 그림.)

비밀번호를 확인차 다시 쓰라구 화면이 뜬다.. (아래 그림)

확인하려면

로그인이 된 화면

php 설치법
설치해준다.
Lighttpd / PHP 설정법
PHP부터 해보자.
에서 맨마지막으로 간다 (Ctrl+v) 누르면 다음장으로 갈껏이다.
마지막에 추가 한다.
Lighttpd 설정법
mod_fastcgi 를 추가해주자, 그리구 mod_rewrite 을 enable 시켜주자,
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_compress",
"mod_fastcgi",
"mod_rewrite",
# "mod_redirect",
# "mod_evhost",
# "mod_usertrack",
# "mod_rrdtool",
# "mod_webdav",
# "mod_expire",
# "mod_flv_streaming",
# "mod_evasive"
)
마지막에 추가 해준다...
fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php5-cgi",
"socket" => "/tmp/php.socket",
"max-procs" => 1,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "1000"
),
)))
저장후 lighttpd을 다시 시작해준다.
시험하기 위해.. phpinfo 페이지를 만들어보자..
nano가 열리면 빈문서일것이다, 그럼 거기에 추가한다.
phpinfo();
?>
그리구 저장하구 한번 페이지에 가보자. (인터넷에서)
http://localhost/phpinfo.php
그럼 페이지에서 PHP Version 5.x.x (대충이렇게 뜰꺼다)
거기에서 mysql 과 mysqli 가 뜨는지 보구
페이지 마지막에 PHP Variable 설정이 됬는지 본다..
그럼 끝이다..
마지막으로,
Mysql 관리를 쉽게 할수있게.. phpmyadmin 을 설치한다
설치하는 화면중 (아파치/lighttpd 선택 스크린이 뜬다)
그럼, lighttpd 으로 선택해준다..

설치가 끝나면.. 이것을 터미널에 써준다.
lighttpd 를 다시 시작한다.
다음, phpmyadmin 설치를 확인하려면 (인터넷창에)
http://localhost/phpmyadmin
로그인 화면이 뜨면 다 끝난거다.
로그인은 아까 mysql 에서 root 계정 비밀번호 설정해준거와 같다..
Id. root
pw. mysql 비번
LLMP 설정 끝이 난거다..
2009년 1월 26일 월요일
irssi 에서 한글 깨질때.
irssi 에서 한글이 깨지는 현상이 있을때...
우선은 locale 이 ko_KR.UTF-8 으로 설정되있는지 알아보구...
로켈 (locale) 설정을 보려면,
echo $lang << 을 쓴다.. SSH/터미널에..
그리구, ko_KR.UTF-8 << 가 떠야, 한글이 안깨진다...
아니면, locale << 써봐도 된다...
만약에 설정이 안되있다면,
아래 있는걸 따라서 해보세요...
설치 $ sudo apt-get install language-pack-ko
시스템 전체 로케일 변경 $ sudo locale-gen ko_KR.UTF-8
설정 $ sudo dpkg-reconfigure locales
저걸 다하면, reboot
irssi 에서...
/set recode on
/set recode_fallback cp949
/set recode_out_default_charset cp949
/set recode_transliterate on
/save
를 설정해준다....
그후에,
/server irc.hanirc.org
(또는 /server miyu.hanirc.org 8080)
Ubuntu 에서 프로그램 다운로드 할때...
뭐.. 강좌라구도 할수 없는 기본이다...
환경, 전 우분투, 에서 한거 입니다...
처음 SSH/터미널을 키면....
~user@이름 $ << 나온다...
거기에서, 예를 들어, irssi 를 다운로드 해서 인스톨하구 싶으면,
터미널/SSH 창에..
apt-get install irssi << 하면.. 된다....
그럼, /etc/irssi.conf 가 생긴다, 아니면, /home/유저/irssi 가 생긴다,
거기들어가면, irssi.conf 가있다... 거기서 설정을 바꾸어 주면된다...
기본설정은...
servers = (
{ address = "irc.ubuntu.com"; chatnet = "Ubuntu"; port = "6667"; },
{ address = "irc.stealth.net"; chatnet = "IRCnet"; port = "6668"; },
{ address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
{
address = "irc.undernet.org";
chatnet = "Undernet";
port = "6667";
},
{ address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
{
address = "irc.quakenet.org";
chatnet = "QuakeNet";
port = "6667";
},
{ address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }
);
chatnets = {
IRCnet = {
type = "IRC";
max_kicks = "4";
max_msgs = "5";
max_whois = "4";
max_query_chans = "5";
};
EFNet = {
type = "IRC";
max_kicks = "4";
max_msgs = "3";
max_whois = "1";
};
Undernet = {
type = "IRC";
max_kicks = "1";
max_msgs = "3";
max_whois = "30";
};
DALnet = {
type = "IRC";
max_kicks = "4";
max_msgs = "3";
max_whois = "30";
};
QuakeNet = {
type = "IRC";
max_kicks = "1";
max_msgs = "3";
max_whois = "30";
};
SILC = { type = "SILC"; };
Ubuntu = { type = "IRC"; };
};
channels = (
{ name = "#irssi"; chatnet = "ircnet"; autojoin = "No"; },
{ name = "silc"; chatnet = "silc"; autojoin = "No"; }
);
aliases = {
J = "join";
WJOIN = "join -window";
WQUERY = "query -window";
LEAVE = "part";
BYE = "quit";
EXIT = "quit";
SIGNOFF = "quit";
DESCRIBE = "action";
DATE = "time";
HOST = "userhost";
LAST = "lastlog";
SAY = "msg *";
WI = "whois";
WII = "whois $0 $0";
WW = "whowas";
W = "who";
N = "names";
M = "msg";
T = "topic";
C = "clear";
CL = "clear";
K = "kick";
KB = "kickban";
KN = "knockout";
BANS = "ban";
B = "ban";
MUB = "unban *";
UB = "unban";
IG = "ignore";
UNIG = "unignore";
SB = "scrollback";
UMODE = "mode $N";
WC = "window close";
WN = "window new hide";
SV = "say Irssi $J ($V) - http://irssi.org/";
GOTO = "sb goto";
CHAT = "dcc chat";
RUN = "SCRIPT LOAD";
CALC = "exec - if which bc &>/dev/null\\; then echo '$*' | bc | awk '{print \"$*=\"$$1}'\\; else echo bc was not found\\; fi";
SBAR = "STATUSBAR";
INVITELIST = "mode $C +I";
Q = "QUERY";
"MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
EXEMPTLIST = "mode $C +e";
ATAG = "WINDOW SERVER";
};
statusbar = {
# formats:
# when using {templates}, the template is shown only if it's argument isn't
# empty unless no argument is given. for example {sb} is printed always,
# but {sb $T} is printed only if $T isn't empty.
items = {
# start/end text in statusbars
barstart = "{sbstart}";
barend = "{sbend}";
topicbarstart = "{topicsbstart}";
topicbarend = "{topicsbend}";
# treated "normally", you could change the time/user name to whatever
time = "{sb $Z}";
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
# treated specially .. window is printed with non-empty windows,
# window_empty is printed with empty windows
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
window_empty = "{sb $winref{sbservertag $tag}}";
prompt = "{prompt $[.15]itemname}";
prompt_empty = "{prompt $winname}";
topic = " $topic";
topic_empty = " Irssi v$J - http://irssi.org/help/";
# all of these treated specially, they're only displayed when needed
lag = "{sb Lag: $0-}";
act = "{sb Act: $0-}";
more = "-- more --";
};
# there's two type of statusbars. root statusbars are either at the top
# of the screen or at the bottom of the screen. window statusbars are at
# the top/bottom of each split window in screen.
default = {
# the "default statusbar" to be displayed at the bottom of the window.
# contains all the normal items.
window = {
disabled = "no";
# window, root
type = "window";
# top, bottom
placement = "bottom";
# number
position = "1";
# active, inactive, always
visible = "active";
# list of items in statusbar in the display order
items = {
barstart = { priority = "100"; };
time = { };
user = { };
window = { };
window_empty = { };
lag = { priority = "-1"; };
act = { priority = "10"; };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
# statusbar to use in inactive split windows
window_inact = {
type = "window";
placement = "bottom";
position = "1";
visible = "inactive";
items = {
barstart = { priority = "100"; };
window = { };
window_empty = { };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
# we treat input line as yet another statusbar :) It's possible to
# add other items before or after the input line item.
prompt = {
type = "root";
placement = "bottom";
# we want to be at the bottom always
position = "100";
visible = "always";
items = {
prompt = { priority = "-1"; };
prompt_empty = { priority = "-1"; };
# treated specially, this is the real input line.
input = { priority = "10"; };
};
};
# topicbar
topic = {
type = "root";
placement = "top";
position = "1";
visible = "always";
items = {
topicbarstart = { priority = "100"; };
topic = { };
topic_empty = { };
topicbarend = { priority = "100"; alignment = "right"; };
};
};
};
};
settings = {
core = {
real_name = "";
user_name = "user";
nick = "user";
};
"fe-text" = { actlist_sort = "refnum"; };
};
이렇게 되있다...
여기에서,
아래에 첨부된 부분만 수정해주면 된다...
servers = (
{
address = "irc.hanirc.org";
chatnet = "HanIRC";
port = "6667";
autoconnect = "yes";
},
{ address = "iz4u.hanirc.org"; chatnet = "HanIRC"; port = "8080"; },
{
address = "holywar.hanirc.org";
chatnet = "HanIRC";
port = "6664";
}
);
chatnets = {
HanIRC = {
type = "IRC";
autosendcmd = "/mode $N +iwxg;
/^msg chanserv auth #채널 아이디 비번;";
};
};
channels = (
{ name = "#자동조인 할 채널1"; chatnet = "HanIRC"; autojoin = "Yes"; },
{ name = "#자동조인 할 채널2"; chatnet = "HanIRC"; autojoin = "YES"; },
{
name = "#m";
chatnet = "HanIRC";
autojoin = "No";
password = "passwd";
},
{
name = "#Channel_04";
chatnet = "HanIRC";
autojoin = "No";
password = "passwd";
}
);
settings = {
core = {
real_name = "Irssi";
user_name = "유져이름";
nick = "닉네임";
};