Ubuntu에서 개발 환경 설정

Ubuntu에서 개발 환경 설정

저는 오랫동안 Windows를 사용해 왔습니다. 저는 최근에 JavaScript/PHP/mySql을 배웠고 Ubuntu Server가 제 선택이 될 것이라고 생각했습니다. 그러나 저는 여전히 Windows XP/7에서 작업할 예정입니다. 이건 내 생각이야

  • 개발 머신(XP/7): 여기에서 모든 프로그래밍을 수행합니다. IDE는 Spket(JavaScript) 및 Aptana(PHP)입니다. 그리고 PhotoShop, Office와 같은 기타 소프트웨어...
  • 서버(Ubuntu Lucid): 이곳은 데이터를 저장하고 HTTP, 이메일, FTP 서버를 실행하는 곳입니다. VPS가 될 것입니다.

간단히 말해서 Windows를 클라이언트(IDE, 클라이언트 이메일 소프트웨어, FTP...)로 사용하고 Ubuntu를 서버로 사용하여 데이터(Mercurial, Apache, mySql...)를 관리하겠습니다.

나는 이것에 익숙하지 않고 이미 이 작업을 수행하고 이 클라이언트/서버 조합을 사용한 사람이 있는지 궁금합니다. 이 접근 방식의 가능한 단점은 무엇입니까? FTP를 통해 작업하려면 VPS를 사용하는 것이 좋은 생각입니까?

저는 독립 개발자이고 지난 며칠 동안 클라우드를 사용하는 가장 좋은 방법에 대해 생각해 왔습니다. 저는 웹 개발을 하고 있습니다. 관련성이 있고 도움이 되는 내용을 회신해 주세요. 많은 개발자가 자신의 작업 환경에 대해 긴 기사를 작성해 주시면 감사하겠습니다. 특별히 생각한 건 없고, 그냥 더 잘하고 싶었어요.

감사합니다!

답변1

물론 많은 사람들이 Ubuntu Server와 Windows 클라이언트를 사용해 왔습니다. 이것우분투 서버 가이드당신이 하고 싶은 거의 모든 것이 다뤄집니다.

제안된 설정에 대한 의견은 다음과 같습니다.

  • FTP를 버리세요.대신 SSH를 사용하세요. 개인적으로는 키 기반 인증을 설정하고 비밀번호 인증을 비활성화해야 한다는 점도 덧붙이고 싶습니다. 바라보다이 페이지도움을 받으세요.

  • 어떤 형태도 보이지 않는다지원언급된 솔루션. 정기적으로 백업하십시오.

  • 힘내를 고려하십시오. Mercurial 대신 Git을 사용하는 것을 고려하고 싶지만 이는 개인 취향입니다.

  • 특히 네트워킹과 관련하여 처음부터 보안에 대해 생각하십시오. (1)을 다시 참조하세요. 보안 전문가가 될 필요는 없지만 최소한 다음 사항을 고려해야 합니다.

    1. 방화벽을 사용하세요. Ubuntu Server의 경우 이는 사용하기 쉽고 ufw가이드에서 설명합니다.
    2. 필요하지 않은 서비스를 실행하지 마십시오. 특히, 나는 phpmyadmin과 같은 것을 멀리할 것입니다.
    3. 다른 사람에게 원치 않는 액세스나 권한을 제공하지 마십시오.
    4. 감사 및 로깅을 고려하세요.

제가 너무 강조하고 싶지 않은 좀 더 일반적인 의견은 개발 프로세스를 Linux로 옮기는 것을 고려할 수도 있다는 것입니다. 내 경험에 따르면 Linux에서 사용할 수 있는 도구를 사용하면 원격 서버 작업이 훨씬 더 원활해집니다.

답변2

웹 개발자가 Windows에서 개발할 필요는 없다고 생각합니다. 테스트를 위해서는 여전히 Windows 플랫폼이 필요합니다. 그런데 도구 목록에 포함하지 않았습니다. 다양한 플랫폼에 대한 일종의 자동화된 테스트 환경이 있어야 하지만 이 모든 작업은 가상 머신에서 수행될 수 있습니다.

나는 Spket과 같은 IDE를 사용하지 않을 것이지만 기본적이고 (일반적으로 말하면) 고도로 프로그래밍 가능한 편집기인 emacs, vi 또는 eclipse를 배울 것입니다.

또한 모든 코드에 대해 클라이언트 측에서 Mercurial을 사용합니다.

답변3

보고 있다삼바그리고여기- 이는 귀하의 많은 요구 사항을 충족해야 합니다. Apache(Ubuntu의 표준)는 웹 서버 요구 사항을 충족합니다. 만약 너라면~ 해야 하다FTP를 사용하는 것이 좋습니다SFTP

백업에 관해서 - 살펴보세요이것

답변4

내가 찾은시그윈, Linux 서버와 통신하는 데 유용합니다. rsync, ssh, scp 및 이러한 모든 도구를 사용하여 파일을 앞뒤로 복사할 수 있습니다. 게다가 Unix 도구에 빠르게 익숙해질 것이므로 업무용 컴퓨터에서도 해당 도구를 사용하고 싶을 것입니다.

어떤 사람들은 사용하는 것을 선호합니다.퍼티, 그러나 cygwin+mintty+openssh가 ssh-agent와 같은 기본 Linux 도구와 동일한 개념을 갖고 있기 때문에 더 나은 선택이라는 것을 알았습니다.

마지막으로, 일부 사람들은 제 의견에 동의하지 않을 수 있습니다. Cygwin과 Linux 간에 파일을 복사하는 경우에는 다음을 제안합니다.편집하여 ACL 비활성화/etc/fstab.

관련 정보