- Korea times
- 끌리면 오라...BGM 광고음악 라이브러리
- KartOO visual meta search engi…
- E-Book
- Channel9
- MSDN
- 여리의 작업실
- 유경상의 .NET 블로그
- window 쪼물딱 거리기
- 블루 홈(소현이 누님)
- IT 관련 전반 내용(정환이네)
- 비너스의 정보 공유(유틸리티들)
- 형기의 자료공간(디지털ERA에서 콘텐츠ERA로)
- EzineArticles (여러 분야의 글들이 올라옴)
- Relationship을 보여주는 라이브러리
- OpenRCE
- 젠틀의 블로그(무선 통신의 모든것)
- 헐랭이와 IT보안
- 워니. 추억ㅇㅔ ㅂㅣ추ㅇㅓ.
- Computer Forensics
- 토익 광장(YBM)
- Korea Times 이용하기
- Larkware Software
- TCP/UDP
- Black Hat
- DEF CON
- Slashdot
- ReallyUsefulEbooks.com Update
- 실리콘밸리 뉴스
- Application Development Trends
- Visual Studio Hacks
- MIT OCW
- Redmond Developer News
- SecurityFocus
- Microsoft Window Hacking Porta…
- Darknet - Don't Learn to Hack …
- Windows Tips, Tricks and Hacks
- Hack In the Box
- (IN)SECURE Magazine
- SuperSite Windows Vista
- Government Security
- Life is Still Talking (Good)
- PHRACK
- Found+Read(resource for startu…
- Jonathan Boutelle
- Venture Hacks
- 스마트플레이스
- All about Intellipedia
- Undocumented Windows 2000 Secr…
- HexBlog (Decompiler)
- TED (Ideas worth spreading)
- Crash Dump Analysis and Debugg…
- Rootkit
- DDK Developers(MS)
- 미친 감자의 블로그
- The Art of Assembly Language
- Chpie (키보드 후킹)
- Drivers Online
- (음악) Delicate SONG
- Reverse Engineering Community
- Software Best Practices
- Sara Ford's WebLog
- Cheat Happens
- Debugging,Unpacking,Assembling…
- 윤석찬님 블로그
- OK 괜찮아 다 잘 될거야
- RingBlog
- Art Life :: 하늘소
- IT's Paradise
- John Robbins!
- Wintellect
- Hacked Gadgets
- 소프트웨어 이야기
- Ryan Naraine's Zero Day
- VULN
- Stay Secure
- EBS 영어 공부(블루워터)
- 101BLoG : "Bright Size Life" o…
- Hacker Challenge
- Hackers Center
- White Hat, Chicago Con
- Ethical Hacker Network
- ChaseNet (Security)
- TechTarget
- Entrepreneur
- Infopackets
- Popular Science
- Dark Reading - The Business of…
- How Stuff Works
- codeDriver - Crack (역공학)
- Gadget (Windows)
- Serious Code
- Iguacu Blog(블루문)
- SecurityProof
- Power of Community(Hacker)
- Crack ?
- Security Freak
- Data Network Resource
- FoundStone - Security Consulti…
- Google Online Security Blog
- (BOOK) Cool DogBooks
- SachaBarber (좋은 개발자)
- System Software Incorporation
- 스카이 벤처
- NewsTorrent
- 글로벌 IT 네트워크
- Ethical Hacking and Infosec
- Realms of Hacking tricks
- CodeBreakers Journal
- Anti Rootkit Blog
- The Reverse Code Engineering C…
- Anti-Debug Tools
- Reverse Code Engineering Video…
- Damn Vulnerable linux
- Security Problems
- French Reverse Engineering Tea…
- Monac
- Open Source Vulnerability Data…
- Viruschaser 검사(바이러스)
- Windows Tips
- 보안 대처 연습
- [Download] Kartz CD
- [Download] FlMS Download
- [Download] DDL2
- 중국 해킹 사이트(안전중국)
- 바이러스 분석
- Javascript 전문가
- Virus Alert Zone (바이러스 분석)
- Computer World
- 문스랩닷컴(보안)
- Unpack China
- Black Storm Reverse Engineerin…
- 역공학 Reverser
- 문화 망명지 - 시, 소설
- WPF MVP
- Research Channel
- The Problem Solver - C# MVP
- Reversing - 리버스 엔지니어링
- Nigel Spencer's Blog (.NET)
- Kirill Osenkov (.NET C# IDE Te…
- H33T (BitTorrnet 검색 사이트)
- ITL (해킹, 보안)
- ITL (Invisible Things Lab) Blo…
- ebook, pdf, chm
- 주식 - 멘토클리닉
- CherryLove - 바이러스, 백신, 악성코드
- PMP
- 영원한 해커, hacker
- 리버싱, PE
- 신호철 - dsphome
- TechEd 2009
- SHOUT
- [도서] 오디오북
- [도서] 전자책
- [도서] 국내도서요약
- [도서] 해외도서요약
- TopCorder - 프로그래밍 연습
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- VSTS
- 비주얼 스튜디오
- .net framework 4
- 디버그랩
- 책
- debugging
- WPF
- MVP
- 닷넷
- 보안
- Windows 7
- 해킹
- security
- VSTS 2010
- visual studio 2010
- .NET Framework
- hacking
- 구글
- english
- 역공학
- Microsoft
- Visual Studio
- .net
- C#
- 비주얼스튜디오
- 디버깅
- Windows
- 마이크로소프트
- Today
- Total
NaggingMachine
BOINC 설치 방법 본문
일일이 편집하기 어려워서 워드로 작성된 내용을 붙여넣기 하였습니다. ^^;;
--------------------------------------
1) BOINC 필수 패키지 설치
http://boinc.ssl.berkeley.edu/build.php
페도라코어4 리눅스를 기준으로 선택하여 설치하되 비교적 최소설치에 가깝게 설치한다.
특별히 버전이 명시된 것은 정확하게 이상버전을 맞춰줘야 한다.
예) openssl 0.9.7f가 기본설치 되어 있지만, 소스설치로 openssl 0.9.8을 설치해야 한다.
프로젝트 수행시 사용한 패키지들의 버전은 아래와 같다. 1번째칸은 버전이 정확히 명시되어 있으므로, 생략하고 2번째 칸 부터는 패키지 이름이 정확하지 않으므로 상세히 명시한다.
perl-DBI-1.48-4.i386.rpm
perl-DBD-MySQL-2.9007-1.i386.rpm
mysql-4.1.11-2.i386.rpm
mysql-devel-4.1.11-2.i386.rpm
mysql-server-4.1.11-2.i386.rpm
mx-2.0.6-2.i386.rpm
MySQL-python-1.2.0-1.i386.rpm
apache_1.3.33.tar.tar
openssl-0.9.8.tar.gz
mod_ssl-2.8.23-1.3.33.tar.tar
libpng-devel-1.2.8-2.i386.rpm
php-4.4.2.tar.gz
python-xml-2.3-49.i586.rpm (SUSE버전이다)
// jpgraph-1.20.4a.tar.gz
위의 파일들을 /usr/local/src/ 폴더에 넣어준다.
a. MySQL 및 기타 rpm 설치
# cd /usr/local/src
# rpm -ivh perl-DBI-1.48-4.i386.rpm
# rpm -ivh mysql-4.1.11-2.i386.rpm
# rpm -ivh mysql-devel-4.1.11-2.i386.rpm
# rpm -ivh perl-DBD-MySQL-2.9007-1.i386.rpm
# rpm -ivh mysql-server-4.1.11-2.i386.rpm
# rpm -ivh mx-2.0.6-2.i386.rpm
# rpm -ivh MySQL-python-1.2.0-1.i386.rpm
# rpm -ivh python-xml-2.3-49.i586.rpm
b. openssl 설치
#tar xvzf openssl-0.9.8.tar.gz
#cd openssl-0.9.8
#./config (공유라이브러리를 만들려면 --shared를 붙인다)
#make
#make install
설치경로 : usr/local/ssl위치에 설치된다.
c. mod_ssl 설치
#cd /usr/local/src
#tar xvzf apache_1.3.33.tar.gz
#tar xvzf mod_ssl-.2.8.23-1.3.33.tar.gz
#cd mod_ssl-2.8.23-1.3.33
#./configure \
--with-apache=/usr/local/src/apache_1.3.33 \
--with-ssl=/usr/local/ssl
d. apache 설치 및 인증서 생성
Apache는 DSO 기능 지원으로 컴파일한다.
#cd /usr/local/src
#cd apache_1.3.33
#./configure \
--prefix=/usr/local/apache \
--with-layout=Apache \
--enable-rule=SHARED_CORE \
--enable-shared=max \
--enable-module=so \
--enable-module=rewrite \
--enable-module=ssl \
--enable-shared=ssl
#make
e. SSL 인증서 생성
#make certificate TYPE=custom
인증서 작성
{
1. Country Name (2 letter code) [XY]:kr
2. State or Province Name (full name) [Snake Desert]:cn
3. Locality Name (eg, city) [Snake Town]:daejon
4. Organization Name (eg, company) [Snake Oil, Ltd]:tjssm
5. Organizational Unit Name (eg, section) [Webserver Team]:snowgrid
6. Common Name (eg, FQDN) [www.snakeoil.dom]:snow
7. Email Address (eg, name@fqdn) [www@snakeoil.dom]:snow@localhost
8. Certificate Validity (days) [365]:
암호1 : snowca
암호2 : snowgrid
}
#make install
#cd /usr/local/apache/conf/에서
#vi httpd.conf
ServerName 192.168.195.132 <- 서버컴의 IP를 적는다
#vi /etc/sysconfig/selinux
SELINUX=enforcing 부분을 아래와 같이 변경,
SELINUX=disabled
여기까지 한 후 반드시 재부팅(로그아웃이 아님!!!)한다.
f. 아파치 실행
#cd /usr/local/apache/bin
#./apachectl startssl
Enter pass phrase: snowgrid <- 인증서 만들때 암호2를 적는다.
(root계정의 암호가 snowgrid이니 나오지 않았다)
g. php 설치
#cd /usr/local/src
#rpm -ivh libpng-devel-1.2.8-2.i386.rpm
#tar xvzf php-4.4.2.tar.gz
#cd php-4.4.2
#./configure \
--prefix=/usr/local/php \
--with-gd --with-png-dir \
--with-zlib \
--with-track-vars \
--with-mysql \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-ftp \
--enable-inline-optimization \
--disable-debug
#make
#make install
#cp ./php.ini-dist /usr/local/php/lib/php.ini
h. PHP를 아파치에 연결
# ln /usr/local/php/bin/php /usr/bin/php
로 php를 바로 사용할 수 있게 한후
아파치의 /usr/local/apache/conf/httpd.conf에서
#<VirtualHost *:80>
# ....
#</VirtualHost> 아래 줄에
AddType application/x-httpd-php .php (공백은 탭으로 구분)
Action application/x-httpd-php php (공백은 탭으로 구분)
i. MySQL 와 연결 설정
/usr/local/php/lib/php.ini 파일을 열어서
mysql.default_socket =/var/lib/mysql/mysql.sock
로 수정한다
2) BOINC 서버 설치
http://boinc.ssl.berkeley.edu/source_code.php
a. 소스 얻기
# cd /usr/local/src/
개발 버전을 얻기 위해서는
# cvs -d :pserver:anonymous:@alien.ssl.berkeley.edu:/home/cvs/cvsroot checkout boinc
혹은 안정화된 버전을 얻기 위해서는
# cvs -d :pserver:anonymous:@alien.ssl.berkeley.edu:/home/cvs/cvsroot checkout -r stable boinc
둘중에 하나를 선택하여 입력하면, /usr/local/src/boinc/ 라는 폴더가 생성되며 boinc 서버를 다운받는다.
b. 서버 설치
#cd boinc
#./_autosetup
#./configure --disable-client (이 옵션이 없으면 curl 관련 패키지를 설치해야 함)
#make
#make install
3) 프로젝트 생성하기
http://boinc.ssl.berkeley.edu/create_project.php
http://j4cques.blogspot.com/
a. 키 생성
# cd /usr/local/src/boinc
# crypt_prog -genkey 1024 code_sign_private code_sign_public
# crypt_prog -genkey 1024 upload_private upload_public
b. MySQL 실행
# service mysqld start
# mysql -uroot
> use mysql
> update user set Password=password('snowgrid') where User='root';
> FLUSH PRIVILEGES
> quit
c. 프로젝트 생성 및 시작
# tools/make_project
--delete_prev_inst \ <- 이전에 설치된 프로젝트의 파일 삭제 확인
--drop_db_first \ <- 이전에 설치된 프로젝트의 DB내용 삭제
--project_root /project \ <- 프로젝트 루트 디렉토리
--db_user root \ <- MySQL 접근 아이디
--db_passwd snowgrid \ <- MySQL 접근 암호
--key_dir /project \ <- 키파일이 있는 디렉토리
--url_base http://서버IP \ <- 서버의 URL
snowgrid \ <- 프로젝트 이름
snowgrid <- 프로젝트 긴 이름
# cat /project/snowgrid.httpd.conf >> /usr/local/apache/conf/httpd.conf
# cd /usr/local/apache/bin
# ./apachectl stop
# ./apachectl startssl <- SSL을 사용하도록 아파치 시작
# cd /project
# bin/start & <- 프로젝트를 시작
( xml 파일이 없다고 나올 수 있는데, 최초 시작하기 때문이다 )
d. 계정 추가 허용
#vi /project/config.xml 해서
disable_account_creation 부분을 0으로 셋팅
여기까지 완료하면 'http://서버IP/프로젝트이름' 의 주소에서 BOINC 홈페이지가 뜨는것을 볼 수 있다. (php에 관한 에러가 발생하면 '5) 에러 발생시 해결법' 항목을 참고한다)
4) 작업 생성하기
http://j4cques.blogspot.com/
a. project.xml 파일 갱신
<boinc>태그 사이에 <platform>태그가 보이는데, 그 다음줄에 다음과 같이 application을 추가한다.
<app>
<name>APP이름</name>
<user_friendly_name>APP이름</user_friendly_name>
</app>
여기의 APP이름은 곧 클라이언트에서 실행될 프로그램의 순수한 파일명과 일치해야 한다
예) hello_1.04_windows_intelx86.exe 인 경우 APP이름은 hello가 된다.
( APP이름 + 버전 + 플랫폼 )
일부 요소가 수정되었음을 서버에게 알린다.
# bin/xadd
b. Application 업로드
# mkdir hello
# cd hello
# mkdir hello_1.04_windows_intelx86.exe
# cd hello_1.04_windows_intelx86.exe
# 실행할 파일과 데이터를 올린다.
# ls
hello_1.04_windows_intelx86.exe
# cd /project
# bin/update_versions
( /project/download 폴더에 실행파일과 데이터들이 복사되면서 BOINC클라이언트들은 APP를 업데이트한다. )
c. Workunit 생성
# bin/create_work \
-appname hello \ <- APP이름
-wu_name world3 \ <- Workunit 이름
-wu_template templates/world_wu.xml \ <- Workunit에 관한 정보
-result_template templates/hello_re.xml <- 결과 파일에 관한 정보
이와 같이 수행하면 /project/download 디렉토리에 임의의 이름으로 디렉토리가 생성되는데, 이때 이 디렉토리의 퍼미션을 755로 조정해야 한다.
#chmod 755 ____
#bin/stop
#bin/start &
5) 에러 발생시 해결법
문제 발생시 퍼미션을 먼저 의심해볼것. 올바르게 설치되지 않은 경우 퍼미션이 루트권한으로 잡히는데, 이런 경우엔 수동적으로 고쳐주는 방식으로 해야한다.
a. 프로젝트 홈페이지가 제대로 보이지 않을 경우
------------------------------------------------------------------
/home/aspire/project/html 에서 퍼미션을 다음과 같이
drwxrwxrwx 258 root root 4096 6??? 7 05:10 cache
drwxrwxrwx 2 root root 4096 6??? 7 16:19 inc
drwxrwxrwx 5 root root 4096 6??? 7 04:39 languages
------------------------------------------------------------------
/home/aspire/project/html/languages 에서 퍼미션을 다음과 같이
drwxrwxrwx 2 root root 4096 6??? 7 04:50 compiled
------------------------------------------------------------------
/home/aspire/project/html/languages/compiled 폴더에 다음 파일을 추가
-rw-r--r-- 1 root root 8165 6??? 7 04:50 en.po.inc
-rw-r--r-- 1 root root 2620 6??? 7 04:49 language_interface.inc
------------------------------------------------------------------
b. BOINC client 프로젝트 연결시 에러
에러메시지 : Server can't open log file (../log_localhost/cgi.log)
해결책1)
And here another Mental impetus for the can't open logfile error:
After having the same error with my own BOINC-Server i changed the permissions
for the Server-log-directories so that the webserver and root(user who starts
BOINC respectivly) can read/write the dirs(you may have more then one).
퍼미션을 조정한다.
# cd /project
# chmod 777 log_localhost/ upload/
# bin/stop
# bin/start &
# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl startssl
c. Unrecoverable error for result XXXX (잘못된 기능입니다. (0x1) - eit code 1 (0x1))
작성된 App프로그램에 문제가 있으므로 다시 작성한다.
d. http://210.118.64.172/snowgrid_ops/ 에 WorkUnit 부분의 server_state 부분이 빈 상태로 나오는 경우
이런경우 MySQL에서 result 테이블에 내용이 등록되지 못하는 경우이다.
서버프로그램이 등록된 workunit의 result(workunit 상태정보)을 확인하지 못하기 때문이므로
bin/stop
bin/start &
재시작해준다.
MySQL에서 result와 workunit 테이블 모두에 등록한 workunit에 관한 내용이 있어야 정상
'TechnoBabbler' 카테고리의 다른 글
마이크로소프트의 SE 비법 공개 (0) | 2006.08.21 |
---|---|
마우스 커서 아래에 있는 텍스트 가져오기 (2) | 2006.08.20 |
ACE 프로그래밍 (0) | 2006.08.20 |
개발자들이 선호하는 폰트 조사 결과 (0) | 2006.08.19 |
Prefactoring 번역 98% (0) | 2006.08.19 |