2010년 1월 9일 토요일
2009년 12월 30일 수요일
XE 설치
/pub/linux/centos/5.2/os/i386
useradd 만들id
(-D옵션을 통해 루트 디렉토리를 정할 수 있다)
passwd 만들id
groupadd 그룹이름
- apache 2.2.11
다운로드 : http://httpd.apache.org/ - php 5.2.9
다운로드 : http://php.net/ - mysql 5.0.77
다운로드 : http://mysql.com/ mysql-5.0.77-linux-i686-icc-glibc23.tar.gz
단, mysql은 성능 향상을 위해서 직접 컴파일 하지 않고 Intel C/C++ compiled 를 사용하였습니다. - Zend Optimizer 3.3.3
다운로드 : http://zend.com - xCache 1.2.2 (공식사이트 적용 결과 eAccelerator로 채택)
다운로드 : http://xcache.lighttpd.net/ - eAccelerator 0.9.5.3
다운로드 : http://bart.eaccelerator.net/source/0.9.5.3/
MySQL 5.0.77 설치
- 다운 받은 mysql-5.0.77-linux-i686-icc-glibc23.tar.gz 를 /usr/local/msyql-5.0.77-linux-i686-icc-glibc23.tar.gz 로 복사합니다.
파일 이름은 버전, glibc 버전에 따라 다를 수 있습니다.
/bin/cp msyql-5.0.77-linux-i686-icc-glibc23.tar.gz /usr/local - /usr/local 디렉토리로 이동합니다.
cd /usr/local - 압축 해제를 합니다.
tar xvfz msyql-5.0.77-linux-i686-icc-glibc23.tar.gz - mysql 버전 업그레이드시마다 디렉토리 명을 재지정하지 않기 위해 심볼릭 링크를 겁니다.
ln -s msyql-5.0.77-linux-i686-icc-glibc23 mysql
위와 같이 하면 차후부터 /usr/local/mysql 을 mysql의 경로로 지정하면 됩니다.
다만 /usr/local/mysql/data 디렉토리의 경우 잘 관리를 해주어야 합니다. - mysql에서 권장하는 데로 mysql 계정과 그룹을 생성하여 줍니다.
groupadd mysql
useradd -g mysql mysql - mysql디렉토리에 권한을 부여합니다.
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql . - DB 인스톨을 합니다. (Intel C/C++ 컴파일 버전은 따로 컴파일 할 필요 없이 DB 생성을 하면 됩니다.
./scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data - mysql 대몬을 시작합니다.
./bin/mysqld_safe --user=mysql & - 새롭게 MySQL을 설치한 경우 MySQL ROOT 비밀번호를 지정해주어야 합니다.
./bin/mysqladmin -u root password '비밀번호'
이제 mysql 설치는 끝났고 /usr/local/mysql/bin/mysql -u root -p 명령을 통해서 root 계정으로 접속 테스트를 하면 됩니다.
*주의: XE를 설치하기전에 시스템을 재부팅하면 mysql 을 시작할 수 없다.
mysql 이 시작되지 않으면 다시 설치하여야 한다.
Error
091122 2:38:19 [Warning] Can't create test file /var/lib/mysql/localhost.lower-test
/usr/local/mysql/bin/mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 2)
091122 2:38:19 [ERROR] Aborting
091122 2:38:19 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
# mkdir /var/lib/mysql && chown -R mysql /var/lib/mysql
Apache, PHP 컴파일 설치
PHP는 Apache의 모듈로 탑재되어 동작을 하기에 Apache과 PHP는 같이 설치를 하는 것이 일반적입니다.
여기 사용된 Apache, PHP파일은 다음과 같습니다.
- Apache : httpd-2.2.11.tar.gz
- PHP : php-5.2.9.tar
프로그램 버전에 따라 다른 이름을 가질 수 있습니다만 각 압축을 해제한 파일을 아래와 같은 위치에 두도록 합니다.
- Apache : /root/httpd
- PHP : /root/php
아래와 같은 순서로 컴파일 하시면 됩니다.
- 아파치
[root@localhost apache]# ./configure --prefix=/usr/local/apache --enable-so --enable-modules=so --with-mpm=worker --enable-rewrite
[root@localhost apache]# make
[root@localhost apache]# make install
다양한 옵션을 줄 수 있지만 최소한의 설치만을 위해서 위와 같이 enable so, enable rewrite 만 옵션으로 두고 컴파일을 합니다.
설치되는 경로는 /usr/local/apache 로 합니다.
/usr/local/apache/bin/apachectl start
위의 명령으로 웹서버를 실행하여 확인하실 수 있습니다.
noacceptable C compiler found in $PATH 에러가 나오는 경우
[root@localhost apache]# rpm -qa|grep gcc // gcc가 깔렸는지 확인
libgcc-4.1.2-46.le5[root@localhost apache]#
// gcc가 깔리지 않은 경우이다.
[root@localhost apache]# yum install gcc
//gcc 설치
libapr-1.la 오류1 // 에러의 경우
[root@localhost apache]# yum install libtool
[root@localhost apache]# make distclean - PHP
PHP의 경우 다양한 연동 프로그램이 필요할 수 있습니다.
예를 들어 XE에서 썸네일을 만들기 위해 GD Library가 필요하기도 하고 png, gif등을 다루기 위한 라이브러리가 필요하기도 합니다.
소개하고 있는 CentOS에서는 yum을 이용하여 관련 라이브러리들을 먼저 설치할 수 있고 다른 리눅스 OS도 비슷한 라이브러리 설치 도구를 제공할 것입니다.- 필요한 라이브러리 설치 (CentOS)
yum -y install libxml2 libjpeg libpng freetype - PHP 컴파일
에러 나는 경우
한줄 해결 yum install libxml2-devel openssl-devel bzip2-devel curl-devel libjpeg-devel libpng-devel freetype-devel gmp-devel mysql-devel ncurses-devel unixODBC-devel pspell-devel net-snmp-devel
1) Configure: error: xml2-config not found. Please check your libxml2 installation.
해결책 : #yum install libxml2-devel
2) Checking for pkg-config... /usr/bin/pkg-config
configure: error: Cannot find OpenSSL's <evp.h>
해결책 : #yum install openssl-devel
3) Configure: error: Please reinstall the BZip2 distribution
해결책 : # yum install bzip2-devel
4) Configure: error: Please reinstall the libcurl distribution -
easy.h should be in <curl-dir>/include/curl/
해결책 : # yum install curl-devel
5) Configure: error: libjpeg.(also) not found.
해결책 : # yum install libjpeg-devel
6) Configure: error: libpng.(also) not found.
해결책 : # yum install libpng-devel
7) Configure: error: freetype.h not found.
해결책 : #yum install freetype-devel
8) Configure: error: Unable to locate gmp.h
해결책 : # yum install gmp-devel
9) Configure: error: Cannot find MySQL header files under /usr.
Note that the MySQL client library is not bundled anymore!
해결책 : # yum install mysql-devel
10) Configure: error: Please reinstall the ncurses distribution
해결책 : # yum install ncurses-devel
11) Checking for unixODBC support... configure: error: ODBC header file '/usr/include/sqlext.h' not found!
해결책 : # yum install unixODBC-devel
12) Configure: error: Cannot find pspell
해결책 : # yum install pspell-devel
13) Configure: error: snmp.h not found. Check your SNMP installation.
해결책 : # yum install net-snmp-devel
펼쳐두기..
# tar xvfj php-5.2.9.tar.bz2Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391 에러가 나는 경우
http://dev.messfilm.com/125
# mv php-5.2.9 /root/php
# cd /root/php
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --enable-magic-quotes --disable-dmalloc --enable-bcmath --enable-gd-native-ttf --enable-sysvsem --enable-sysvshm --enable-inline-optimization --enable-mbstring --enable-mbregex --enable-gd-native-ttf --enable-ftp --with-jpeg-dir --with-freetype-dir --with-curl --with-zlib --with-gd --with-ttf --with-iconv --disable-debug
make
make install - PHP의 make install 시에 libmysqlclient.so.15 를 찾을 수 없다는 에러가 나오면 다음과 같이 해당 파일을 symbolic link로 처리할 수 있습니다.
ln -s /usr/local/mysql/lib/libmysqlclient.so.15.0.0 /usr/lib/libmysqlclient.so.15
다시 make install 하면 됩니다. - php.ini 파일 복사/ 설정
php 구동시 기본 설정을 읽는 php.ini 파일을 여기서는 /usr/local/php/lib/php.ini로 복사 합니다.
cp php.ini-dist /usr/local/php/lib/php.ini
위 파일을 열고 아래 부분을 수정합니다.
register_globals = Off
post_max_size = 200M
file_uploads = On
upload_tmp_dir = /tmp
uplaod_max_filesize = 200M
allow_url_fopen = Off
allow_url_include = Off
위의 설정중 이미 동일하게 설정된 것도 있을 수 있습니다.
post_max_size는 post되는 정보의 사이즈를 설정하는 것이고 upload_max_filesize는 업로드 가능한 최고용량이니 서비스에 맞게 적절히 수정하시면 됩니다.
- 필요한 라이브러리 설치 (CentOS)
- Zend Optimizer 설치
PHP의 기본 상태로 사용시 성능이 매우 저조한데 이를 위해 Zend Optimizer를 설치합니다.
다운로드 받은 Zend Optimizer 압축 해제후 아래와 같이 실행하면 자동으로 설치 됩니다.
./install
위 스크립트를 실행하면 설치 스크립트가 자동으로 위치를 읽어서 진행을 하게 됩니다.
Zend Optimizer를 설치하면 /etc/php.ini 는 /usr/local/Zend/etc/php.ini 로 대체됩니다.
관련문서1 관련문서2 - Apache에 PHP 설정하기
아파치 설정파일에 PHP 실행을 연동하기 위한 설정을 합니다.
/usr/local/apache/conf/httpd.conf 파일을 열어서 아래와 같은 부분을 변경합니다.
LoadModule php5_module modules/libphp5.so
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
<IfModule mime_module>
...
AddType application/x-httpd-php .php
...
</ifModule> - xCache 연동 (eAccelerator로 대체)
- eAccelerator 설치
bash: phpize: command not found
다운로드 받은 파일의 압축을 풀고 다음과 같이 설치하시면 됩니다.*압축풀기 명령어 tar xfvj
bash: phpize: command not found
yum install php-devel
- 관련문서 PHP - eAccelerator 설치# tar xvfj eaccelerator-0.9.5.3.tar.bz2
# cd eaccelerator-0.9.5.3
# ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config
# make && make install
그리고 /usr/local/Zend/etc/php.ini 파일을 열어서 Zend Optimizer 문 위에 아래와 같은 내용을 입력하세요.
zend_extension_ts="/usr/local/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.log_file="/var/log/eaccelerator.log"
* /var/cache/eaccelerator 디렉토리를 생성하셔야 합니다.
# mkdir /var/cache/eaccelerator
# chown nobody /var/cache/eaccelerator
# chmod 700 /var/cache/eaccelerator
정상적으로 설치 되었다면 위와 같이 eAccelerator, Zend Optimizer 둘다 보여야 합니다.
mysql 시작
/usr/local/mysql/bin/mysqld --user=mysql &
아파치 시작
/usr/local/apache/bin/apachectl restart
/usr/local/Zend/etc/php.ini
/usr/local/apache/htdocs
/usr/local/apache/conf/httpd.conf
/usr/lib/php/modules/eaccelerator.so
/etc/vsftpd/vsftpd.conf
펼쳐두기..
mysql 접속이 안될경우
# /usr/local/mysql/bin/mysqld_safe --user=mysql&
# mkdir /var/run/mysqld && chown mysql /var/run/mysqld
재부팅 후 # ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
<naljebii> man 파일은 /usr/share/man/0/
<naljebii> 실행 파일은 /usr/bin/
<naljebii> 라이브러리는 /usr/lib
<naljebii> 라이브리리 링크지
* bluetux (~terry@115.93.180.244) Quit (Quit: Leaving)
<naljebii> 라이브러리는 /usr/lib/mysql
<naljebii> 또 뭐있지
<naljebii> info파일은
<naljebii> man shared
<naljebii> db파일은
<naljebii> 어디였지 /var/mysqld 였나
<naljebii> 로그는 /var/log/mysql
Can't connect to local MySQL server throught socket '/var/lib/mysql/mysql.sock' (2)
<엘카> mysql -u root -p mysql
// check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
#vi /usr/local/apache/htdocs/conf/httpd.conf
#URL Rewrite 설정
<Directory "/usr/local/apache/htdocs">
...
AllowOverride All
...
</Directory>
비어있는 디렉토리 접근 불가
Options Indexes FollowSymLinks -> Options FollowSymLinks
ssh 설정
#vi /etc/ssh/sshd_config
#PermitRootLogin yes -> PermitRootLogin no
/* vsftpd 설정 */
/etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
anonymous_enable=NO
#vi /etc/vsftpd/chroot_list
리눅스 압축 명령어
Linux 에서 주로 사용되는 압축 명령들
1) tar
home 라는 디렉토리를 압축 하는 예제
압축 : tar cvfz home.tgz /home
압축 해제 : tar xvfz home.tar
2) tar와 gz이 같이 있을 경우 압축 해제(tgz, tar.gz)
gzip -dc 화일명.tgz | tar -xvf -
tar -xvfz 화일명.tgz
3) gzip 명령
압축하기 : gzip 화일명 => gzip file.tar
압축해제 : gzip -d 화일명 ==> gzip -d file.tar.gz
4) compress 압축 명령
압축하기 : compress 화일명
압축해제 : uncompress 화일명.z
5) zip : unzip 화일명.zip
6) compress와 tar의 경우 해제시(tar.z)
uncompress -c 화일명 | tar xvf -http://www.fduser.org/blog/73
2009년 12월 12일 토요일
SSH 설치부터 접속까지. - Linux CentOS
- ssh 설치 - 보통은 이미 설치되어 있다.
- 방화벽 허용
ssh (23) 포트를 풀어준다. - Root 계정 비허용
#vi /etc/ssh/sshd_config#LoginGraceTime 2m
#PermitRootLogin yes 되있는 것을 PermitRootLogin no 라고 고침.
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6 - 접속
putty 라는 프로그램을 사용한다. (무설치)
필자는 22번 포트에 아이피 주소를 적고 접속하였다.
리눅스 계정 기본 사용법
리눅스 기본 명령어
|
ls 명령어 : ls 는 파일의 목록을 보는 명령어이다. 이 명령어에는 많은 옵션이 있으며 여기에서는 가장 많이 사용되는 몇 가지만 알아보도록 한다. $ ls <옵션> F : 파일 유형을 나타내는 기호를
파일명 끝에 표시한다 cat 명령어 : 파일의 내용을 화면에 출력한다. $ cat 파일이름 mv 명령어 : 파일의 위치를 옮기거나 이름을 바꿀 경우 사용된다. 이름 변경 : $ mv old_name new_name
cp 명령어 : 파일을 복사한다 $ cp file_a file_b (file_a을 file_b이란
이름으로 복사한다) more 명령어 cat 명령어는 실행을 시키면 한 화면을 넘기는 파일일 경우 그 내용을 모두 볼 수가 없다. 하지만 more 명령어를 사용하면 한 화면 단위로 보여줄 수 있어 유용하게 사용된다. Space bar : 다음 페이지 chmod 명령어 : 사용자에 대한 파일의 접근을 제한하는데 사용된다. $ chmod 755 file_name rm 명령어 : 파일을 삭제한다. $ rm <파일이름> (파일을 삭제한다) mkdir 명령어 : 디렉토리를 만든다. $ mkdir <디렉토리이름> pwd 명령어 : 현재 자신의 작업 디렉토리를 보여준다. $ pwd /home/hosting_users/jasko21/www/ec01 who 명령어 : 현재 시스템에 login 하고 있는 사용자의 리스트를 보여준다. $ who whereis 명령어 : 소스, 실행파일, 메뉴얼 등의 위치를 알려줌 $ whereis perl (perl의 위치를 알려준다) 새로운 파일을 만드는 방법 $ vi newfile (vi 편집기 상태로
들어감) 파일 내용만 보기 $ cat filename (파일의 내용을 모두
보여줌) 파일 (디렉토리) 압축 하고 풀어보기 압축파일풀기 : tar -xvf FILE_NAME.tar |
VI 문서 편집기 사용하기
|
파일 열기 및 종료 열기 : vi letter.txt 편집모드 i ; 커서앞에 텍스트 삽입 텍스트 교체 r ; 한 글자만 교체 커서이동 ←, h, <del> 신속이동 w ; 오른쪽으로 특수문자 혹은 한단어의
처음으로 이동 한 행 안에서의 이동 0 (숫자) ; 행의 맨 처음으로 이동 페이지 이동 G ; 문서의 맨 끝 행으로 이동 삭제명령 dw ; 한 단어 삭제 숫자와 명령의 조합 예제 10j ; 10줄 위로 이동 복사 & 붙여넣기 x, dw, dd, D → p ; 커서 뒤에 임시
버퍼내용 추가 텍스트 복사 yw ; 한단어 복사 2줄 붙이기 ; J 텍스트 탐색 / ; 전방 탐색 행 번호 붙이기 :set nu 특정 행 번호로 이동 :1 ; 1번째 행으로 이동 범위 지정 v :1,10d ; 1번행부터 10번행가지 삭제(d) 일부분 저장 :1,.w part1.txt ; 1행부터 현재
행까지 part1.txt 라는 이름으로 저장 다른파일 내용 (읽기) 삽입 :r insert.txt ; 커서위치 아래에
insert.txt 파일을 추가 텍스트 검색 및 교체 :범위s/찾는문자열/교체할문자열/옵션 ※ . ; 현재 행 ^ ; 가상의 맨 처음 $ ; 가상의 맨 처음 % 현 문서 전체 특수문자가 들어간 문자열의 교체 :%s/\/usr/\/usr/local/g ; /usr를
찾아서 /usr/local 로 교체 외부 유닉스 명령어 실행 :!명령 필터와 명령 :%!tr [a-z][A-Z] ; 전체 텍스트의
영문자를 대문자로 치환 |
http://www.jasko.co.kr/xe/?mid=extLinux
1099730178_morningsky.fla
httpd-2.2.14.tar.gz
php-5.2.9.tar.bz2
putty.exe