Sentora 'username_' 나오지 않게 하기



    개인적으로 사용할 목적으로 Sentora를 사용한다면 조금 번거로운 부분이 하나 있습니다. DB를 새로 생성할 때, 계정명이 앞에 붙는 것이 그것입니다. Sentora의 버전이 1.0.0에서 1.0.3으로 판올림함에 따라 데이터베이스 뿐아니라 FTP 계정명 앞에도 '계정이름'이 자동으로 붙여서 나오게 되었습니다. 이렇게 앞에 붙는 것을 접두사(Prefix)라고 합니다. 





    호스팅 패널을 사용하면 세팅과정에 있어서는 편리하지만, 데이터베이스나 각종 설정명 앞에 Prefix들이 붙어서 사용하기 번거롭게 만드는 경우들이 생겨 사용을 꺼려 하는 분들이 있습니다. 저는 DB명에는 Prefix가 붙어야 한다는 주의지만(여러 사람에게 서비스를 한다는 전제하에서) 소규모 호스팅에서는 FTP계정명의 경우에는 겹치는 일이 자주 발생하지는 않기때문에 굳이 Prefix가 붙어야 할까 라는 생각이 들었습니다. 또한 완전 개인적으로 서버를 사용하거나 일부 몇명에게만 호스팅을 제공하는 경우에는 DB 앞에 Prefix가 필요 없을 수도 있는데, 쓸 때마다 불편한 그 접두사들을 떼 보도록 하겠습니다.


    기본적으로 자동생성되는 이름을 설정하는 파일은 각 모듈의 controller.ext.php 라는 파일이 담당하고 있고, 그 파일을 일부 수정하면 불편한 부분을 해소할 수 있습니다.




    FTP User에서 "계정명"제거하기


    일단, 가장 답답한 순서대로 FTP User앞에 붙는 Prefix부터 제거를 해봅시다. 파일이 있는 절대 경로는 이렇습니다.


    /etc/sentora/panel/modules/ftp_management/code


    그 안에 controller.ext.php 파일을 수정합니다. 그리고 186번째 줄을 보면 다음과 같은 내용이 있습니다.



    여기의 구조를 살펴보면 $currentuser['username']부분이 바로 Prefix로 유저이름이 들어가게 하는 역할을 하는 부분입니다. 그리고 '_' 가 중간에 밑줄에 해당하는 부분이구요. $username은 생성시 입력했던 User명입니다.


    $currentuser['username'] . '_' . $username

    이렇게 된 구조는 실제로 이런식으로 보입니다.

    zadmin_ftp


    이 문장의 내용을 분석하면 $username으로 입력을 하면 앞에 $currentuser['username'] 과 '_' 을 붙여서 출력하라는 결과로 얻을 수 있습니다.


    그럼 원리대로 앞에 Prefix를 없앨려면 $currentuser['username'] . '_' . 이 부분만 없애면 되겠죠? 그래서 이 문장을 아래처럼 해당 부분을 삭제합니다.



    이렇게 하면 입력한 그대로의 접두사 없는 Username 을 사용할 수 있는 것이죠.





    DB Name에서 "계정명 제거하기"


    데이터베이스에서도 원리는 위와 같습니다. 


    하지만, DB 명에서는 controller.ext.php 파일에서도 여러군데 수정이 필요합니다. 그 이유와 과정을 설명할 예정인데, 그 전에 위에 FTP 유저명 바꾸듯이 controller.ext.php 파일을 수정해야 합니다. 같은 원리대로 수정을 해보겠습니다. 일단, 절대경로부터 적어보면


    /etc/sentora/panel/modules/mysql_databases/code/controller.ext.php


    위의 경로에 있는 파일의 101번재 라인을 보면 아래 처럼 되어 있습니다.



    역시나 여기서도 $currentuser['username'] . '_' .  이 부분을 제거합니다. 하지만, 이렇게 제거나고 나면 문제가 생깁니다. 화면과 함께 차근차근 설명할 예정인데 그 과정에 대해서 요약해보면 DB명은 수정하기 위해서 고쳐야 되는 부분이 총 4단계가 필요합니다.


    상황 설명


    1. 아무것도 하지 않은 상태에서 데이터베이스 이름을 1이라고 해서 생성 (실제 생성된 데이터베이스 zadmin_1)

    2. 101번째 라인 수정하고 데이터베이스 2생성

    3. 114번째 라인 수정하고 데이터베이스 3 생성

    4. module.zpm 파일 수정하고 데이터베이스 4 생성


    각 상황들에 대해서 패널에서 보여지는 화면phpMyAdmin을 통해 실제 DB가 생성된 화면을 비교해서 살펴보도록 하겠습니다.






    1. 기본설정에서 데이터베이스 생성하기 

     




    입력한 데이터베이스 이름 : 1

    패널에 표시된 데이터베이스 이름 : zadmin_1

    실제로 생성된 데이터베이스 이름 : zadmin_1



    센토라 패널의 디폴트 상태의 입력화면 입니다. 데이터베이스 이름을 입력하면 앞에 자동적으로 계정명이 접두사로 붙어서 생성됩니다. 우측 하단에 보면 phpMyAdmin 화면을 첨부하였는데 이 화면을 통해서도 실제 생성된 DB 이름이 zadmin_1인 것을 확인할 수 있습니다.





    2. controller.ext.php 파일 101번째 라인 수정


    위에서 설명했던 controller.ext.php 파일중에 101번째 라인을 수정합니다.


    /etc/sentora/panel/modules/mysql_databases/code/controller.ext.php


    여기 라인을 보면 위에 설명했던 익숙한 내용이 눈에 띕니다.



    앞서 말했던 내용와 같이 여기서도 $currentuser['username'] . '_' .  부분을 제거 합니다.



    이렇게 설정하고 실제로 데이터베이스를 생성해 보겠습니다.



    입력한 데이터베이스 이름 : 2

    패널에 표시된 데이터베이스 이름 : zadmin_2

    실제로 생성된 데이터베이스 이름 : 2


    실제로 만들어진 DB 이름은 2이지만, 패널에 표시되는 이름은 여전히 앞에 "계정명_"가 붙어있습니다. 나중에 데이터베이스를 이용할 때 실제 DB 이름인 2를 입력해서 사용한다면 문제없겠지만, 실제로 사용시에 상당한 혼란이 발생할 것 같습니다. 이 부분을 개선해야 하는데 그러기 위해서는 같은 파일을 추가로 수정해야 할 부분이 있습니다.





    3. controller.ext.php 파일 114번째 라인 수정


    114번째 라인은 데이터베이스를 생성 후 패널에 표기되는 생성된 데이터베이스의 이름의 표현법을 담당합니다.



    여기도 역시 $currentuser['username'] . "_" .  이 부분을 제거합니다.



    어떻게 생성되는지 확인하기 위해 3이라는 데이터베이스를 생성해 보도록 하겠습니다.





    입력한 데이터베이스 이름 : 3

    패널에 표시된 데이터베이스 이름 : 3

    실제로 생성된 데이터베이스 이름 : 3


    실제로 생성되는 데이터베이스 이름과 패널이 표시되는 데이터베이스 이름이 일치하게 되었습니다. 하지만, 파란 줄로 표시한 것 처럼 새로운 데이터베이스를 생성하기 위한 입력 칸을 보면 여전히 "유저명_" 이 기본적으로 붙어있는데 실제 데이터베이스 생성과는 직접적인 관련이 없는 부분이지만 데이터베이스를 생성할 때 헷갈리기 때문에 이 부분도 수정하도록 하겠습니다.





    4. module.zpm 파일 72번째 라인 수정


    *.zpm 파일은 Zpanel과 Sentora 패널에서 사용하는 html 문서 변환 파일입니다. 확장자만 다를 뿐 파일 안에 태그 형식은 html과 거의 100% 호환 되는 파일입니다. 이 파일에서 72번째 줄이 바로 새로운 데이터베이스를 생성할 때 패널에서 표시되는 내용을 담당합니다.


    일단, 이 파일의 절대경로부터 알려드리면 아래와 같습니다.


    /etc/sentora/panel/modules/mysql_databases/module.zpm


    여기에 72번째 라인을 보면 아래와 같이 되어 있습니다.


    이 중에서 <@ CurrentUserName @>_ 부분을 삭제합니다.



    이제 다시 패널로 접속해서 새로운 데이터 베이스를 생성해 보겠습니다.



    위에 화면처럼 생성하는 입력칸에서도 더이상 "유저명_"이 나타나지 않는 것을 확인할 수 있습니다.



    데이터베이스의 경우에는 혼자서 서버를 사용하는 경우에는 큰 문제는 없지만, 여러사람에게 호스팅을 서비스 하는 경우에는 별로 추천하지 않는 방법입니다. 데이터베이스가 중복되는 경우가 꽤 많기 때문에 접두사를 삭제하는 것은 여러번 고려를 해보고 변경할 것을 추천드립니다.

    이번 포스팅은 센토라가 1.0.3 이후로 불편해 하는 분들을 위해 FTP 사용자를 원래대로 되돌리는 방법을 연구하다, 데이터베이스도 접두사를 빼는 방법까지 적었습니다. 앞에 붙는 접두사가 불편한 분들에게 도움이 될 것이라고 생각합니다.^^






    저작자 표시 비영리 변경 금지
    신고
    Posted by Study For Us clamp2x
    • 휴먼
      2016.01.28 22:14 신고

      좋은 내용의 글 감사드립니다.
      Virtualmin에 많은 버그가 발생하여 실망하고, sentora를 설치해보고 있습니다.
      더 이상 헤매다니지 말고 센토라에서 안정을 찾을 수 있으면 좋겠습니다.
      감사합니다.

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.01.28 23:51 신고

        웹 서버만을 목적으로 한다면 Sentora가 상당히 괜찮습니다.
        사용해보시면 생각보다 더 쓸만할겁니다.^^

    • Vitamin
      2016.07.09 17:41 신고

      안녕하세요. 검색하다 여러번 들어와서 도움을 많이 받았습니다.

      센토라서버를 셋팅하고 ftp설정을 해서 파일질라로 접속해서 잘 사용하고 있었는데 갑자기 어제부터 ftp접속이 안되고 있습니다.

      "상태: 연결 수립, 환영 메시지를 기다림...
      상태: 보안되지 않은 서버입니다. TLS를 통한 FTP를 지원하지 않습니다.
      명령: USER zadmin_admin
      응답: 331 Please specify the password.
      명령: PASS *********
      응답: 530 Login incorrect.
      오류: 치명적 오류: 서버에 연결하지 못함"
      이렇게 메세지가 나오는데 검색을 해도 시원한 답을 못찾아서 이렇게 메세지드립니다.

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.07.10 10:05 신고

        FTP 계정 정보가 바뀐거 같은데 확인해보셨나요?
        아마 당연히 해보셨겠죠? ^^;;

      • Vitamin
        2016.07.11 16:54 신고

        네 ftp계정을 지웠다가 다시 만들기도 해보고 비번도 변경해보고 했는데 계속 안되고 메세지가 저렇게 나오고 있네요;;

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.07.11 17:06 신고

        아예 새 호스팅 계정을 만들고 거기서 ftp 사용자를 만들어보세요.
        그리고 Advanced > Service status 메뉴에서 ftp가 정상적으로 서비스 되고 있는지 확인하세요. ^^

    • BlogIcon 그룹엠
      2016.09.06 18:58 신고

      음.. 시도해버려는데 phpmyadmin 접속 버튼을 눌렀을대 무한 로딩이 뜨네요 ㅠㅠ 해결방법이 있을까요?

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.09.06 18:59 신고

        무한 로딩도 여러 원인이 있을텐데 어떤 과정을 시도 했는지 알려주세요. ^^

티스토리 툴바