Ubuntuで開発環境を設定する

Ubuntuで開発環境を設定する

私は長い間Windowsを使用してきました。私は最近JavaScript / PHP / mySqlを学び、Ubuntu Serverが私の選択になると思いました。しかし、私はまだWindows XP / 7で作業する予定です。これは私の考えです。

  • 開発マシン(XP / 7):ここですべてのプログラミングを行います。 IDEはSpket(JavaScript)とAptana(PHP)です。そしてPhotoShop、Officeなどの他のソフトウェア...
  • サーバー(Ubuntu Lucid):これはデータを保存し、HTTP、Eメール、およびFTPサーバーを実行する場所です。 VPSになります。

簡単に言えば、Windowsをクライアント(IDE、クライアント電子メールソフトウェア、FTP...)として使用し、Ubuntuをサーバーとして使用してデータ(Mercurial、Apache、mySql...)を管理します。

私はこれに慣れておらず、すでにこれをやっていて、このクライアント/サーバーの組み合わせを使った人がいるかどうか疑問に思います。このアプローチの可能な欠点は何ですか? FTPで作業するには、VPSを使用するのが良い考えですか?

私は独立した開発者であり、過去数日間クラウドを使用する最良の方法について考えてきました。私はWeb開発をしています。関連性があり、役に立つ内容を返信してください。多くの開発者が自分の作業環境について長い記事を書いてくれてありがとう。特に考えたことはなく、ただもっとうまくやりたかったです。

ありがとうございます!

答え1

もちろん、多くの人がUbuntu ServerとWindowsクライアントを使用してきました。これUbuntuサーバーガイドあなたがしたいほとんどすべてが扱われます。

提案された設定に関するコメントは次のとおりです。

  • FTPを捨ててください。代わりにSSHを使用してください。個人的には、キーベースの認証を設定し、パスワード認証を無効にする必要があることも追加したいと思います。バラよりこのページ助けてください。

  • どんな形も見えないサポート言及された解決策。定期的にバックアップしてください。

  • Gitを考えてください。 Mercurialの代わりにGitを使用することを検討したいのですが、これは個人的な好みです。

  • 特にネットワーキングに関しては、最初からセキュリティについて考えてください。 (1)をもう一度参照してください。セキュリティの専門家である必要はありませんが、少なくとも次の点を考慮する必要があります。

    1. ファイアウォールを使用してください。 Ubuntu Serverの場合、これは使いやすく、ufwガイドで説明されています。
    2. 不要なサービスを実行しないでください。特に、私はphpmyadminのようなものを遠ざけます。
    3. 他人に不要なアクセスや権限を与えないでください。
    4. 監査とロギングを検討してください。

私があまり強調したくないもう少し一般的な意見は、開発プロセスをLinuxに移行することを検討するかもしれないということです。私の経験では、Linuxで利用可能なツールを使用すると、リモートサーバーの操作がはるかにスムーズになります。

答え2

Web開発者がWindowsで開発する必要はないと思います。テストにはまだWindowsプラットフォームが必要です。ところで、ツールリストに含まれていません。さまざまなプラットフォーム用の自動化されたテスト環境の種類が必要ですが、これらの作業はすべて仮想マシンで実行できます。

私はSpketのようなIDEを使用しませんが、基本的な(一般的に言えば)高度にプログラム可能なエディタであるemacs、vi、またはeclipseを学びます。

また、すべてのコードに対してクライアント側でMercurialを使用します。

答え3

見ているサンバそしてここ- これはあなたの多くの要件を満たす必要があります。 Apache(Ubuntuの標準)はWebサーバーの要件を満たしています。もしあなたなら〜しなければならないFTPを使用することをお勧めしますSFTP

バックアップについて - 見てくださいこれ

答え4

私が見つけたシグウィン、Linuxサーバーとの通信に便利です。 rsync、ssh、scp、およびこれらすべてのツールを使用してファイルを前後にコピーできます。さらに、Unixツールにすばやく慣れていくので、仕事用コンピュータでもそのツールを使いたいと思います。

一部の人々は使用することを好む。パテしかし、cygwin + mintty + opensshはssh-agentのような基本的なLinuxツールと同じ概念を持っているので、より良い選択であることがわかりました。

最後に、一部の人は私の意見に同意しないかもしれません。 CygwinとLinuxの間でファイルをコピーする場合は、次のことをお勧めします。編集してACLを無効にする/etc/fstab

関連情報