그누보드5 초기환경설정 질문

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
그누보드5 초기환경설정 질문

QA

그누보드5 초기환경설정 질문

본문

837573285_1693447007.6998.png

837573285_1693447065.1376.png

사수없이 일하고 있는 국비 출신 신입 개발자입니다..

기존 관리하던 사이트는 운영서버 개발서버 분리가 되어있었는데

이번에 새로 작업이 끝난 것을 유지보수 하게 되어

운영중인 사이트를 함부로 건들긴 좀 그래서 개발서버를 새로 만드려고 하는데

기존 HTTPD.CONF에 test.site.kr main.site.kr 이런식으로 만들어가지고 쓰시고 계시길래

저도 sss.site.kr 라는거 새로 만들구  httpd.conf에 작성해서 넣어두고 

지정해둔 폴더에 그누보드 압축풀어서 넣고 data 만들고 하라는대로 따라해서

어떻게  초기환경설정 2/3까지 도달했는데

 

저 입력란에서 문제 생길만한 요소가 뭔지 감이 안옵니다...

 

host localhost 기존 다른 사이트도 다 저렇게 되어있고 파일설치 폴더명으로 아이디랑 db명 하고

 

최고관리자 정보도 아이디 admin이 기본이고 비번도 그냥 1234 로 되있는 곳 많아서 저렇게 했구

 

그누보드 자체가 문제인건지...

 아니면 호스팅이나 서버관련해서 또 뭔가 해야되는 것이 있는 지 궁금합니다 ㅠㅠ

 

 

이 질문에 댓글 쓰기 :

답변 4

mysql DB, User 가 없는 상태일 가능성이 큽니다.

 

1. 해당 사이트에서 사용할 mysql DB 를 생성합니다.

create database abc

 

2. 해당 사이트에서 사용할 mysql 계정(User)를 생성합니다. 생성한 DB 에 대한 권한도 부여해야 합니다.

create user 'abc'@'%' identified by '비밀번호';

grant all privileges on abc.* to 'abc'@'localhost';

flush privileges;

 

※ https://nickjoit.tistory.com/144

 

그누보드 설치시 해당 DB, User, Password 정보를 입력하면 됩니다.

마르스컴퍼니님 ... 한달전쯤엔가도 답변 주셨던 걸로 해결 했었는데...
이번에도 마르스컴퍼니님이 말씀해주신대로 하니까 잘 되었습니다..
정말 감사드립니다..

그냥 phpmyadmin에 폴더하나 만들고 그누보드 설치시 작성하면
유저 생성되는 그런 원리인 줄 알았는데..
따로 유저를 리눅스에서 생성해야 되었던 거였군요 ..
감사합니다...

리눅스에도 유저(계정)가 있고,
DB 에도 유저(계정)가 있습니다.

mysql 데이터베이스에
'db1' 이라는 DB 와 'db2'라는 DB 를 만들수 있습니다.

mysql 데이터베이스에
'abc1' 이라는 유저와 'abc2'라는 유저를 만들 수 있습니다.

'abc1' 유저에서 'db1' 과 'db2' 모두 접근/조작 권한을 줄 수도 있고,
'db1'만 접근/조작 권한을 줄 수도 있습니다.

제 글은 mysql  데이터베이스 유저(계정) 에 관한 글입니다.

리눅스 유저는 이와는 별개입니다.
서버호스팅의 경우 리눅스 유저는.. 유저별 홈디렉트리가 있고..
apache 에서 DocumentRoot 지정시 지정하는 디렉토리는..
리눅스 유저의 홈디렉토리와 관계가 있습니다.

$mysql_host  = isset($_POST['mysql_host']) ? safe_install_string_check($_POST['mysql_host'], 'json') : '';
$mysql_user  = isset($_POST['mysql_user']) ? safe_install_string_check($_POST['mysql_user'], 'json') : '';
$mysql_pass  = isset($_POST['mysql_pass']) ? safe_install_string_check($_POST['mysql_pass'], 'json') : '';
$mysql_db    = isset($_POST['mysql_db']) ? safe_install_string_check($_POST['mysql_db'], 'json') : '';
$table_prefix= isset($_POST['table_prefix']) ? safe_install_string_check(preg_replace('/[^a-zA-Z0-9_]/', '_', $_POST['table_prefix'])) : '';

