- 리눅스 부팅시 터미널 모드 진입
ctrl - alt - F1 : TTY1 로 진입
- 우분투 설치 완료 후 CUI 환경(터미널 모드)로 부팅시 GUI(X-window) 로 부팅하기 위한 설정 방법.
1. 설치시 설정한 user 로 로그인.
2. startx 명령을 했을때 에러 발생시 sudo apt-get install xinit 실행하여 x-widnow를 설치
3. sudo apt-get update 를 실행하여 업데이터 및 설치
4. sudo apt-get upgrade 를 실행 및 업그레이드
5. sudo apt-get install ubuntu-desktop 실행해서 desktop manager 설치
6. startx 로 x-window 실행.
- 위 과정으로 GUI 모드로 부팅후 화면 주사율(해상도)가 맞지 많아 화면이 제대로 나오지 않으면
아래의 과정으로 해결한다.
ubuntu 13.x 버전을 기준으로 한다.
1. 부팅 후 GUI로그인 화면에서 ctrl - alt - F1 를 눌러 TTY1 로 진입한다.
2. 사용자 계정으로 로그인한다.
3. $sudo service ligthdm stop <== service 종료
4. $sudo Xorg -configure <== 현재 디렉토리에 신규 xorg.conf.new 파일 생성
5. $sudo mv ~/xorg.conf.new /etc/X11/xorg.conf <== 신규 생성된 파일로 conf 파일 대체
6. $sudo reboot <== 시스템 재시작
위와 같이 하면 GUI에서도 제대로 사용 가능한다.
2013-05-26
2012-10-31
java Framework/Linux 에서 APM(apache2.0.48)+tomcat(5.0.16) 연동하기(mod_jk2)
[펌] Linux 에서 APM(apache2.0.48)+tomcat(5.0.16) 연동하기(mod_jk2) | Unix/Linux | 2005/03/23 01:10 |
http://blog.naver.com/mickey109/60011163411 | |
출처블로그 : mWorld - ccm 짜집기 java/apache/linux/php/mysql/ | |
Linux 에서 APM(apache2.0.48)+tomcat(5.0.16) 연동하기(mod_jk2) TOC ( Table of Content ) 0.overview 1.mysql 설치 2.apache (2.0.48) 설치 3.php 설치 4.APM 연동 5.zend optimizer 설치 6.jdk의 설치 7.tomcat (5.0.16)설치 8.jk2( jakarta-tomcat connector ) 설치 9.apache 와 tomcat의 연동 10.사용자 계정에서 jsp 사용 가능하도록 context listener 추가하기 epilog 0.OverView -- 이 글의 목적은 apache2.x.x 버전과 tocmat5.x.x 버전의 연동을 주 목적으로 하여 작성된 글이다. 따라서 APM 연동보다는 아파치 톰캣 연동에 그 비중을 두고 있으며, 이 글을 읽는 사람들은 어느정도 linux에 대한 지 식(프로그램 설치시 rpm 설치가 아닌 소스 컴파일 설치) 을 갖추었다고 가정하고 글을 진행하도록 한다. (주1. 본 문서는 각종 사이트를 돌아다니며 읽은 글들의 조합으로 이루어져 있습니다.. 최대한 출처를 밝히겠지만 미처 밝히지 못하는 부분에 대해 원저자분 들께 대해 죄송스럽게 생각합니다.) (주2. 존칭은 생략하도록 하겠습니다. (--) (__) ) (주3. 소스를 컴파일 하여 프로그램을 설치 하는 것이나 apache와 tomcat의 연동은 버전과 시스템에 따라 다를 수 있습니다. 따라서 이 문서를 보고 따라 하신 후의 책임은 지지 않습니다.) APM 연동은 다음 site를 참조한다 http://ho.dunggi.net/study_linux ( apache1.xx apache2.xx 버전에 대한 연동이 모두 나옵니다.) 1.mysql 설치 -- http://www.mysql.com 사이트에서 mysql을 다운 받는다. 안정된 버전일 경우 최신 버전을 다운 받는다. -- 받은소스를 /usr/local/src 로 이동한다.(소스의 위치는 각자 편한곳으로 한다.) -- 기존에 rpm으로 mysql이 설치 되 있었다면 삭제한다. ( rpm -qa | grpe mysql 하면 rpm으로 설치된 mysql을 확인 할 수 있고, rpm -e --nodeps mysql.xxx 하면 삭제가 가능하다.) -- tar xvzf mysql.xxx.tar.gz 명령으로 소스를 푼다. (xxx 는 버전을 뜻합니다.) -- mysql.xx.xx 라는 디렉토리가 생성된다. -- 생성된 디렉토리로 이동하여 ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=euc_kr 라는 명령으로 mysql소스를 configuration 한다. (--prefix는 mysql이 생성될 디렉토리, localstatedir은 mysql의 data가 위치할 경로, charset은 한글 사용을 위한 옵션이다. 자세한 사항은 ./configure --help 명령을 통해 확인한다. 에러가 없다면 make make install 명령을 통해 mysql을 설치완료 한다. 여기 까지 에러가 없다면 /usr/local/mysql 이란 디렉토리가 생성되고 그 안에 mysql 실행을 위한 명령어 들과 library가 생겨난다. ( mysql 설치 완료 하지만 끝이 아니다!!) -- /usr/local/mysql/bin 으로 이동한다. ./mysql_install_db 라는 명령어를 실행시켜준다.(주의! 이 명령어는 한번만 실행시킨다. 여러번 실행시킬 경우 에러가 발생할 수 있다.) -- /usr/local/mysql/share/mysql 로 이동하면 mysql.server 라는 쉘 스크립트를 볼 수 있다. ./mysql.server start 라는 명렁을 통해 mysql을 실행시킨다. /usr/local/mysql/bin 으로 이동하여 mysql 명령어를 치면 mysql에 접속할 수 있다. 어느곳에서든지 mysql 명령어를 수행시키길 원한다면 /etc/profile 의 PATH에 추가해 주면 된다. -- 시스템 부팅과 동시에 mysql을 수행시키고자 할 경우 /etc/rc.d/init.d 디렉토리로 이동하여 ln -s /usr/local/mysql/share/mysql/mysql.server myslqd 라는 명령어를 통해 링크를 걸고 자신의 run level을 확인하여 해당 run level 디렉토리로 이동하여 (run level이 3이라면 /etc/rc.d/rc3.d , run level이 5라면 /etc/rc.d/rc5.d ) ln -s /etc/rc.d/init.d/mysqld S80mysqld 라는 링크를 걸어주면 시스템의 시작과 동시에 mysql서버를 구동시킬 수 있다. ( 해당 디렉토리로 이동하면 SxxXXX 와 KxxXXX 라는 많은 파일들이 있을 것이다. S는 시스템이 시작할 때 수행될 명령들이고 K는 시스템이 종료될 때 수행될 명령들이다. 따라서 SxxXXX라는 명령으로 링크를 건다 S뒤의 숫자는 기존에 있던 것들과 겹치지 않는 수로 S99local 보단 작게 한다 자신의 run level 확인은 /etc/inittab 파일을 열어 보면 id:x:initdefault: 라는 문장을 찾을 수 있다. 여기서 x에 해당하는 숫자가 해당 시스템의 default run level이다. 보통 3 또는 5로 지정되는데 3이 일반적인 콘솔로 부팅시에 사용되고, 5는 X-window로 부팅될때 사용된다. 그 외의 run-level에 관한 사항은 각자 공부하길 바란다. -- 솔직히 필자도 잘 모른다. --;;;) -- 이로써 mysql 설치는 완료된다. 2.apache2의 설치 -- 기존에 rpm package로 설치된 아파치를 삭제한다.(mysql의 삭제와 동일) -- http://httpd.apache.org/download.cig httpd-2.0.48.tar.gz 을 다운받는다. -- 소스를 /usr/local/src 로 이동한후 tar 명령을 통해압축을 푼다. -- 소스 디렉토리로 이동한 후 ./configure --prefix=/usr/local/apache2 --enable-rule=SHARED_CORE --enable-shared=max --enable-so --enable-module=so 명령을 통해 configuration. (./cofigure --help를 통해 각 옵션을 확인하는 것도 좋습니다. ^^) make make install 하여 아파치를 설치한다. -- /usr/local/apache2/bin 디렉토리로 이동하여 ./apachectl start 명령을 통해 아파치를 실행시킨다. 브라우저로 해당 URL에 접속하여 에러가 없다면 아파치 설치 성공! 3.php의 설치 -- 기존의 rpm package 제거 -- http://www.php.net/downloads.php 에서 php4.3.4.tar.gz을 다운 받는다. -- /usr/local/src로 소스 이동 후 tar로 압축을 푼다. -- 소스 디렉토리로 이동하며 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-apache-install=/usr/local/src/httpd-2.0.48 --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/apache2/conf --with-zlib-dir=/usr/lib --with-zlib --enable-track-vars=yes --enable-modules=so --disable-debug --enable-mbstring 명령을 통해 configuration. --with-apache-install 옵션뒤의 디렉토리는 아파치 소스 디렉토리(각자 자신이 압축을 해제한 디렉토리로 명시한다.(이 문서를 따라 했다면 /usr/local/src/httpd-2.0.48) --with-mysql옵션뒤의 경로는 mysql 이 설치된 디렉토리(/usr/local/mysql)를 기술한다. 옵션이 많아서 그런지 시간이 조금 걸린다.) 에러가 없다면 make make install -- php의 소스 디렉토리로 이동하여(/usr/local/src/php4.3.4) cp php.ini-dist /usr/local/apache2/conf/php.ini 명령을 수행한다. -- php의 설치가 완료 4. apache와 php의 연동 -- /usr/local/apache2/modules 디렉토리로 이동해 보면 libphp4.so 란 파일이 있을 것이다. 없다면 위의 과정을 천천히 다시 수행한다 --;; -- /usr/local/apache2/conf 에 httpd.conf 파일을 열어보면 220라인 근처에 LoadModule php4_module modules/libphp4.so 라는 문장이 있을 것이다. DirectoryIndex 를 찾아 index.php를 추가 시킨다. (ex. DirectoryIndex index.html index.php index.htm ) 그리고 880라인 근처에 보면 AddType 이란 것이 있을 것이다. 그곳에 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 라는 두 문장을 추가 시켜준다. -- /usr/local/apache2/bin 으로 이동한 후 ./apachectl start ( 이미 구동중이라면 ./apachectl restart) 한 후 test.php 라는 파일을 아래와 같이 작성하고 <? phpinfo(); ?> 브라우저로 읽어서 php 설정 정보에 대한 테이블이 나오면 APM 연동은 성공!! 만일 소스코드가 그대로 보이거나 다운로드가 되면 연동에 실패한 것이다. # 이하의 부분은 http://kltp.kldp.org/stories.php?topic=14 의 예크디엠님 글을 참조한다. 5.Zend optimizer의 설치 (옵션. 필수사항은 아니다. Zend는 php 가속기이다.) -- http://zend.com/store/free_download.php?pid=13 에서 리눅스용 소스파일을 다운로드 받는다. -- /usr/local/src/로 이동후 tar로 압축 해제 -- 소스 디렉토리로 이동하여 ./install.sh 를 수행하면 GUI 인터페이스의 설치 환경이 나타난다. apache의 설치 경로등을 묻는데 정확히 기입하도록 한다. 설치는 /usr/local/Zend 디렉토리로 자동으로 이루어 진다. 설치가 이루어 지면 /usr/local/apache2/conf/php.ini 파일은 php.ini-zend_optimizer.bak 으로 변경되고 php.ini 파일이 /usr/local/Zend/etc 안에 생성되며 /usr/local/apache2/conf 디렉토리 안에는 /usr/local/Zend/etc/php.ini 의 symbolic link 파일이 만들어져 실제 php.ini 파일과 연결됩니다. -- Zend optimizer 설치 완료 6.jdk의 설치 -- http://java.sun.com/webapps/download/DisplayLinks 에서 j2sdk-1_4_2-nb-3_5_1-bin-linux 를 다운 받는다. (확장자가 tar.gz 이 아니라고 당황하지 말자. 필자는 솔직히 당황했었다 --;;) -- 소스를 /usr/local로 이동시킨다. sh j2sdk-1_4_2-nb-3_5_1-bin-linux.bin 명령어를 수행한다. ( chmod 755 j2sdk-1_4_2-nb-3_5_1-bin-linux.bin 명령후 ./j2sdk-1_4_2-nb-3_5_1-bin-linux.bin 도 가능할 것 같다.) -- /usr/local/j2sdk-1_4_2 라는 디렉토리가 생겼을 것이다. (확실치는 않다. --;; 비슷한게 생겼을 것이다.) -- 편의를 위해 /usr/local 디렉토리에서 ln -s /usr/local/j2sdk-1_4_2 java 라는 링크를 걸어준다 -- /etc/profile의 PATH에 /usr/local/java/bin 을 추가해 놓으면 어디서든지 java명령이 수행가능! --jdk 설치 완료 7.tomcat의 설치 -- java가(jdk) 미리 설치 되어 있어야 한다. -- http://jakarta.apache.org/site/binindex.cgi 에서 jakarta-tomcat-5.0.16.tar.gz을 다운 받는다. -- 해당 소스를 /usr/local 로 이동한 후 tar로 압축을 해제한다. -- 톰캣은 컴파일없이 압축만 해제하면 바로 실행가능 상태가 된다. -- 편의를 위해 /usr/local 디렉토리에서 ln -s /usr/local/jakarta-tomcat-5.0.16 tomcat 명령을 통해 링크를 걸어 놓는다. -- /usr/local/tomcat/bin 으로 이동하여 ./catalina start 명령을 수행한다. JAVA_HOME=/usr/local/java CATALINA_HOME=... ... .. 이렇게 4줄이 뜨면 성공이다. 혹시 에러가 나면서 JAVA_HOME이 정의 되지 않았다는 메시지가 출력될 경우 /etc/profile 을 열고 JAVA_HOME=/usr/local/java 라는 문장을 추가 시키고 저장한 뒤 source profile 이라는 명령을 수행한 후 tomcat을 가동시킨다. 에러 없이 톰캣이 뜨면 http://xxx.xxx.xxx.xxx:8080 으로 접속하여 고양이 그림을 볼 수 있다면 톰캣 설치에 성공한 것이다. -- tomcat 설치 완료 8.jk2 설치 -- http://jakarta.apache.org/site/sourceindex.cgi 에서 jakarta-tomcat-connectors-jk2-src-current.tar.gz 다운 -- /usr/local에서 tar 명령을 통해 압축을 해제한다. -- /usr/local/jakarta-tomcat-connectors-jk2-src-current/jk/native2 로 이동한다.(정확치는 않다. 아무튼 native2 디렉 토리로 이동한다. -- 제가 작업한 머신에서 글을 작성하는게 아님을 이해해 주십시요) -- 해당 디렉토리에서 ./configure --with-apxs2=/usr/local/apache2/bin/apxs 를 수행한다.(주. apxs는 perl 스크립트 입니다 perl 5.0 이상이 해당 머신에 설치되어 있어야 합니다.) make 를 하면 /usr/local/jakarta-tomcat-connectors-jk2-src-current/jk/build/jk2 /apache2 디렉토리에 mod_jk2.so 파일이 생성된다. 만일 없다면 .... 이땐 정말 에러다 --;; 만일 mod_jk2.so 파일이 존재하지 않는다면 jk2 설치부터 make 까지의 과정을 다시 해본다. ( 이 부분에서 막혀서 3일간 고생했습니다. mod_jk2.so 파일이 생성이 안되서... 결국 make를 통해 mod_jk2.so 생성은 포기를 하고 꽁수를 썼습니다. 이 부분이 하이라이트!!) 만일 재시도 했는데도 생기지 않는다면 ... (저의 경우 libtool --mode=install ... 하면서 warning이 뜨더군요. 예크디엠님의 글을 보고 추측하건데 jk2가 컴파일 되면서 libtool을 찾는 과정에서 문제가 생기는 듯합니다.) 해당 디렉토리에 mod_jk2.xx 라는 많은 파일들이 존재할 것이다. 여기서 gcc -shared -o mod_jk2.so *.o 라는 명령을 통해 강제 컴파일 하여 공용 모듈을 생성해낸다.!!!! cp mod_jk2.so /usr/local/apache2/modules 명령을 통해 아파치 모듈 디렉토리로 복사한다. 9. apache와 tomcat의 연동 -- /usr/local/apache2/conf/httpd.cnof 파일을 열어 DirectoryIndex를 찾아 index.jsp를 추가한다. ( ex) DirectoryIndex index.html index.php index.jsp ) LoadModule jk2_module modules/mod_jk2.so 를 추가한 후 저장하고 /usr/local/apache2/bin 디렉토리로 이동하여 ./apachectl configtest 를 수행하여 Syntax Ok 가 뜨면 OK!! -- /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/conf/workers2.properties 파일을 /usr/local/apache2/conf/workers2.properties.bak 으로 복사한다. -- 편집기로 worker2.properties 파일을 만들고 다음과 같이 편집한다. # Shared memory handling. Needs to be set. [shm] file=/var/log/httpd/shm.file size=1048576 # Example socket channel, explicitly set port and host. [channel.socket:localhost:8009] port=8009 host=127.0.0.1 # define the worker [ajp13:localhost:8009] channel=channel.socket:localhost:8009 # Announce a "status" worker [status:status] # Uri mapping [uri:/jsp-examples/*] worker=ajp13:localhost:8009 [uri:/servlets-examples/*] worker=ajp13:localhost:8009 [uri:/tomcat-docs/*] worker=ajp13:localhost:8009 [uri:/*] worker=ajp13:localhost:8009 [uri:/status/*] worker=status:status ( worker2.properties.bak 파일은 나중에 공부하기 위해 복사해 놓은 것입니다. 위의 내용만 있어도 연동에는 충분합니다.) 위의 내용을 대~~충 분석(??)해 보면 (솔직히 잘 모른다. --;;) shm 부분은 공유 메모리를 위한 설정이고, channel은 연동시 사용할 port와 host를 설정한다. 당연히 80포트로 들어온 놈들은 다른 곳이 아닌 자기자신(127.0.0.1 -- loopback)에게 8009번 포트를 이용하여 tomcat에게 넘긴다는 얘기 같다. (확신은 없다. --;;) uri 부분은 context mapping 관련이다. 가장 주목할 것은 [uri:/*] 해당 URL로 들어오는 모든(*) 것들을 8009번 포트로 tomcat에게 넘긴다. 이는 나중에 보충 설명한다. 마찬가지로 나머지 uri 부분은 해당 URL로 /jsp-examples 라는 context(??)들 달고 오는 모든(*) 것들을 tomcat에게 넘긴다는 것이다. status는 jk-connector의 설정 보여준다. 연동뒤에 http://xxx.xxx.xxx.xxx/status 하면 설정상황을 볼 수 있다. -- /usr/local/tomcat/conf/jk2.properties 파일을 다음과 같이 수정. ## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED ## WHEN YOU EDIT THE FILE. ## COMMENTS WILL BE _LOST_ ## DOCUMENTATION OF THE FORMAT IN JkMain javadoc. # Set the desired handler list # handler.list=apr,request,channelJni # # Override the default port for the socketChannel channelSocket.port=8009 # Default: # channelUnix.file=${jkHome}/work/jk2.socket # Just to check if the the config is working # shm.file=${jkHome}/work/jk2.shm shm.file=/var/log/httpd/jk2.shm # In order to enable jni use any channelJni directive # channelJni.disabled = 0 # And one of the following directives: # apr.jniModeSo=/opt/apache2/modules/mod_jk2.so # If set to inprocess the mod_jk2 will Register natives itself # This will enable the starting of the Tomcat from mod_jk2 apr.jniModeSo=inprocess -- 이로써 모든 설정은 완료 됩니다. -- 톰캣과 아파치가 구동중이라면 각각 해당 디렉토리의 /bin 으로 이동 하여 ./catalina.sh stop ./apachectl stop 명령을 통해 중지 시킨다. -- 이제 연동이 됐는지 확인. 톰캣을 먼저 띄우고 다음에 아파치를 띄운다. ./catalina.sh start ./apachectl start -- 브라우저로 해당 URL에 접속하여 http://xxx.xxx.xxx.xxx/ 에 접속한다. 톰캣 메인 화면이 뜨면 OK! http://xxx.xxx.xxx.xxx/jsp-examples 에 접속하여 각각의 jsp 예제파일들이 문제 없이 수행되면 OK! -- 접속을 하면 아파치의 DocumentRoot가 아닌 tomcat main page 가 뜨는것에 의아해 하는 분들도 계실지 모른다.(사실은 내가 그랬다 --;;) 그 이유인 즉은.. worker2.properties 파일에서 [uri] 설정에 [uri:/*] worker=ajp13:localhost:8009 이 부분 때문이다. 즉 해당 URL로 들어오는 모든(*) 것들에 대해 톰캣에게 넘겨 주는 것이다. 아파치의 직무 유기다. --;; jsp 파일만을 tomcat에게 넘기기위해서는 저 부분을 [uri:/*.jsp] worker=ajp13:localhost:8009 라고 수정하면 된다. 하지만 필자가 저렇게 했을 때 숱한 403 에러를 만났다. --;; 저렇게 설정을 하고 나서 브라우저로 보면 아파치의 DocumentRoot로 창이 열린다. 문제는 DocumentRoot 밑에 test.jsp를 수행하면 tomcat으로 가지 못한다는 것이다. 신기하게도 http://xxx.xxx.xxx.xxx/jsp-examples 하면 이것은 또 잘 열린다. --;; 아무튼.. 저걸 해결하고자 기껏 필자가 생각해 낸것은 아파치의 DocumentRoot와 tomcat의 ROOT를 같은 곳으로 설정 하는 방법이다. /usr/local/tomat/conf/server.xml 을 열어보면 <!-- Tomcat Root Context --> <Context path="" docBase="ROOT" debug="0"/> 라는 부분이 있다. 이부분을 다음과 같이 수정한다. <Context path="" docBase="/usr/local/apache2/htdocs" debug="0" reloadable="true"/> 물론 "/usr/local/apache2/htdocs" 는 각자 자신의 시스템의 DocumentRoot로 설정 하면 될 것이다. 이렇게 설정을 하고 톰캣을 다시 띄우고, 아파치를 다시 띄우니.. 드디어 아파치의 DocumentRoot 밑에 있는 jsp 파일을 인식했다!! 즉 , http://xxx.xxx.xxx.xxx/test.jsp 가 열리는 것이다. 물론 깔끔한 방법은 아니다.!! tomcat의 context 추가에 대한 지식이 부족하여 저렇게 한 것이다. http://www.apache-korea.org/tomcat/tomcat-5.0-doc/config/context.html (영문) http://jakarta.apache-korea.org/tomcat/tomcat-4.1-doc/config/context.html (한글) ( 관심 있는 분들은 위 사이트에 접속하여 context에 관한 부분을 더 공부 하시길 바랍니다.) 이로써 아파치와 톰캣의 연동은 성공!! 한 것이다. 10. 사용자 계정에서 jsp 사용하기 http://jakarta.apache-korea.org/tomcat/tomcat-4.1-doc/config/host.html#User%20Web%20Applications 위 사이트를 참조 하세요 -- 위처럼 연동이 됐다고 해서 http://xxx.xxx.xxx.xxx/~xxx/test.jsp 라고 했을 때 jsp 파일을 톰캣이 처리해 주지는 못한다. tomcat의 server.xml 파일에 Listener를 등록해 주어야 한다. /usr/local/tomcat/conf/server.xml 파일을 열고 <Host name="localhost" ...> 이 부분을 찾아 아래에 다음과 같이 추가한다. <Listener className="org.apache.catalina.startup.UserConfig" directoryName="public_html" userClass="org.apache.catalina.startup.PasswdUserDatabase"/> 이것은 linux 시스템의 경우 /etc/passwd 파일을 사용한다고 한다. 정확히 어떻게 동작하는 것은 필자도 이해하지못했다. 다만 이렇게 설정을 한후 ,톰캣과 아파치를재시동하고 http://xxx.xxx.xxx.xxx/~xxx/test.jsp 를 열어보면 드디어 감격적인 jsp page를 볼 수 있다.!! ps. tip아닌 tip을 말씀드리면 ..모두 아실거라 생각됩니다만... 소스 다운 받으실 때 일일이 ftp로 넘기지 마시고 리눅스 console 상에서 wget을 통해 받으면 쉽습니다. 링크가 걸린 다운로드 파일에서 마우스 오른쪽 버튼 클릭하셔서 등록정보 를 클릭하시면 주소가 나옵니다 이걸복사해서 wget http://http://mirror.apache.or.kr/httpd/httpd-2.0.48.tar.Z 이런식으로 직접 콘솔에서 다운받으실 수 있습니다. 아파치와 톰캣의 연동후 실행 순서는 톰캣 먼저 띄운후에 아파치를 띄우게 됩니다. 이걸 리눅스 시스템 부팅과 동시에 하려면 mysql 을 하셨던것 처럼 /etc/rc.d/init.d로 이동하신 후 아파치) cd /etc/rc.d/init.d ln -s /usr/local/apache2/bin/apachectl httpd run level 디렉토리로 이동 후 (/etc/rc.d/rc3.d --run level 3인 경우) ln -s /etc/rc.d/init.d/httpd S75httpd 톰캣) cd /etc/rc.d/init.d ln -s /usr/local/tomcat/bin/catalina.sh tomcatd cd /etc/rc.d/rc3.d (run level 디렉토리) ln -s /etc/rc.d/init.d/tomcatd S72tomcatd 이렇게 설정해 주시면 됩니다. 단! 톰캣의 숫자가 아파치의 숫자보다 작아야 겠지요. 그래야 부팅시 톰캣이 먼저 구동됩니다. 다른 것들과 겹치지 않는 수중 자유롭게 쓰시면 됩니다. 한가지 주의 하실 점은 리붓을 했는데 아파치는 뜨고 톰캣은 뜨지 않는 경우가 있습니다. 이럴땐 /var/log/message 파일을 열어 에러 메시지를 확인하시기 바랍니다. 저의 경우 JAVA_HOME을 못 찾아서 계속 뜨지 못하더군요 그래서 /etc/rc.d/init.d 디렉토리의 tomcatd 파일을 열어 JAVA_HOME=/usr/local/java 라고 추가해 줬더니 다음번 부팅시엔 둘다 연동된 상태로 구동 되었습니다. 지금 상황으론 아파치 DocumentRoot나 각 사용자 계정에서 jsp 파일들은 모두 인식되는데 servlet은 아직 안되더군요. 혹시 servlet도 성공하신분은 리플 주시면 감사 ^^ Epilog -- 처음으로 문서를 작성해 봅니다. 저도 아파치와 톰캣을 연동하느라 삼일을 버렸기에, 다른분들은 고생을 덜 하기실 바라며 문서를 남깁니다.(이대로 따라하셨다가 고생을 더하셔도 책임은 못집니다. ㅠ.ㅠ) 삼일동안 각종 버전의 아파치와 톰캣을 깔았다 지웠다를 반복하며, 이사이트 저사이트 정신없이 창 여러개 띄워서 이문서 저문서 보던게 효율이 너무 안 좋아서 하나로 합쳐 보았습니다. 부디 이 문서를 보시고 다들 한번에 연동에 성공하시길 바랍니다. 글의 내용중 잘못 된 부분이 있을 수도 있습니다. 이점 양해 바랍니다. 2004년 1월 18일 이 지 형 |
2012-10-14
Linux]리눅스클러스터링자료
GNU/Linux를 이용한 4-node cluster제작
http://hlug.hanyang.ac.kr/~xenus/doc/clustering/clustering.html
How to set up high-performance Linux computing clusters.
http://www.ram.org/computing/linux/linux_cluster.html
SUPERUSER 클러스터 구성
http://www.superuser.co.kr/linux/cluster/page01.htm
Heartbeat를 이용한 간단한 Fail Over Cluster 구성
http://blog.errorstory.net/tag/Heartbeat
Linux] apache_php_openssl설치
httpd-2.0.59.tar.gz php-5.1.6.tar.gz 파일 이용.
apache설치
./configure --prefix=/usrl/local/apache --enable-module=so --enable-so
./configure --prefix=/usr/local/apache2 --enable-suexec \
--enable-so --with-suexec-caller=bin \
--enable-ssl --with-ssl=/usr/local/ssl --enable-cache \
--enable-ext-filter --with-z=/usr/include --enable-dav \
--with-dbm=db4 --with-berkeley-db=/usr/local/BerkeleyDB.4.2
make && make install
php설치
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd --disable-debug --enable-track-vars --with-jpeg-dir=/usr/local --with-zlib-dir=/usr/local --with-libxml-dir=/usr/local/libxml2
출처 : Tong - journae님의 Windows 통
make && make install
httpd.conf파일에서
LoadModule php5_module module/libphp5.so
파일 존재확인!
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
추가!
cp php.ini-dist /usr/local/lib/php.ini 설정파일 카피!
apache실행
/usr/local/apache/bin/apachectl start
하면
Syntax error on line 232 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: undefined symbol: php_escape_html_entities
라는 에러가 나오네요... nu,m
제가 리눅스 엄청 초보라 어떻게 대처해야 할지 모르겠어요
고수님들 도와주세요 ~~~~
바람난일용이 07-05-17 17:01
혹시 아파치 2개 설치 하셧는지요.. ?
컴파일시에는 --with-apxs2=/usr/local/apache2/bin/apxs 아파치2라는 디렉토리에 하셨는데
실행은 Syntax error on line 232 of /usr/local/apache/conf/httpd.conf:
아니면 디렉토리 이름을 바꾸신건지.... 설치 하고 실행하고 경로가 다르면.. 해당패스가
달라져 에러가 날수잇읍니다...
이부분 체크해 보심이...
혹시 아파치 2개 설치 하셧는지요.. ?
컴파일시에는 --with-apxs2=/usr/local/apache2/bin/apxs 아파치2라는 디렉토리에 하셨는데
실행은 Syntax error on line 232 of /usr/local/apache/conf/httpd.conf:
아니면 디렉토리 이름을 바꾸신건지.... 설치 하고 실행하고 경로가 다르면.. 해당패스가
달라져 에러가 날수잇읍니다...
이부분 체크해 보심이...
서비효과 07-05-17 17:04
앗.. 1mm의 오타가 있었네요.. 감사합니다 ^^
Don't forget to run 'make test'.
Installing PHP SAPI module: apache2handler
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' libphp5.la /usr/local/apache2/modules
/usr/local/apache2/build/libtool --mode=install cp libphp5.la /usr/local/apache2/modules/
cp .libs/libphp5.so /usr/local/apache2/modules/libphp5.so
cp .libs/libphp5.lai /usr/local/apache2/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish /usr/local/src/php-5.2.3/libs'
chmod 755 /usr/local/apache2/modules/libphp5.so
[activating module `php5' in /usr/local/apache2/conf/httpd.conf]
Installing PHP CLI binary: /usr/local/php/bin/
Installing PHP CLI man page: /usr/local/php/man/man1/
Installing build environment: /usr/local/php/lib/php/build/
Installing header files: /usr/local/php/include/php/
Installing helper programs: /usr/local/php/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php/lib/php/
[PEAR] Console_Getopt - installed: 1.2.2
[PEAR] Archive_Tar - installed: 1.3.2
[PEAR] Structures_Graph- installed: 1.0.2
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
[PEAR] PEAR - installed: 1.5.4
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
Installing PDO headers: /usr/local/php/include/php/ext/pdo/
2012-10-07
DBMS/오라클]Linux Oracle 10g 자동 시작 하기
Linux Oracle 10g 자동 시작 하기
자신이 설치한 DB 타겟으로 걸면 된다.
수동으로 하는게 일단 좋을듯 합니다. 다만 급해서 리부팅 후에 자동으로 하는게 필요하다면 이방법을 사용하시면 될겁니다.
1. 그냥 하는 방법
step1. root 계정에서 /etc/rc.d 로 이동하여 rc.local 파일을 vi 편집기로 열어 줍니다.
(rc.local 파일은 리눅스의 초기부팅설정화일로서 DOS의 Autoexec.bat 같은 것이라 보시면 됩니다)
step2. 파일의 마지막 부분에 실행하고 싶은 명령어(경로포함) 를 기록합니다
/etc/rc.d/rc.local
rdate -s time.bora.net
su - oracle -c '/home/oracle/product/10.2.0/db_1/bin/lsnrctl start'
sleep 10
su - oracle -c '/home/oracle/product/10.2.0/db_1/bin/dbstart'
sleep 30
su - oracle -c '/home/oracle/product/10.2.0/db_1/bin/emctl start dbconsole'
==========================================================================
리눅스에서 재부팅시 오라클을 자동으로 시작하고 종료하는 방법
/etc/oratab의 내용 중 다음을 변경
/etc/oratab
ORCL:/home/oracle/product/10.2.0/db_1:Y
==================================================================
2. 스크립트 실행 방법
(1) 스크립트 하나 만든다.
#!/bin/bash
source /etc/profile
# oracle start
su - oracle -c '/home/oracle/product/10.2.0/db_1/bin/lsnrctl start'
sleep 5
su - oracle -c 'sqlplus "/as sysdba"' << EOF
startup
exit
EOF
sleep 60
su - oracle -c '/home/oracle/product/10.2.0/db_1/bin/emctl start dbconsole'
=================================================================================
(2) 리눅스 start 하면 스크립트 돌아게 만든다.
/etc/rc.d/rc.local
#oracle start
/root/bin/oracle_start.sh
==============================================================
2012-10-06
DBMS/MySQL]권한설정
이글은 proftp DB생성과 유저등에 관한 것을 예로 설명하는 것입니다.
1.mysql설정을 한뒤 'proftp'데이터베이스 생성합니다.
#/usr/local/bin/mysqladmin -u proftp -p create proftp
==> 왠일인지 mysqladmin 이 mysql서버에 접근을 못하게 되어있다. 그래서 직접 mysql로 서버에 접속을 한다음 쿼리문장으로 처리
1.1 db유저 생성
1.1.1 db테이블에 proftp사용자 등록
db 테이블 구조
+-----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+-------+
| Host | char(60) | | PRI | | |
| Db | char(64) | | PRI | | |
| User | char(16) | | PRI | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
+-----------------------+---------------+------+-----+---------+-------+
mysql> insert into db values('%', 'proftp', 'proftp', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
1.1.2 user테이블에 proftp사용자의 권한 추가
user 테이블 구조
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host | varchar(60) | | PRI | | |
| User | varchar(16) | | PRI | | |
| Password | varchar(41) | | | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Reload_priv | enum('N','Y') | | | N | |
| Shutdown_priv | enum('N','Y') | | | N | |
| Process_priv | enum('N','Y') | | | N | |
| File_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Show_db_priv | enum('N','Y') | | | N | |
| Super_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
| Execute_priv | enum('N','Y') | | | N | |
| Repl_slave_priv | enum('N','Y') | | | N | |
| Repl_client_priv | enum('N','Y') | | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | | | | |
| ssl_cipher | blob | | | | |
| x509_issuer | blob | | | | |
| x509_subject | blob | | | | |
| max_questions | int(11) unsigned | | | 0 | |
| max_updates | int(11) unsigned | | | 0 | |
| max_connections | int(11) unsigned | | | 0 | |
+-----------------------+-----------------------------------+------+-----+---------+-------+
mysql>INSERT INTO user VALUES('localhost','proftp',PASSWORD('비밀번호 '),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');
mysql>INSERT INTO user VALUES('lnx68.thesoft.co.kr','proftp',PASSWORD(비밀번호 '),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');
mysql>INSERT INTO user VALUES('%','proftp',PASSWORD('비밀번호 '),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');
host 테이블 구조
+-----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+-------+
| Host | char(60) | | PRI | | |
| Db | char(64) | | PRI | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
+-----------------------+---------------+------+-----+---------+-------+
mysql>INSERT INTO host VALUES('localhost','proftp','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql>INSERT INTO host VALUES('lnx68.thesoft.co.kr','proftp','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
1.1.3 proftp DB생성
mysql> create database proftp;
mysql> flush privileges;
1.mysql설정을 한뒤 'proftp'데이터베이스 생성합니다.
#/usr/local/bin/mysqladmin -u proftp -p create proftp
==> 왠일인지 mysqladmin 이 mysql서버에 접근을 못하게 되어있다. 그래서 직접 mysql로 서버에 접속을 한다음 쿼리문장으로 처리
1.1 db유저 생성
1.1.1 db테이블에 proftp사용자 등록
db 테이블 구조
+-----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+-------+
| Host | char(60) | | PRI | | |
| Db | char(64) | | PRI | | |
| User | char(16) | | PRI | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
+-----------------------+---------------+------+-----+---------+-------+
mysql> insert into db values('%', 'proftp', 'proftp', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
1.1.2 user테이블에 proftp사용자의 권한 추가
user 테이블 구조
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host | varchar(60) | | PRI | | |
| User | varchar(16) | | PRI | | |
| Password | varchar(41) | | | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Reload_priv | enum('N','Y') | | | N | |
| Shutdown_priv | enum('N','Y') | | | N | |
| Process_priv | enum('N','Y') | | | N | |
| File_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Show_db_priv | enum('N','Y') | | | N | |
| Super_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
| Execute_priv | enum('N','Y') | | | N | |
| Repl_slave_priv | enum('N','Y') | | | N | |
| Repl_client_priv | enum('N','Y') | | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | | | | |
| ssl_cipher | blob | | | | |
| x509_issuer | blob | | | | |
| x509_subject | blob | | | | |
| max_questions | int(11) unsigned | | | 0 | |
| max_updates | int(11) unsigned | | | 0 | |
| max_connections | int(11) unsigned | | | 0 | |
+-----------------------+-----------------------------------+------+-----+---------+-------+
mysql>INSERT INTO user VALUES('localhost','proftp',PASSWORD('비밀번호 '),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');
mysql>INSERT INTO user VALUES('lnx68.thesoft.co.kr','proftp',PASSWORD(비밀번호 '),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');
mysql>INSERT INTO user VALUES('%','proftp',PASSWORD('비밀번호 '),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0');
host 테이블 구조
+-----------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+-------+
| Host | char(60) | | PRI | | |
| Db | char(64) | | PRI | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
+-----------------------+---------------+------+-----+---------+-------+
mysql>INSERT INTO host VALUES('localhost','proftp','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql>INSERT INTO host VALUES('lnx68.thesoft.co.kr','proftp','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
1.1.3 proftp DB생성
mysql> create database proftp;
mysql> flush privileges;
DBMS/MySQL]var_디렉토리_용량_부족시에_데이터_디렉토리_이전
1. mysql을 잠시 내리고 db 파일(/var/db/mysql 디렉토리)을 여유공간으로 이동을 하고 예전 경로에 심볼릭
링크를 걸어준다.
예시 )
새로운 하드 마운팅 네임 : /usr/local/db
기존 mysql 설치 디렉토리 : 프비에서 포트로 설치시 디폴트. 아님 /usr/local/mysql
mysql 데이터 디렉토리 : /var/db/mysql
# /usr/local/etc/rc.d/mysql-server.sh stop <-- mysql 데몬 shutdown
# mv /var/db/mysql /usr/local/db/ <-- /var/db/mysql 디렉토리를 /usr/local/db/
밑으로 이동
# chown -R mysql:mysql /usr/local/db <-- 소유권을 mysql:mysql로 수정
(리눅스에서는 chown -R mysql.mysql /usr/local/db 이렇게(???) 할 것임)
# ln -s /usr/local/db/mysql /var/db/mysql <-- 심볼릭 링크 검
# /usr/local/etc/rc.d/mysql-server.sh start <-- 재기동
[DBMS/MySQL]가입자에게_mysql을_사용할_수_있도록_path_설정하기
1. 가입자에게 mysql을 사용할 수 있도록 PATH설정하기
/etc/skel 의 .bash_profile에 mysql을 실행시킬수 있도록 다음과 같이 설정한다.
# .bash_profile
# Get the aliases and functions
# 사용자 정의 앨리어스와 함수 정의 포함
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
# 사용자별 환경 변수, 시작 프로그램 설정
PATH1=$PATH:$HOME/bin <- 설정부분
PATH=$PATH1:/usr/local/mysql/bin <- 설정부분
BASH_ENV=$HOME/.bashrc
USERNAME=""
export USERNAME BASH_ENV PATH1 PATH <- 설정부분
2012-09-16
Installing Moodle_Kor
Moodle 설치매뉴얼
이 가이드라인은 Moodle을 처음으로 사용하시는 분들께 Moodle 설치 방법을 알려 드립니다 . 몇몇 단계는 매우 세부적인 사항까지 들어가며 웹 서버 설정 등 많은 부분을 포함하고 있습니다. 따라서 이 매뉴얼이 조금은 복잡하게 보일지도 모르지만 놀라지 마십시오. 설치방법을 한번만 익히시면 몇 분만에라도 Moodle을 설치하실 수 있습니다.
만일 문제가 발생한다면 이 페이지를 다시 한번 주의 깊게 읽어주시기 바랍니다. –대부분의 문제점들에 대한 해결방법 을 이 페이지에서 찾으실 수 있습니다. 그럼에도 여전히 문제가 해결되지 않으셨 다면 Moodle 커뮤니티인 moodle.org Using Moodle 을 통해 도움을 받으실 수 있습니다.
또 하나의 선택사항으로 Moodle Partner providing Moodle hosting 에접속하시는 방법이 있습니다. 이 사이트는 여러분을 위해 Moodle 을 완벽하게 관리해 줄 것입니다.
만약 컴퓨터에서 Moodle을 돌려보고 싶을 경우 이 페이지가 다소 위압적으로 느껴지실지도 모르겠습니다. 그러실 경우 다음의 저희 가이드를 참고해 주세요. Installing Apache, MySQL and PHP(AMP) 또는 how to install one of Moodle's complete packages . 이 가이드들은 가장 다가가기 쉬운 방식으로 전부설치 설명서 를 제공합니다.
목차 1 프로그램 설치에 필요한 사항 2 사용자수 3 다운로드 및 파일복사 설치 3.1 Moodle Directory 구조 4 시스템 설정 4.1 웹서버 설정 검토 4.1.1 .htaccess fil e 사용하기 4.2 여분의 데이터베이스 생성 4.2.1 Hosted serve r 사용하기 4.2.2 문자입력방식 사용하기 4.3 데이터 Directory 생성 (moodledata) 5 config.php 생성을 위한 설치 스크립트 실행 6 프로그램 구성을 계속하기위해 관리자 페이지로 이동하기 7 cro n 설정 8 backup 설정 9 신규과정 개설 10 See also |
설치 요구사항
Moodle 은 Apa che , MySQL , PHP (LAMP 플랫 폼이라고도 불림) 를 사용하는 Linux 환경에서 개발되었습니다. 그러나 Moodle은 Windows XP/2000/2003 (WAMP) 환경에서의 실행여부 또한 테스트되었습니다. 뿐만 아니라 Solaris 10(Sparc and x64), Mac OS X 그리고 Netware 6 OS에서도 실행여부가 테스트되었습니다. PostgreSQL, Oracle,Microsoft SQL Server 에서의 운영 또한 가능합니다.
Moodle 설치를 위한 하드웨어 및 소프트웨어 사양 은 다음과 같습니다.
하드웨어 (hosted server 사용하지 않을 경우 ).
디스크 여유공간 : 최소 160MB. 강의자료 저장 시 더 많은 여유공간이 필요합니다.
메모리 사양 : 최소 2 56MB , 1GB 권장 . 경험적인 판단에 의하면 1GB 사양에서 Moodle 은50 명의 동 일 시간 접속자를 지원 가능합니다 , 그러나 이는 사용자의 컴퓨터 하드웨어 및 소프트웨어의 조합 등에 따라 바뀔 수 있습니다.
소프트웨어 사양
많은 분들께서 웹 서버 소프트웨어로 Apache 를 사용하고 계시지만, Moodle은 윈도우플랫폼 상에서의 IIS 와 같은 PHP 를 지원하는 어떠한 웹 서버 하에서도 정상적으로 작동하도록 되어 있습니다. PHP에서는 웹 서버 버전에 대해 요구 하고 있으나 이는 꽤 복잡하므로 단순하게 선택하신 웹 서버의 최신 버전을 사용하시길 권장 드립니다.
Moodle 버전 1.4에는 PHP 스크립트 언어(버전 4.1.0 이상), PHP 5(버전 5.1.0 이상)를 지원합니다.(참고로 PHP-Accelerator관련하여 몇 가지 문제점이 발생하였었음을 알려드립니다.) Moodle 버전 1.6 이후 에서는 PHP 버전 4.3.0 이나 5.1. 을, Moodle 버전 2.0 이후 에서는 최소 PHP 버전 5.1. 을 지원합니다.
운용 가능한 데이터베이스 서버 : MySQL 이나 PostgreSQL 은 Moodle 어느 버전을 사용하시더라도 완벽하게 지원됩니다.Microsoft SQL Server 과 Oracle 에 대해서는 Moodle 버전 1.7. 이후로 지원될 것입니다. MySQL 이 일반화되어 있어 많은 분들이 사용하고 계십니다만 PostgreSQ L 관련 문제 가 조금 있었습니다. 이 문제는 특히 대규모 전개를 기획하는 경우 발생하였습니다. Moodle 1.5 에서는 MySql 3.23를 최소한 사용하여야 하며 Moodle 1.6 이후 버전에서는 MySQL 버전4.1.16 을 필요로 합니다. ( 라틴어만을 사용하는 경우 4.1.12). PostgreSQL 의 최소사용버전은 7.4 이고 8.0 이나 8.1. 까지도 널리 사용되고 있습니다. MySQL 구성 파일에서 MySQL "strict mode" 설정은 해제되어 있어야 합니다. ( "" 또는"MYSQL40" 로 설정 )
추가적인 PHP 요건
Safe mode needs to be OFF (check in your php.ini or Apache configuration file). 안전모드는 해제되어 있어야 합니다.( php.ini 또는 Apache 구성파 일)
Memory_limit 은 최소한 16M 여야 합니다. (Moodle 1.7 이후 버전에 대해서는 32M 가 권장됩니다. ).
Multi-byte string 을 사용하기 위해서는 m bstring 확장이 필요합니다.
session.save_handler 는 파일로 설정되어야 합니다.
Moodle 1.6 이후 버전에서는 I conv 확장을 권장합니다.
로그 페이지로 만들어지는 동적 그래프를 확인 가능한 Linux/Unix 박스에서의 GD library 와 Fre eType 2 라이브러리
MySql 데이터베이스를 사용하는 경우 my sql 확 장이 필요합니다. 일부 배포되어 있는Linux (Red Hat으로 알려진)에서는 mysql 확장이 선택적 설치사항으로 포함되어 있습니다.
PostgreSQL 데이터베이스를 사용하고 있는 경우 pgsql 확장이 필요합니다.
압축/압축풀기 기능을 위해서는 zlib 확장이 필요합니다.
선택적인 Moodle 기능을 지원하기 위해 다른 PHP 확장이 필요할 수도 있습니다. 특히 exte rnal authentication 그리고/또는 enrolmen t 의 경우 그렇습니다. (예: 채팅 서버에 대한 LDAP authentication 및 소켓 확장을 위한 LDAP 확장)
Hosted 계정을 사용하고 있는 경우 주목할 것: 대부분의 웹 호스트에서는 이러한 요구사항들을 기본사항으로 지원하고 있습니다. 웹 호스트 가입 이전에 웹 호스트 지원센터에 연락하셔서 지원 가능 여부를 문의하시기 바랍니다. 만일 이미 이러한 지원이 이루어지지 않는 웹 호스트에 가입하셨다면 지원이 이루어지지 않는 이유를 문의하시기 바랍니다. 해당 웹 호스트에서 지원해 주지 않을 경우 웹 호스트를 변경하시는 것을 고려하시기 바랍니다.
사용자수 ?
하드웨어 및 소프트웨어 요구사양에 덧붙여 Moodle이 관리 가능한 사이트 이용자 수의 관점에서 Moodle 설치 능력에 대해 검토하여야 합니다. 생각해야 할 2가지 종류의 사용자 수가 있습니다.
사이트 이용자 : Moodle 사이트를 열 수 있는 이용자의 최대 수. 이는 조직 내 컴퓨터 대수 또는 강좌(과정) 대상 컴퓨터 대수(어떤 것이든 큰 것을 선택함)로 판단 가능합니다.
데이터베이스 동시 이용자 : 동시에 데이터베이스를 이용할 수 있는 최대 접속자 수 ( 퀴즈 등의 진행 시 필요함 ).Moodle을 동시에 사용할 이용자의 숫자를 의미한다. 교육기관에서는 시간표 또는 당번표를 통해 이를 파악할 수 있다.
사용자 수를 한번 파악한 뒤에는 설치된 Moodle 이 지원하기만 한다면 작업을 시작할 수 있습니다. 정확한 이용자의 수는 하드웨어/소프트웨어/네트워크의 조합에 따라 달라질 수 있습니다. 보통 설치되어 있는 메모리(RAM) 용량이 결정인자가 되나 전체적인 프로세서 속도가 빠를 수록 페이지 로딩시간을 단축할 것입니다.
경험적인 판단에 의하면 하나의 서버에 있어서 최대 접속가능 이용자 수는 대략 RAM용량(GB)에 50을 곱한 수치이며 대략적인 사이트 이용자(브라우징)는 추정되는 최대 동시접속 이용자 수의 5배 정도입니다 . 예를 들면 총 500대의 컴퓨터를 가지고 있는 대학 캠퍼스에서 100명이 동시에 이용하기 위해서는 한 개의 서버당 약 2GB의 메모리 용량이 필요하다는 계산 결과가 나옵니다.
Hosted 계정을 사용하는 경우 공급업체에 문의하여 데이터베이스 동시 접속 및 프로세서 부하의 수치 한계를 문의하십시오. 이를 통해 설치된 Moodle 이 관리 가능한 이용자의 대략적인 추정치를 파악할 수 있습니다.
다운로드 및 파일 복사 설치
Moodle 프로그램을 획득하는 방법은 압축패키지 또는 CVS 이용 2가지 입니다.
다운로드 페이지: http://download.moodle.org/ 에서 두 가지 형태의 패키지, 파일형태로만 제공되는 Moodle 표준 배포판 및전부 설치 판(웹 환경에서 Moodle 을 운영할 수 있는 프로그램 포함)
The full is also available for browsing.
CVS를 사용하실 경우 관리자를 위한 CVS 페이지에서 유용한 설명서를 얻으실 수 있습니다. 브라우징을 위한 Moodle Sourceforge CVS 저장소 또한 이용 가능합니다.
After downloading, unpack the archive using either
다운로드 후 압축파일을 푸신 뒤 두 가지 모두 사용할 수 있습니다.
tar -zxvf [filename]
또는
unzip [filename]
가 적절합니다.
CVS를 사용하신다면 CVS 점검 명령을 실행하십시오
이제 많은 파일과 폴더는 “moodle ”이라는 Directory 에 남아 있지 않을 것입니다.
사이트 http://yourwebserver.com/moodle 에 위치할 경우 또한 모든 폴더 를 웹 서버 문서 Directory 에 포함시킬 수 있습니다. 또는 사이트 http://yourwebserver.com .의 경우 모든 컨텐츠를 바로 메인 웹 서버 문서 Directory 에 복사해 넣을 수 있습니다.
만일 Moodle 을 컴퓨터에 다운 받은 뒤 웹사이트로 Moodle 을 업로드하려고 한다면 전체 archive 를 하나의 파일로 업로드 한 뒤 서버에서 압축을 푸는 것을 권장 드립니다. 심지어 cPanel과 같은 웹 호스팅 인터페이스에서도 “File Manager”에서 archive 의 압축을 풀 수 있습니다.
Moodle Directory 구조
이 섹션을 그냥 무시하고 지나갈 수도 있습니다. 그러나 이 섹션에서는 Moodle 폴더의 컨텐츠에 대한 요약을 제시하여 여러분이 쉽게 이해할 수 있도록 합니다 .
config.php - 기본적인 사항을 포함하고 있으며 이 파일은 Moodle과 함께 제공되지 않습니다. 직접 생성하셔야 합니다.
install.php - config.php 를 생성하기 위해 실행시키는 스크립트
version.php – 현재 Moodle 코드의 버전을 정의합니다.
index.php – 사이트의 초기 화면
admin/ - 전체 서버 관리를 위한 코드
auth/ - 사용자 인증을 위한 plugin 모듈
blocks/ - 많은 페이지에서 일부분의 차단을 위한 plugin 모듈
calendar/ - 달력 기능 표시 및 관리를 위한 코드
course/ - 강좌(과정) 코스의 표시 및 관리 를 위한 코드
doc/ - Moodle 을 위한 문서 지원 ( 예: 현재 페이지 )
files/ - 업로드 된 파일의 표시 및 관리를 위한 코드
lang/ - 다른 언어로 작성된 텍스트들, 한 언어 당 하나의 사전
lib/ - 핵심적 Moodle 코드 라이브러리
login/ - 로그인 및 계정 생성 관리 코드
mod/ - 모든 메인 Moodle 코스 위치
pix/ - 일반적인 사이트 그래픽
theme/ - 사이트 디자인 변경을 위한 주제별 팩/스킨
user/ - 사용자의 표시 및 관리를 위한 코드
시스템 설정
Moodle 이 성공적으로 설치되었는지 확인하기 위하여 웹 서버 설정이 올바른지 점검할 필요가 있습니다. 그리고 나서Moodle 이 사용하고 생성할 Directory 를 최종적으로 생성하기 위해 빈 데이터 베이스를 생성합니다. 이는 당신의 강좌(과정) 코스에 올려 놓은 자료 및 기타 파일들을 보호하기 위해서 하는 조치입니다.
웹 서버 설정 점검
우선 웹 서버가 index.php 를 기본 페이지로 사용하도록 설정되어 있는지 확인합니다. ( index.html, default.htm 등에 추가하여) Apache에서는 http d.conf 파일에 포함되어 있는 Directory Index 파라미터를 사용하여 이루어지고 있습니다. Mine은 보통 다음과 같은 모습을 가지고 있습니다.
DirectoryIndex index.php index.html index.htm
index.php 가 list에 포함되어 있는지 확인하십시오 (그리고 효율적인 작업을 위해서 리스트의 시작부분 방향으로)
두 번째로 만약 Apache 2를 사용하고 있다면 AcceptPathInfo 변수를 활용해야 합니다. 이 변수는http://server/file.php/arg1/arg2 와 같은 문제를 지나칠 수 있도록 해주는 스크립트입니다. 이것은 또한 당신의 자료들 간의 상대적인 연결고리를 허용하는 핵심적인 것이며, 또한 사용자가 Moodle 웹 사이트를 이용할 때 빠른 속도를 제공할 수 있 습니다. 이 변수를 활용하기 위해서는 다음의 문장을 httpd.conf 파일에 추가하면 됩니다.
AcceptPathInfo on
세 번째로 Moodle 을정상적으로 운영하기 위해 많은 PHP 설정이 필요합니다. 이 것은 대부분의 서버에서 이미 기본적으로 되어 있는 설정입니다. 그러나 몇몇 PHP 서버에서 그리고 몇몇의 최근 PHP 버전에서 다른 설정을 가지는 경우가 점차 더 많이 나타나고 있습니다. 이 러한 설정은 PHP의 구성 파일(보통 php.ini 라고 불림)에서 정의되고 있습니다.
magic_quotes_gpc = 1 (preferred but not necessary)
magic_quotes_runtime = 0 (necessary)
file_uploads = 1
session.auto_start = 0
session.bug_compat_warn = 0
이미 편집 중인 기타 설정(선택적인 php.ini 파일) 이 필요할 지도 모릅니다. 예를 들어 파일 첨부를 위한 업로드 용량 최대크기 를 변경 해야 할지도 모릅니다. (보통 기본 용량인 2메가바이트)
post_max_size = 16M
upload_max_filesize = 16M
.htaccess 파일 사용하기
직접 서버의 파일을 수정할 수 있다면 위의 것을 그대로 사용하셔도 좋습니다. 그러나 웹 호스트 상에서 Moodle 을 설정하고 있거나 서버의 http.conf 또는 php.ini 파일에 접근할 수 없다면 또는 서버의 다른 설정이 요구되는 다른 어플리케이션이 포함되어 있는 서버에서 Moodle 을 운영하신다고 하더라도 걱정하지 마십시오. 이것은 오직 Apache 서버 및 메인 Apache 구성에서 Override가 허용되는 경우에만 효과가 있기 때문입니다.
다음과 같은 문장을 포함하는 Moodle 의 메인 Directory 에 .htaccess 라는 이름의 파일을 생성합니다.
DirectoryIndex index.php index.html index.htm
AcceptPathInfo on
php_flag magic_quotes_gpc 1
php_flag magic_quotes_runtime 0
php_flag file_uploads 1
php_flag session.auto_start 0
php_flag session.bug_compat_warn 0
선택적으로 업로드 파일의 최대 용량과 같은 것들 또한 하실 수 있습니다.
LimitRequestBody 0
php_value upload_max_filesize 2M
php_value post_max_size 2M
가장 쉬운 일은 단순히 lib/htaccess 로부터 샘플 파일을 복사하여 필요에 맞게 편집하는 것입니다. 그것은 추가적인 언급이 필요합니다. 예를 들어 Unix Shell에서는
cp lib/htaccess .htaccess
비어 있는 데이터베이스 생성하기
특정 데이터베이스에만 접속할 수 있는 특정 사용 자( “Moodle 사용자 ”)를 포함하는 데이터베이스 시스템 내에 비어 있는 데이터베이스를 생성할 필요가 있습니다.(예 “Moodle ”) 테스트 서버를 위하여 원하실 경우 “root ”사용자를 이용할 수 있습니다. 그러나 생산시스템에 대해서는 권장되지 않습니다. : 해커들이 암호를 알아내기 위해 접근할 경우 한 개 이상의 또는 전체 데이터베이스가 위험에 빠질 수도 있습니다.
경고 : 현재 Moodle (1.5.x)은 MySQL 5.x의 새로운 표준모드( strict mode : STRICT_TRANS_TABLES and/or STRICT_ALL_TABLES ) 설정에서 작동하지 않음을 명심하시기 바랍니다. 그러므로 MySQL 5.x 을 사용하고 계신다면MySQL 구성파일을 편집하시기 바랍니다.(구성파일은 윈도우에서는 "my.ini" Unix/Linux 에서는 "my.cnf" 입니다.) 편집한 뒤 그 선택사항을 comment out 시키거나 sql-mode="" (single quotes) 로 설정하시기 바랍니다. 설정 후에는 반드시MySQL 을 재 시작하셔야 합니다.
서버에 접근할 수 없다면, PHPMyAdmin ( 또는 MySQL client) 를 사용하십시오. 그리고 command SET@@global.sql_mode="" (single quotes); ( 세미콜론 주의 ) 를입력하십시오.
Hosted server 사용하기
웹 호스트를 사용하고 있다면 그 곳에는 데이터베이스를 생성할 수 있도록 관리 패널 웹 인터페이스를 가지고 있을 것입니다.
cPanel 시스템은 가장 보편적인 인터페이스 중 하나입니다, cPanel에 데이터 베이스를 생성하기 위해서 다음사항을 따르십시오
"MySQL Databases " 아이콘을 클릭하십시오
데이터베이스 필드에 "moodle" 을 입력하고 "Add Database "를 클릭하십시오
사용자 이름 및 암호(다른 곳에서 사용하지 않는 것)를 각각의 필드에 입력한 뒤 "Add User "를 클릭하십시오
이제 "Add User to Database "버튼을 사용하여 새 사용자 계정에 새 데이터베이스에 대한 "ALL "권리를 부여하시기 바랍니다.
사용자 이름 및 데이터베이스 이름은 cPanel 계정 이름에 의해 미리 고정되어 있을 수 있음을 알고 계시기 바랍니다. 이러한 정보를 Moodle installer에 입력하실 경우 성과 이름 모두를 입력 하시기 바랍니다.
명령 행( command line ) 사용하기
Unix 또는 Window s 의 command lines 에 접근할 수 있다면 명령을 입력 함으로써 동일한 종류의 명령을 실행시킬 수 있습니다. 단 MySQL Client 프로그램을 이용하여야 합니다.
여기 MySQL client 의 command lines 예가 있습니다. (붉은 색 부분은 Moodle 1.6 이후 버전에 대한 것이며 Moodle 1.5.x 이전 버전 사용시 제외 시키 시기 바랍니다.
# mysql -u root -p
> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.*
TO moodleuser@localhost IDENTIFIED BY 'yourpassword';
> quit
# mysqladmin -u root -p reload
MySQL 4.0.2 이후 버전을 사용하고 계신다면 GRANT 설명에서 CREATE TEMPORARY TABLES 또한 구체화시켜야 합니다.
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,
DROP,INDEX,ALTER ON moodle.*
TO moodleuser@localhost IDENTIFIED BY 'yourpassword';
PostgreSQL 에 대한 command lines 예는 다음과 같습니다. :
# su - postgres
> psql -c "create user moodleuser createdb;" template1
> psql -c "create database moodle with encoding 'unicode' ;" -U moodleuser template1
> psql -c "alter user moodleuser nocreatedb;" template1
> psql -c "alter user moodleuser with encrypted password 'yourpassword';" template1
> su - root
# /etc/init.d/postgresql reload
만일 Postgres 가 위에서 생성한 데이터베이스 명령 (>psql -c "create database moodle...") 으로 인해 오류가 발생하는 경우 다음 명령을 시도해 보시기 바랍니다.
psql -c "create database moodle with template=template1 encoding = 'unicode' owner = moodleuser location = '/var/mydata';"
데이터 Directory (Moodle 데이터) 생성하기
Moodle 에서는 또한 서버의 하드디스크에 업로드 된 파일들( 강의 문서 및 사용자 사진)을 저장하기 위한 약간이 공간이 필요합니다. Moodle installer 는 하드에 이러한 Directory 를 생성하려고 할 것입니다. 그러나 그렇게 되지 않을 경우 업로드 파일 저장 목적의 Directory 를 직접 생성하셔야 합니다.
보안 경고 : 보안상의 목적으로 이러한 Directory 는 웹을 통해서 직접 접근이 가능하지 않도록 하는 것이 가장 좋습니다. 이를 위한 가장 쉬운 방법은 간단히 이 Directory 를 웹 Directory 바깥에 위치시키는 것입니다. 그러나 웹 Directory 내에 이 Directory 를 반드시 가지고 있어야 하는 경우라면(그리고 Apache 를 사용하고 있다면) 다음을 포함하는 .htaccess라고 하는 데이터 Directory 내에 파일을 생성하여 정보를 보호하시기 바랍니다.
deny from all
허용: Moodle 이 업로드된 파일을 이 Directory 에 저장할 수 있는지를 확실히 하기 위해서, 웹 서버 소프트웨어가Directory 내에서 읽기, 쓰기 및 실행 가능한지를 점검하십시오. Unix machine에서 이것은 Directory 소유자를 "nobody"또는 "apache" 와 같은 것으로 설정하는 것 그리고 사용자에게 읽기, 쓰기, 실행 가능한 권리를 허용하는 것을 의미합니다.이를 위해서 다음을 사용할 수 있습니다.
chown -R nobody:nobody moodledata
기본적으로 Moodle 은 웹 Directory 내부에서 생성 된 Moodle 데이터 Directory 들에 대한 경고를 제기할 것입니다. 그러나 그렇지 않다면 이 Directory 를 원하시는 위치에 지정하실 수 있습니다. 또한 이후에 디렉토리 의 위치를 이동하거나 변경하실 수 있습니다. 그러나 반드시 config.php 파일 내에서 이동 및 설정 변경이 이루어져야 합니다 ; 예 Moodle 데이터가 데이터라고 하는 Directory 하부에 위치한다면 다음 같을 것입니다.
$CFG->dataroot = '/data/moodledata';
CPanel 과 웹 호스트 : cPanel 시스템에서는 폴더를 찾기 위해 "File Manager" 를 사용하실 수 있습니다. 클릭한 뒤"Change Permissions" 을 선택하십시오. 많은 공유 호스팅 서버에서는 “group ”에 대한 모든 파일 접근을 제한할 필요가 있 을것입니다. 이는 다른 웹 호스트 고객들의 접근 또는 파일 변경을 막기 위함입니다. 그러나 웹 서버가 파일에 접근할 수 있도록 허용할 고객 이외의 모든 고객에 대해서는 정상적인 읽기/ 쓰기 접근을 허용하시기 바랍니다. 안전하게 설정 시 문제가 발생하면 서버 관리자에게 문의하시기 바랍니다. 특히 "Safe Mode "라고 알려진 PHP 설정을 사용하는 사이트에서의 이용 가능한 데이터 Directory 생성은 불가능할 수도 있습니다.
config.php 생성을 위한 installer 스크립트 실행하기
Installer 스크립트 (install.php) 를 실행하기 위해서는 단순히 웹 브라우저를 사용하는 방법 또는http://yourserver/install.php 로 바로 접속하는 방법을 통해 Moodle 의 메인 URL에 접속하시면 됩니다.
(Installer는 세션 쿠키를 설정하려고 할 것입니다. 브라우저에 팝업 경고창이 뜰 경우 쿠키를 허용하겠다고 하시기 바랍니다!)
Moodle 은 configuration 이 필요하다는 것을 인식하고 config.php 라는 새로운 구성 파일을 생성할 수 있도록 돕는 화면으로 이동할 것입니다. 프로세스의 끝에서 Moodle 은 파일을 제 자리에 위치하도록 작성하려고 노력할 것입니다. 만일 그렇지 않다면 버튼을 눌러 installer로부터 다운을 받아 config.php 를 서버상의 메인 Moodle Directory 에 업로드할 수 있습니다.
그 방식에 따라Installer가 서버 환경을 점검하고 모든 문제점의 해결방법을 제안할 것입니다. 대부분의 문제들에 대해서 제시된 방법들은 충분히 도움이 될 것 이나 만일 해결이 잘 안 되셨다면 설치관련 포럼에서 도움을 받으시길 권장 드립니다.
구성을 계속하기 위해 관리자 페이지로 이동
이전 단계에서 기본적인 config.php 가 제대로 생성되었다면 , 사이트의 초기 페이지로 접근하려고 하면 사이트가 나머지 구성을 위해 “admin” 페이지로 이동할 것입니다.
처음으로 이 관리자 페이지에 접속하시면, 설정을 계속하기 이전에 반드시 동의해야 하는 GPL "shrink wrap" 동의서를 받게 될 것입니다.
이제 Moodle 은 데이터베이스 설정 및 데이터 저장을 위한 테이블 생성을 시작할 것입니다. 우선 메인 데이터베이스 테이블이 생성됩니다. 수 많은 SQL 설명을 상태 표시 메시지(녹색 또는 적색 글씨)와 함께 보게 될 것입니다.
CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default '', fullname varchar(254) NOT NULL default '', shortname varchar(15) NOT NULL default '', summary text NOT NULL, format tinyint(4) NOT NULL default '1', teacher varchar(100) NOT NULL default 'Teacher', startdate int(10) unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default '0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id)) TYPE=MyISAMSUCCESS |
만일 이러한 설명 및 메시지를 보지 못했다면 , 데이터베이스 또는 config.php 에서 정의한 구성 설정 에 일부 문제점이 발생한 것이 분명합니다. 혹시 PHP가 제한된 "Safe Mode" 에 있지 않은지 점검해보시기 바랍니다. (상업적 웹 호스트에서는 Safe Mode를 설정해 놓는 경우가 간혹 있습니다.) 를 포함하고 있는 하나의 작은 파일을 생성하고 브라우저를 통해 그것을 봄으로써 PHP 변수를 점검할 수 있습니다. 이 모든 것을 점검해 보신 뒤 다시 이 페이지의 내용을 시도해 보시기 바랍니다.
페이지 맨 아래로 내리셔서(스크롤 다운) “계속(Continue) ”링크를 누르십시오
기본 언어, SMTP호스트 등 설치를 위한 더 많은 구성 변수를 정의할 수 있는 양식을 이제 보시게 될 것입니다. 지금 바로 모든 것을 얻어야 한다는 생각 에 너무 걱정하지 마십시오 –언제든지 다시 돌아와 관리자 인터페이스를 통해 이러한 내용들을 다시 편집할 수 있습니다. 대부분의 사이트들에서 기본사항들은 유용하고 안전하도록 설계되었습니다. 이제 페이지 아래로 내려가서 "저장하기( Save changes )"를 클릭하십시오 .
이 페이지에서 문제가 발생 경우에 만, 즉 진행할 수 없는 경우에는 "buggy referrer" 라고 하는 문제를 서버가 가지고 있을 것입니다. 이는 매우 해결하기 쉽습니다. 단지 "secureforms" 설정을 해제한 뒤 다시 계속해 보시기 바랍니다.
그 다음으로 많은 상태 표시 메시지가 출력되는 것을 더 많이 보게 될 것입니다. 그 이유는 다양한 Moodle 모듈에서 요구하는 모든 테이블을 설정해야 하기 때문입니다. 전과 마찬가지로 그것들은 녹색 으로 표시될 것입니다.
페이지 맨 아래로 내리셔서(스크롤 다운) “계속(Continue) ”링크를 누르십시오 .
다음 페이지는 Moodle 사이트와 이름, 형식, 설명 등과 같은 초기 화면을 위한 파라미터 를 정의할 수 있는 양식(Form)입니다. 양식을 채우신 뒤(언제든지 다시 돌아와 변경할 수 있습니다.) 저장하기 버튼( "Save changes" ) 을 누르십시오.
마지막으로 향후 관리자 페이지 접속을 위한 최고 수준의 관리 사용자( administration user )를 생성할 것인지를 물어볼 것입니다. 당신만의 고유한 이름, 이메일 등 세부사항을 작성하신 뒤 저장하기 버튼( "Save changes" ) 을 누르세요. 모든 필드들을 채우실 필요는 없습니다만 만약 중요한 필드를 채우시지 않을 경우 작성을 위해 re-prompt 하시게 될 것입니다.
관리 사용자( administration user )계정으로 선택한 사용자 이름 및 암호를 반드시 기억하십시오. 향후 관리자 페이지에 접속하기 위해서 필요합니다.
(만약 어떠한 이유에서라도 Moodle 설치가 방해를 받거나 일종의 시스템 에러가 발생하여 관리자 게정을 사용할 때 접속이 금지되어 있다면, 기본 사용자 이름인 "admin "에 암호 "admin "를 사용하여 보통 접속하실 수 있습니다.)
설치가 성공적이다면 새로 생성한 사이트로 돌아올 것입니다! 관리 링크는 왼쪽 아래에 있음을 주지하십시오. (이 아이템은 개별 관리자 페이지에서도 나타납니다.) –이것은 오직 당신만 볼 수 있습니다.(관리 사용자로 접속하였기 때문) 모든 추가적인 Moodle 의 관리는 다음과 같은 메뉴를 사용하여 진행할 수 있습니다.
강좌 (과정) 생성 및 삭제
사용자 계정의 삭제 및 편집
강사 계정 관리
테마 등의 사이트 전반 설정 변경
그러나 아직 설치를 모두 마친 것은 아닙니다. 아직 해야 할 중요한 것이 1개 남았습니다. (다음페이지의 cron에 대한 부분을 참고하십시오)
Cron 설정
Cron instructions .여기를 참고하시기 바랍니다.
백업 설정
Backup instructions . 여기를 참고하시기 바랍니다.
신규 강좌(과정) 생성
이제 Moodle 이 정상적으로 운영이 되고 있다면, 운영할 신규 강좌(과정) 생성 을 해 볼 수 있습니다.
관리자 페이지 (또는 홈페이지의 관리자 링크)에서 "신규 과정 생성하기( Create a new course )"를 선택하시기 바랍니다.
강좌 형식에 따라 특별한 주의하셔서 양식을 작성하십시오. 이 페이지에서 너무 자세한 사항들에 대해 걱정하실 필요는 없습니다. 모든 것은 강사에 의해서 이후에 변경될 수 있기 때문입니다. 노란색 Help 아이콘이 페이지 곳곳에서 모든 문제에 대한 도움 (설명 문서) 을 주기 위해 있습니다.
"저장하기( Save changes )"를 누르면 강사를 지정할 수 있는 새로운 양식으로 이동하게 됩니다. 기존의 사용자계정을 이 양식으로부터 더할 수만 있습니다. –그러므로 신규 강사 계정을 만들기 위해서는 강사 분께 직접 계정 하나를 생성하시도록 요청하시거나(로그인 페이지 참조) 관리자 페이지에서 "사용자계정 추가하기( Add a new user )"를 이용하여 계정을 생성하시기 바랍니다.
이제 다 되었다면, 과정은 customize 할준비가 되어있습니다. 그리고 이제 홈페이지의 "Courses" 링크를 통해 접속이 가능합니다.
피드 구독하기:
글 (Atom)