그누보드5 초기환경설정 질문
본문
사수없이 일하고 있는 국비 출신 신입 개발자입니다..
기존 관리하던 사이트는 운영서버 개발서버 분리가 되어있었는데
이번에 새로 작업이 끝난 것을 유지보수 하게 되어
운영중인 사이트를 함부로 건들긴 좀 그래서 개발서버를 새로 만드려고 하는데
기존 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 정보를 입력하면 됩니다.
$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);
}
짚이시는 데가 있을까요?
디비비번이 틀리거나 아에 없을 수 있습니다. 이경우 엑스엠엘 님이 말씀하신 코드파일에서
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))
이렇게 하면 비번확인하지 않고 패스합니다.
data dbconfig 파일에 db정보 제대로들어가있는지
들어간 정보로 db접속 잘되는지 확인하고
정보안되있음 설치할때 install 쪽에서 오류찾아야되고
정보제대로있으면 아예 서버 권한주는거부터해서 다시하는게 나을듯