'php'에 해당되는 글 1건

  1. 2009.05.20 무들의 설치 Install Moodle- 무들을 의한 리눅스 APM설치 1
2009. 5. 20. 10:24

무들의 설치 Install Moodle- 무들을 의한 리눅스 APM설치

  • curl-7.15.5.tar.gz (1.81MB)(0)
  • httpd-2.2.10.tar.gz (6.28MB)(0)
  • httpd-2.2.11.tar.gz (6.49MB)(0)
  • jpegsrc.v6b.tar.gz (598.9KB)(0)
  • moodle-1.9.4.gz (12.36MB)(0)
  • mysql-5.1.32.tar.gz (29.50MB)(0)
  • openssl-0.9.8i.tar.tar (3.30MB)(0)
  • php-5.2.9.tar.gz (12.27MB)(0)
  • zlib-1.2.3.tar.tar (485.0KB)(0)


    (본인 홈페이지입니다. 자체서버로 운영중입니다. http://bestakas.saeumart.com)


    moodle을 쓰기위한 APM의 컴파일 작업..

    무들을 설치할때 가장 짜증나는 부분이기도 하다. 이대로 한다고 하더라도 시스템에 따라 에러가 날수 있고, 또한 한번에 잘될수도 있다.

    어렵게 생각하지 말고 잘 설치하기 바란다.

    특히 통합설치 버젼인 lampp는 xmlrpc.so가 설치되어 있지 않다. xmlrpc.so가 설치되어 있지않다고 해도 설치시에는 문제없이 설치된다. 하지만, 완벽한 설치를 원한다면 APM을 스스로 컴파일하는것이 좋다. 나중에 사용하다가 xmlrpc함수가 사용되어져 에러가 생긴다면, 데이타를 통째로 이전해야 하는 위험이 생길지도 모른다. (lampp에서는 xmlrpc보다 한단계 더 진화된 soap모듈이 지원된다. 하지만, xmlrpc보다 무겁고, 함수선언등이 어렵기 때문에 프로그래머들은 xmlrpc를 선호한다. 그런이유로 최신을 자랑하는 lampp버젼에서 누락되었을거라고 생각된다.)

    Apache와 Mysql , PHP를 설치하기 위해서는 다른 일련의 라이브러리들과, 프로그램을 설치해주어야 하는데 , 설치과정이 상당히 복잡하다.

    상단의 자료실에서 모든 자료를 망라하여 올렸으니 다운받고, 서버에 임시 디렉토리로 업로드 한다. (root의 권한이 있어야한다)그후 압축을 풀고 해당디렉토리로 이동하여 작업한다 단, 자신의 시스템에 위의 프로그램이나 라이브러리들이 설치되어 있을수도 있으며,Yum 사이트들의 장애가 있어서, 다운이 받아지지 않을때도 있으므로, 완벽하다고 할수 없다. 그리고 라이브러리들이 없어 에러가 발생할시에는 반드시, google이나 kldp.org등의 리눅스 포럼등에서 조언을 구해보고 대처해야 한다.

    보라색으로 된 문자는 직접 컴파일해야 하는 프로그램들이다. 그외에 푸른색은 yum명령어를 통해서 설치할수 있다. 보라색으로 된 문자는 이름이 비슷한 디렉토리 찾아 cd명령으로 이동한후 ./configure 옵션 (./config) ,make , make install순으로 설치한다. (컴파일 옵션과 터미널 입력부분은 빨간색으로 표시한다.) putty를 사용하시는 분들은 설치옵션에서 Ctrl+C를 이용해 복사한후 putty에서 오른쪽 마우스 버튼으로 붙여놓기 하여 쓰면 된다.

    Apache Setting 

    Openssl
    ./config --prefix=/usr/local/openssl
    make
    make install

    Zlib
    ./configure --prefix=/usr/local/zlib
    make
    make install
    Apache
    ./configure --prefix=/usr/local/httpd --with-mpm=prefork --enable-ssl --with-ssl=/usr/local/openssl --enable-deflate --with-z=/usr/local/zlib --enable-so --enable-mods-shared=all
    make
    make install

    MYSQL SETTING

    #yum -y install ncurses-devel

    MySQL의 설치

    #./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=utf8 --with-mysql-user=mysql --sysconfdir=/etc --enable-thread-safe-client

    #make
    #make install

    MySQL 은 설치보다 세팅이 매우중요하다. 빨간색으로 표시된 부분은 반드시 수행하는 작업이다.

    #  /usr/local/mysql/bin/mysql_install_db --verbose --user=mysql --datadir=/usr/local/mysql/data
    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/local/mysql/bin/mysqladmin -u root password 'new-password'
    /usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

    Alternatively you can run:
    /usr/local/mysql/bin/mysql_secure_installation

    which will also give you the option of removing the test
    databases and anonymous user created by default.  This is
    strongly recommended for production servers.

    See the manual for more instructions.

    You can start the MySQL daemon with:
    cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

    You can test the MySQL daemon with mysql-test-run.pl
    cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl

    Please report any problems with the /usr/local/mysql/bin/mysqlbug script!

    The latest information about MySQL is available at http://www.mysql.com/
    Support MySQL by buying support/licenses from http://shop.mysql.com/
    데이타를 설치해야 한다. 위의 명령으로 데이타가 정상적으로 설치되었으면 이와같은 메세지가 뜬다.

    [root@localhost mysql-5.1.32]# ls /usr/local/mysql/data
    mysql  test

    data폴더에 mysql과 test디렉토리가 생성되었는지 반드시 확인해야 한다.

    [root@localhost mysql-5.1.32]#cat >> /etc/ld.so.conf
    /usr/local/mysql/lib

    ld.so.conf 화일에 위의 디렉토리를 추가한다.

    [root@localhost mysql-5.1.32]# cat /etc/ld.so.conf
    include ld.so.conf.d/*.conf

    /usr/local/mysql/lib

    ld.so.conf에  /usr/local/mysql/lib 추가되었는지 cat명령으로 확인한다.

    [root@localhost mysql-5.1.32]# ldconfig
    #cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
    [root@localhost mysql-5.1.32]# groupadd mysql

    [root@localhost mysql-5.1.32]# adduser -M -c Mysql_server -d /usr/local/mysql -g mysql -s /sbin/nologin mysql
    [root@localhost mysql-5.1.32]# chown root.mysql -R /usr/local/mysql/
    [root@localhost mysql-5.1.32]# chown mysql.mysql -R /usr/local/mysql/data

    Mysql실행의 권한을 주는 명령이다 반드시 한자도 틀림없이 입력해야 한다.

    #cd /usr/local/mysql/bin

    #./mysqld_safe --user=mysql &

    mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

    굵은색의 메세지가 보이면 성공적으로 설치된것임.

    mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid                                 ended

    이런 메세지의 에러를 보인다면,
    1. data 디렉토리의 소유권의 문제
    2.my.cnf의 스크립트상의 차이점때문에 생긴다.
    1의 경우는 #./mysqld_safe --user=root &로 해결가능
    2의 경우는 MySQL설정파일 etc/my.cnf에서 skip-federated 항목을 찾아 #로 주석처리 해본다..
    2의 경우가 아니라면 my.cnf의 설정이 맞지 않기 때문이다. my.cnf를 삭제하거나, standard 설정을 참조한다.
    Mysql의 경우는 단한번으로 세팅이 끝났을수도 있으나 이전에  Mysql이 설치되었던 상황이라면, 에러가 생길 확률이 99%다. 그러므로 잘 보고 세팅하기 바란다.

    PHP설치

    PHP설치는 매우 까다롭다. 도중에 어떤 에러가 생길지도 모른다. php자체가 외부 라이브러리를 많이 쓰므로 개연성 있는 프로그램이나 라이브러리를 우선 설치한후에 php를 설치해야 한다.

    Curl

    ./configure --prefix=/usr/local/curl

    make

    make install

    추가적으로 설치해야 하는 개발용 Library들

    yum –y install libxml2-devel

    yum –y install libjpeg-devel

    yum –y install libpng-devel

    yum -y install libc-client-devel

    yum -y install krb5-devel

    PHP설치

    ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/httpd/conf --with-exec-dir=/usr/local/httpd/bin --with-gd=shared --with-xmlrpc --with-openssl --with-gd --enable-gd-native-ttf --with-curl=/usr/local/curl --with-zlib --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-kerberos --with-imap-ssl --with-libxml-dir --with-imap=shared --enable-inline-optimization --enable-mbstring

    PHP의 설치가 끝나면 httpd.conf(/usr/local/httpd/conf)를 확인해야 한다.

    httpd.conf에 LoadModule php5_module modules/libphp5.so가 추가되었는지 확인하고.

    362라인에 AddType application/X-httpd-php .php .html .htm을 직접 입력하고 저장하자.

    셀로 나와서 #ls /usr/local/httpd/modules/libphp5.so가 있는지 확인하자.

    모두 무리없이 끝났으면 , /usr/local/httpd/bin으로 이동하여 ./httpd –k start 명령으로 아파치를 구동한다.

    구동후 usr/local/httpd/htdocs에 index.php화일을 만든다.

    vi index.php

    <?php phpinfo(); ?>

    의 내용을 작성한후…

    클라이언트의 브라우져로 와서, http://자신의IP/index.php를 입력한다.

    php의 관한 정보가 뜨면 설치성공이다.

    (간단히 썼지만, 이 작업은 초보자일 경우 일주일 이상 걸리는 사람도 있다. 리눅스를 사용해본 분이라면 약 3~4시간안에 종결되는 작업이다.)

    phpinfo()화면에서 아래의 화면중 unicode , database , php외에  모든 요소들이 전부 다 있는지 확인한다.

    없는 부분이 있다면 다시 설치해야 한다!

    (웹호스팅을 받는 시스템이라면, 자신이 무들의 요소를 설치할수 없으므로, php모듈이 무들에 맞게 전부 설치된 웹호스팅 업체를 다시 찾아야 한다.)

    servercheck.jpg

    나중에 무들설치시에 위와 같이 모든 요소들이 OK표시가 출력되어야 하므로 힘든 컴파일을 거쳐, 시스템을 구성하는것이다.
    (위의 설치는 Fedora Core Linux 9버젼에서 설치 실험된것입니다.)