APM(Apache, PHP, Mysql)  설치 - 2012/06

//=============================================================================
//
APM 설치
apache : 1.3.37        /usr/local/apache/bin/httpd -v
php : 4.4.7            phpinfo();        (??path?)/php --version
mysql : 4.0.22        select version();


* 설정은 3가지
EUC-KR (PHP4, MySQL4.x) : 현재 설정
EUC-KR (PHP5, MySQL5.x) :
UTF-8 (PHP5, MySQL5.x) : 가장 바람직


//=============================================================================
* apache 1.3.41 설치
- 이미 설치된것 복사해도 됨
- conf/httpd.conf 에서 경로 수정

- 서비스로 설치
http://httpd.apache.org/docs/2.0/platform/windows.html
apache -k uninstall
apache -k install -n "Apache 1.3.41"

apache -k start
apache -k stop

< 가상호스트 설정 >

- hosts파일에 추가
    192.168.0.253    yacht.qwe.com

- httpd.conf 수정
    - 모듈 가능하도록 주석 제거
LoadModule userdir_module modules/mod_userdir.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so

    - 설정 확인
#Listen 192.168.0.253:80 <-요렇게 되있으면 안됨
Listen 80

    - 설정 추가
#VirtualHost Setting
NameVirtualHost 192.168.0.253

<Directory "D:\_WEB\yacht\www">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost yacht.qwe.com>
ServerAdmin yacht@yacht.qwe.com
ServerName yacht.qwe.com
DocumentRoot "D:\_WEB\yacht\www"
UserDir "D:\_WEB\yacht"
#CustomLog logs/apache.yacht.com-access_log common
#ErrorLog logs/apache.yacht.com_error_log
</VirtualHost>


//=============================================================================
* php 4 설치
php-4.4.9-Win32.zip
압축풀어서 C:\PHP4에서 복사

- DLL 복사
    - dlls, extensions, sapi 폴더의 파일을 php4폴더로 복사(하위를 상위로 다 복사)

- php.ini 수정
> copy php.ini-recommended  php.ini
doc_root = d:\_WEB
extension_dir = "c:\php4" //extension 이 제대로 작동

- httpd.conf
LoadModule php4_module "C:/php4/php4apache.dll"
AddModule mod_php4.c

// php5라면
#LoadModule php5_module "C:/php5/php5apache.dll"
#AddModule mod_php5.c

# Document types.
AddType application/x-httpd-php .php

# For syntax highlighted .phps files, also add
AddType application/x-httpd-php-source .phps

   Example 2-4. PHP and Apache 1.3.x as CGI
ScriptAlias /php/ "c:/php4/"
AddType application/x-httpd-php .php

# For PHP 4
Action application/x-httpd-php "/php/php.exe"

# For PHP 5
#Action application/x-httpd-php "/php/php-cgi.exe"

# specify the directory where php.ini is
SetEnv PHPRC C:/php4


//=============================================================================
* mysql 4 설치

mysql-essential-4.1.22-win32.msi
설정에서 euckr 선택
    - 기본 문자셋인 latin1나 utf8로 설정 바꾸는 방법
        my.ini 수정 mysql 4의 경우 2군데
        [mysql]
        default-character-set=euckr

        [mysqld]
        default-character-set=euckr

        - 안되면 재설치 ㅋㅋ


mysql5의 경우
http://www.javamaster.org/lecture/mysql/mysql_install.html
    [mysql] 
    default-character-set = euckr 
     
    [mysqld] 
    character-set-client-handshake=FALSE 
    init_connect="SET collation_connection = euckr_korean_ci" 
    init_connect="SET NAMES euckr" 
    default-character-set = euckr 
    character-set-server = euckr 
     
    collation-server = euckr_korean_ci 
     
    [client]  
    default-character-set = euckr 
     
    [mysqldump]  
    default-character-set = euckr 

        * euckr로 백업 받기
            mysqldump gudeul -u user -p --default-character-set=euckr  > user-3.sql
                - navicat 이나 mysqladmin은 문자열이 깨짐


- latin1으로 설정된 서버에서 백업
mysqldump gudeul -u user -p --default-character-set=latin1  > user-3.sql

    - 에디터에서 깨지지 않고 볼수 있음 (하지만 사용하려면 수정필요)

    - sql 파일 수정 !!!!
        - latin1 을 찾아서 모두 euckr 로 변경 !!!!
(euckr 설정인 서버로 이전하는 경우)


        * DB 복원
            mysql gudeul -u user -p --default-character-set=euckr  < user-2.sql


* php 접속 에러
   