$tmp_str = isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : '';
$ajax_token = md5($tmp_str.$_SERVER['REMOTE_ADDR'].dirname(dirname(__FILE__).'/'));

$bool_ajax_token = (isset($_POST['ajax_token']) && ($ajax_token == $_POST['ajax_token'])) ? true : false;

if (!($mysql_host && $mysql_user && $mysql_pass && $mysql_db && $table_prefix && $bool_ajax_token)) {
    die(install_json_msg('잘못된 요청입니다.'));
}
===

    function safe_install_string_check( $str, $is_json=false ) {
        $is_check = false;

        if(preg_match('#\);(passthru|eval|pcntl_exec|exec|system|popen|fopen|fsockopen|file|file_get_contents|readfile|unlink|include|include_once|require|require_once)\s?#i', $str)) {
            $is_check = true;
        }

        if(preg_match('#\$_(get|post|request)\s?\[.*?\]\s?\)#i', $str)){
            $is_check = true;
        }

        if($is_check){
            $msg = "입력한 값에 안전하지 않는 문자가 포함되어 있습니다. 설치를 중단합니다.";

            if($is_json){
                die(install_json_msg($msg));
            }

            die($msg);
        }

        return array_map_deep('stripslashes', $str);
    }

 

짚이시는 데가 있을까요?

엑스엠엘님 답변 감사합니다 !

해당되는 부분 건들인 적이 없어서 잘 모르겠습니다...

밑에 swallow님 답변보고 일단은 db정보 없이도 해보고 그냥 if문 자체를 삭제해서 다음눌러봤는데
"MySQL Host, User, Password, DB 정보에 오류가 있습니다. " 라는 alert창이 나오더라구요..
제가 db 관련해서 뭔가 빼먹은 게 있는 거 같습니다 ..

passthru|eval|pcntl_exec|exec|system|popen|fopen|fsockopen|file|file_get_contents|readfile|unlink|include|include_once|require|require_once
이런 단어가
mysql 계정에 포함 되어 있으면 나올 수 있는 증상입니다.

디비비번이 틀리거나 아에 없을 수 있습니다. 이경우 엑스엠엘 님이 말씀하신 코드파일에서

if (!($mysql_host && $mysql_user && $mysql_pass && $mysql_db && $table_prefix && $bool_ajax_token))  이것을

if (!($mysql_host && $mysql_user && $mysql_db && $table_prefix && $bool_ajax_token)) 

이렇게 하면 비번확인하지 않고 패스합니다.

 

swallow님 귀중한 시간에 ... 답변 감사합니다 !

일단 if문 말씀하신거 처럼 작성은 했는데
이번엔 "MySQL Host, User, Password, DB 정보에 오류가 있습니다. " 라는 오류가 뜨더라구요

보니까 common.lib.php 이 부분

// DB 연결
function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB)
{
    global $g5;

    if(function_exists('mysqli_connect') && G5_MYSQLI_USE) {
        mysqli_report(MYSQLI_REPORT_OFF);
        $link = @mysqli_connect($host, $user, $pass, $db) or die('MySQL Host, User, Password, DB 정보에 오류가 있습니다.');

        // 연결 오류 발생 시 스크립트 종료
        if (mysqli_connect_errno()) {
            die('Connect Error: '.mysqli_connect_error());
        }
    } else {
        $link = mysql_connect($host, $user, $pass);
    }

    return $link;
}

db 에 뭔가 문제가 있는거 같습니다..

진짜 입력칸도 몇개 안되는데 ㅠㅠ

db는 phpmyadmin에서 user명,사이트명이랑 동일한 폴더
생성했는데 이거말고 또 다른 절차가 필요할까요??

data dbconfig 파일에 db정보 제대로들어가있는지

들어간 정보로 db접속 잘되는지 확인하고

정보안되있음 설치할때 install 쪽에서 오류찾아야되고

정보제대로있으면 아예 서버 권한주는거부터해서 다시하는게 나을듯

cuwaaang님 답변 감사합니다..
phpmyadmin에서 폴더 하나 만들어둔게 다라서
서버 권한이라던가 서버 비번이라던가 그런건 발상에서 없었던 거 같습니다.
해당 부분 확인해볼게요 감사합니다 !

답변을 작성하시기 전에 로그인 해주세요.
전체 10
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT