HowTo : MySQL 데이터베이스를 사용하는 FTP 서비스

MySQL을 둘러싼 불확실성에도 불구하고 개인적으로 다른 DB를 사용하는 것보다이 DB로 작업하는 것을 선호합니다. 나는 Postgre에 반대하는 것이 없으며, 평생 MySQL을 사용했으며 지금까지 그 사용을 다시 생각할 이유가 없었습니다.

이번에는 FTP 서버를 설치하는 방법을 알려 드리지만, 그뿐만 아니라 사용자, 비밀번호 및 기타 사용자 데이터를 계정이 아닌 MySQL 데이터베이스에 저장하는 방법을 그렇게 복잡하지 않은 방법으로 알려 드리겠습니다. 현지.

왜 이렇게하나요?

백업을 만들거나 서버를 다시 설치하거나 기타 중요한 변경을 할 때 서비스를 이동하는 것은 구성 파일을 복사하고 MySQL 데이터베이스를 FTP로 내보내는 것만 큼 간단하기 때문입니다.

이를 달성하기 위해 우리는 순수 FTPd, 음 ... 시작합시다 🙂

Pure-FTPd로 FTP 서비스 설치

1. 가장 먼저 할 일은 패키지를 설치하는 것입니다. 순수 ftpd-mysql

같은 배포판에서 데비안 또는 파생 상품 : aptitude는 pure-ftpd-mysql을 설치합니다.

2. 일단 설치되면 서비스를 시작했지만 중지해야합니다. Debian 또는 파생물과 같은 시스템에서 중지하려면 다음으로 충분합니다.

/etc/init.d/pure-ftpd-mysql stop

그러나 사용하는 배포판에 관계없이 서비스를 중지 할 줄을 남겨 둡니다.

ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill

이 줄을 자세히 이해하려면 이 기사

MySQL 서버에서 조건 준비

얼마 전에 데이터베이스, 사용자를 만들고 해당 사용자에게 데이터베이스에서 권한을 부여하는 방법을 이미 설명했습니다. MySQL의 사용자 및 권한

여기서 우리는 무엇을할까요? ...

1. 예, 데이터베이스를 생성하지만 먼저 MySQL에 액세스합니다.

mysql -u root -p

여기에 루트 암호를 입력하고 MySQL 터미널에 액세스합니다.

2. MySQL에 들어가면 계속해서 데이터베이스를 생성합니다. myftpdb:

CREATE DATABASE myftpdb;

세미콜론«;»라인 끝.

3. 이제 우리는 사용자를 만들 것입니다 myftpuser 방금 만든 데이터베이스에서 사용자를 사용할 수있는 권한을 부여합니다.이 사용자는 암호로 myftppassword :

CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;

4. 준비, 우리는 데이터베이스, 사용자를 만들고 권한을 설정했습니다. 이제이 작업을 완료하려면 기본 (또는 정리) 데이터베이스를 가져와야합니다. 이를 위해 먼저 MySQL을 종료합니다.

exit;

이제 내가 제공하는 기본 데이터베이스를 다운로드 해 보겠습니다.

기본적으로 DB 다운로드

또는 서버에서 다음 행을 사용하십시오.

wget http://ftp.desdelinux.net/myftpdb.sql

준비, 우리는 이미 서버에 있습니다. 이제 데이터를 가져 오는 것만 남아 있습니다.

mysql -u root -p myftpdb < myftpdb.sql

그리고 준비!

또한 다음과 같은 웹 애플리케이션을 사용할 수도 있습니다. 관리자 o phpMyAdmin을 데이터베이스를 가져 오려면 맛을 봅니다.

5. 그리고 이것은 MySQL의 조건을 준비하는 것입니다.

MySQL과 FTP 연결

글쎄, 우리는 이미 FTP 서비스를 설치했고, MySQL 서비스를 설치했고, 데이터베이스 세트와 함께 ... 이제 필요합니다. MySQL과 FTP 서비스 가입.

1. 먼저 앞서 언급 한 구성 파일을 다운로드해야합니다. 서버 터미널에 다음 줄을 넣으십시오.

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf

2. 이제 MySQL 사용자를 인증하는 데 사용할 FTP 서비스를 시작하고 MySQL에 연결하는 데 사용할 구성 파일도 표시합니다.

pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf

그리고 짜잔 😀

이것은 MySQL 데이터베이스로 인증하는 자체 FTP 서버를 설치하기에 충분합니다.

서버가 자동으로 시작될 때마다 FTP 서비스를 시작하려면 파일에 넣어야합니다. /etc/rc.local FTP를 실행하는 데 사용하는 줄, 즉 /etc/rc.local 이:

pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf

그건 그렇고, Filezilla와 같은 FTP 클라이언트뿐만 아니라 모든 브라우저를 사용하여 FTP에 액세스 할 수 있습니다.뿐만 아니라 Nautilus, Dolphin 또는 PCManFM과 같은 파일 브라우저를 사용하여 파일을 다운로드하고 업로드 할 수도 있습니다 😀

데이터베이스에있는 테스트 사용자

사용자 이름 : testuser를

암호: 테스트 비밀번호

FTP 사용자를 관리하는 방법은 무엇입니까?

글쎄, 위에서 말했듯이 MySQL 데이터베이스라는 점을 고려하면 PHPMyAdmin 또는 Adminer를 사용하면 충분합니다. 좋아하는 응용 프로그램을 사용하여 하나의 테이블 만 포함하는 데이터베이스를 관리하십시오. 사용자 ... 그 안에는 사용자가 있습니다. 다음은 스크린 샷입니다.

새 사용자를 생성하려는 경우 기존 라인을 복제하거나 복제하고 두 사용자간에 다를 수있는 데이터를 변경할 수 있습니다. 여기에 스크린 샷이 표시됩니다.

글쎄 ... 추가 할 것이 더 없습니다 🙂

이 정보가 도움이 되었기를 바랍니다. 질문이나 제안 사항이 있으면 알려주세요.

안부

PD : 이 튜토리얼에서는 데이터베이스에 일반 텍스트로 저장된 비밀번호를 사용합니다. 더 많은 보안을 원하면 md5 😉


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   LiGNUxer

    아주 좋아 !!! 몇 주 전에 나는 이것을 설치하고 있었지만 vsftpd로 확신하지 못하기 때문에 이것이 어떻게되는지 확인하기 위해 이것을 시도 할 것입니다. 감사합니다

    1.    KZKG ^ 가아라

      당신에게 친구를 주셔서 감사합니다.
      vsftpd 언제 마지막으로 사용했는지 기억이 나지 않습니다… 이제 몇 년이 될 것입니다… HAHA를 사용한 적이 있다면. PureFTPd와 함께하는 순간 저는 행복합니다 😀

  2.   적절한

    아주 잘 기여!

    1.    KZKG ^ 가아라

      감사합니다 😀
      당신은 할 수있는 일을합니다.

  3.   컴퓨터 보호자

    Uuumm, 흥미 롭습니다 ... 사용자와 암호 모음을 손에 들고 싶은 DB의 IP를 전달하십시오 😉

    사악하지 마

    1.    KZKG ^ 가아라

      헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 헤헤 무어 딮 IPDB 대마 무대 어믄 IP
      제가 튜토리얼에 넣은이 데이터가 서버에있을 수도 있다는 뜻이라면 맞습니다 ... 그들은 제 노트북의 가상 PC에있는 FTP 서비스에 있으며 매우 우수한 방화벽 (iptables)이 있습니다. … HAHAHAHAHA 물론 ​​그들은 악한 LOL이 아닙니다!

  4.   컴퓨터 보호자

    Joroña 무슨 joroña…. 일부 취약점을 이용하고 해당 데이터를 캡처하는 것보다 더 복잡합니다 😉

  5.   알가베

    매우 흥미로운!! 🙂

    1.    KZKG ^ 가아라

      고마워.
      이것이 제가 다른 사이트들과 차별화하기 위해 노력하는 것입니다 ... 우리는 뉴스가 아니라 기술 기사로 많이 올리려고 노력합니다 😀

  6.   Giskard

    Samba에 비해 얼마나 빠릅니까? (로컬 네트워크 만 해당)

    1.    LiGNUxer

      samba와 ftp는 서로 다른 것입니다. ftp는 심각한 프로토콜이고 smb는 win과 linux 간의 공유를 용이하게합니다.
      네트워크에서 성능을 찾고 있다면 FTP 서비스를 사용하고, 그렇지 않으면 문제없이 삼바를 사용하십시오.

      1.    KZKG ^ 가아라

        정확한.
        FTP가 Samba보다 조금 더 심각하다고합시다. 적어도 제 생각에는 그렇습니다.

        벤치 마크를 전혀 수행하지 않았지만 FTP가 조금 더 빠를 수 있습니다.

        1.    Giskard

          감사합니다. Samba를 사용하여 Wii 콘솔 (wiimc 사용)에서 컴퓨터로 다운로드 한 영화와 시리즈를 볼 수 있습니다. 그러나 wiimc는 ftp 서버에도 연결할 수 있습니다. 나는 Samba가 가장 쉬웠 기 때문에 사용했지만 ftp로 더 빠를 수 있다면 항상 흥미를 느꼈습니다. 나는 시도해야 할 것이다.

          1.    KZKG ^ 가아라

            글쎄, 당신은 또한 단순히 당신의 PC에 아파치를 마운트 할 수 있고, 그래서 Wii가 연결될 것입니다. 이것은 삼바보다 빠를 것입니다 ... 그리고 FTP보다 훨씬 더 간단하게 구성 할 수 있습니다 😀

          2.    Giskard

            wiimc (Wii 미디어 플레이어)는 Samba 및 FTP 연결 만 허용합니다.

  7.   맥스 스틸

    우수한. 모든 것을 완벽하게 만들려면 이러한 유형의 기사 (및 일반적으로 사이트)에 무언가가 필요합니다. 기사를 PDF 또는 종이에 인쇄 할 수있는 CSS 템플릿.

  8.   LiGNUxer

    내 자신의 것인지는 모르겠지만, 가장 큰 문제는 사용자가 ftp로 연결하면 "/ var / www / user_site"와 같은 특정 디렉토리를 제공하더라도 모든 디렉토리를 통과 할 수 있다는 것입니다. 내 PC에서 ¬¬
    별로 안전하지 않아 하하

  9.   LiGNUxer

    여기있어!!!
    생성 한 사용자가 전체 시스템을 탐색 할 수 없도록하려면 pure ...를 시작할 때 매개 변수 "-A"를 추가해야합니다.

    그래서 우리가 튜토리얼에 넣은 /etc/rc.local에 추가 한 것은
    pure-ftpd-mysql -l mysql : /etc/pure-ftpd/pure-ftpd-mysql.conf

    그리고 이것을 다른 것으로 바꿔야합니다 :
    pure-ftpd-mysql -A -l mysql : /etc/pure-ftpd/pure-ftpd-mysql.conf

    감사합니까? ...이 새 줄에는 -A 매개 변수가있어 우리가 할당 한 디렉토리 만 제한하고 다른 것은 생성 할 수 없지만 레벨을 올릴 수는 없습니다.

    D :이 귀여운 순수 fptd

    1.    KZKG ^ 가아라

      팁 주셔서 감사합니다 😀

  10.   로베르토

    안녕하세요,이 MySQL 및 FTP 구현에서 할당량을 구현할 수 있습니까? 현재 vsftpd가있는 ftp 서버가 있고 할당량에 문제가 없지만 가상 사용자 (mysql에서 생성됨)이면 할당량이 유효합니까? 두 번째는 사용자가 업로드 한 파일이 저장되는 곳, 즉 각 사용자의 디렉토리입니다.

    1.    KZKG ^ 가아라

      이론적으로는 할당량을 구현할 수 있습니다. 사실 데이터베이스에는 생성 된 필드가 있고 FTP 서비스의 구성 파일에는 이에 대한 쿼리가 설정되어 있습니다. 실제로 이것을 테스트하지 않았습니다.

      사용자가 파일을 저장할 위치에 대해서는 5 번째 필드에서 정의하고 스크린 샷을 참조하십시오. https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg

  11.   로베르토

    의견을 보내 주셔서 대단히 감사합니다.이 시스템을 테스트 서버에서 테스트하고 결과에 대해 의견을 제시 할 것입니다. 모든 것을 순서대로 정리하는 좋은 방법이고 RAID를 사용하면 안정적인 백업 시스템을 사용할 수 있기 때문에 가능합니다. D.

    1.    KZKG ^ 가아라

      댓글 주셔서 감사합니다 🙂

  12.   로베르토

    질문이 있습니다. 이미 mysql 및 할당량으로 pure-ftp를 설치했습니다. 이제 문제는 사용자 비밀번호 나 업로드 된 파일을 수정하지 않고 mysql 테이블 자체에서 계정을 일시 중지 할 수있는 방법입니다.

    1.    KZKG ^ 가아라

      두 가지 방법을 생각할 수 있습니다. 가장 간단한 방법은 Status 1에서 0까지, 이론적으로 0이면 계정이 비활성화되어 있습니다. 이것을 시도하고 알려주세요 🙂

  13.   버코프

    로베르토,이 시설을 사용하여 비용을 어떻게 설정 했습니까? 정보를 공유 해주세요.
    아주 좋은 입장 !!

    1.    로베르토 소텔로

      Birkhoff, 내 개인 블로그에서 그것에 대한 주제를 만들었습니다. 검토 할 수 있도록 링크를 남깁니다.

      http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/

  14.   클라우스

    인사말 :

    나는 모든 것을 따르려고 노력하고 있지만 오류 501이 발생하고 무엇보다도 암호가 괜찮다는 것을 알 때 암호가 잘못되었다는 사실을 참조합니다.