UPDATE mysql.user SET Password = OLD_PASSWORD('oldpass') WHERE  User = 'user';
FLUSH PRIVILEGES;

이전 *443209D0811547EC795D99BA340A089227B9E876

 - 에러
1130 host localhost is not allowed to connect to this mysql server

- mysql  보안없이 접속하기
        - my.ini 파일 수정
[mysqld]
skip-grant-tables=1

    - mysql -u root 로 바로 접속 가능

UPDATE user SET Password = password('pass') where  User = 'root';


//=============================================================================
* 마냐님 보드
http://www.cikorea.net/source/view/401/page/1/
Codeigniter 1.7.3 기반 공개보드 http://www.tested.co.kr/board/Develop/view/wr_id/2

- 설치
    - structure.sql 수정
CREATE TABLE `ki_write` (
...
  PRIMARY KEY (`wr_id`),
   
    - 폴더 권한 변경
    chmod -R 707 data

    - 기본 설정수정
(필) database.php - DB 설정

config.php
  - (필) $config['base_url'] : 도메인 설정
  - (필) $config['encryption_key'] : 암호키 설정
  - 하단의 사용자 정의 설정

constants.php
  - (필) define('ADMIN', '') : 최고관리자 아이디 기입
  - (필) define('ADM_F', 'adm') : 관리자폴더 설정

    - 관리자 비밀번호 변경
/www/application/controllers/make.php

        - 추가 변경 코드
    function update_pwd() {
        //$sql = array('mb_password' => $this->encrypt->encode($this->input->post('new_password')));
        $this->db->where('mb_id', 'admin');//$this->input->post('mb_id'));
        $this->db->update('ki_member', array(
            //'mb_id'               => 'admin',
            'mb_password'       => $this->encrypt->encode(md5('pass'))
        ));
    }

    - 관리자 페이지
    /adm
       
        - search_helper.php 에러
Parse error www\application\helpers\search_helper.php on line 15
            - php5의 문법인 private , public 없앤다.
            - 다음을 추가
    function search_seg() {
        if (method_exists($this, '__destruct')) {
            register_shutdown_function (array(&$this, '__destruct'));
        }
            $argcv = func_get_args();
            call_user_func_array(array(&$this, '__construct'), $argcv);
    }
   

    - 회원관리
    member/join - 가입
    member/confirm/qry/member.modify - 수정

    - 게시판 관리


Fatal error: Call to undefined function: stripos() in d:\_web\cdig\www\application\helpers\board_helper.php on line 60
        - 코드 추가
if(!function_exists("stripos"))
{
    function stripos($srch,$str)
    {
        return strpos(strtolower($srch),strtolower($str));
    }
}

* 현재 문제
    - 마냐 원본에서 추가한 파일 보이지 않음
    - zip 이외에 hwp확장명은 추가 안됨





//=============================================================================
* CodeIgnatoer
    CI_VERSION 문자열을 찾아 본다.
        CodeIgnatoer\CodeIgnatoer.php
    - 현재 사용 1.7.2 (2009.11.11) , php 4.3.2 이상을 지원
    - 현재 최신 2.1.0 (2011.11.4) , php 5.1.6 이상을 지원

- php 4에서는
UPDATE mysql.user SET Password = OLD_PASSWORD('pass') where  User = 'cdig';


http://www.cikorea.net/
application/config/config.php 파일을 열어 기반url(base URL)을 세팅한다. 암호화나 세션을 사용하려면 암호키(encryption key)를 설정한다.
데이터베이스를 사용한다면 application/config/database.php 파일을 열어서 데이터베이스 정보를 세팅한다.

- 주소줄 간소화 (index.php 없애기)

    - apache 설정 확인
LoadModule rewrite_module modules/mod_rewrite.so

AddModule mod_rewrite.c

AccessFileName    ht.acs .htaccess
#AccessFileName    .htaccess

버츄얼 호스트 설정
AllowOverride All

    - ht.acs
    RewriteEngine on
    #RewriteCond $1 !^(index\.php|images|robots\.txt)
    #RewriteRule ^(.*)$ /index.php/$1 [L]
    RewriteBase /
 RewriteCond $1 !^(index\.php|_phpMyAdmin|resource|images|captcha|data|include|uploads|robots\.txt)
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} !^/img/
RewriteCond %{REQUEST_URI} !^/css/
RewriteCond %{REQUEST_URI} !^/js/
RewriteCond %{REQUEST_URI} !^/data/
RewriteCond %{REQUEST_URI} !^/editor/


//=============================================================================


Posted by 코덴스

댓글을 달아 주세요