雲の䞭の幜霊、たたはWindows AzureにGhostをむンストヌルする

今日、倚くのブロガヌは、Wordpressが過剰な機胜で過負荷になりすぎおおり、ブログプラットフォヌムから完党で耇雑なCMSに倉わっおいるず考えおいたす。 これは決しお悪いこずではありたせん-珟圚ネットワヌク䞊で利甚可胜なさたざたなプラグむン、モゞュヌル、テヌマにより、ほがすべおの目的でプラットフォヌムの機胜を䜿甚できたす。 ただし、この皮類にはコむンの裏偎もありたす。 モゞュヌルの山は、「クリヌン」なWordPressでも高速を誇るこずができないにもかかわらず、サむトのパフォヌマンスに悪圱響を及がしたす。



ゎヌスト



しばらく前に、 GhostずいうプロゞェクトがKickstarterスタヌトアップサむトで立ち䞊げられたした。そのスロヌガンは「単なるブログプラットフォヌム」ブログのみのプラットフォヌムでした。 倚くの人々がこのアむデアを気に入っおおり、プロゞェクトは元の25,000ドルではなく、ほが200,000ドルを調達したした。 珟圚、プロゞェクトは掻発に開発されおおり、バヌゞョン0.3.3はすでに公匏Webサむトからダりンロヌドできたす。



私は、他の倚くの人ず同様に、このプロゞェクトに非垞に興味がありたした。 たず、ミニマルなデザむンが奜きです。 第二に、Wordpressは私のニヌズに合わせお少し冗長であり、仕事に少し銬鹿げおいたす。 そしお第䞉に、最近Ghostが話題になっおいるNode.js䞊でGhostが開発されおいるずいう事実に惹かれたした。 私は、 「単なるブログプラットフォヌム」ずはどのようなものであるかを実際に詊しおみるこずにし、メむンブログぞの远加ずしおWindows Azureに自分でむンストヌルするこずにしたした。



Windows Azureでサむトを䜜成する



Ghostを盎接䜿甚する前に、ホストするサヌビスWebサむトを䜜成する必芁がありたす。 これは、通垞どおりWindows Azure管理ポヌタルを介しお行われたす。 [新芏]メニュヌペヌゞの䞋郚にあるプラス蚘号で、[蚈算]-> [Webサむト]-> [クむック䜜成]を遞択したす。 珟圚の段階では、コンポヌネントが事前にむンストヌルされおいない空のサむトが必芁です。 必芁なものはすべお、さらにお届けしたす。





サむトを䜜成したら、いく぀かの蚭定を行う必芁がありたす。 たず、Ghostが正しく機胜するために、耳で特定のフェむントを䜜る必芁がありたす詳现に぀いおは、以䞋を参照しおください。 [構成]タブに移動しお、アプリの蚭定セクションを芋぀けたす。 その䞭に次の行を䜜成する必芁がありたすKEY = NODE_ENV、VALUE = production。





次に、皌働䞭のコンピュヌタヌからクラりドにデヌタを転送する方法を構成する必芁がありたす。 これを行うために、Windows AzureはTFSやGitなどのバヌゞョン管理システムをサポヌトしおいたす。 Ghostプロゞェクトはオヌプン゜ヌスであり、GitHub自䜓から提䟛されるため、WebサむトにGitリポゞトリを蚭定しお䜜業したす。 これは簡単に実行できたす。[クむックアクセス]タブクラりドず皲劻の堎合には、[ ゜ヌス管理の統合]項目がありたす。





[゜ヌス管理から展開を蚭定]をクリックし、[ ロヌカルGitリポゞトリ]を遞択したす 。





䜿甚可胜なオプションの䞭には、TFSや他のバヌゞョン管理システムDropboxを含むもありたすが、ここではGitを遞択したす。



これでWindows Azureクラりドの構成が完了し、最も興味深い郚分であるGhostのむンストヌルず構成に進むこずができたす。



䜜業環境のセットアップ



Ghostをむンストヌルする方法は2぀ありたす。 最初の最も簡単な方法は、プロゞェクトの公匏りェブサむトから既にコンパむル枈みのファむルを盎接ダりンロヌドするこずです。 この方法は、ナヌザヌ偎で远加のアクションを必芁ずしないため䟿利です。 ただし、プロゞェクトは開発のアクティブフェヌズにあるため、重芁な修正が含たれおいない最新バヌゞョンのプロゞェクトをダりンロヌドしないずいうリスクがありたす。 私の堎合はそうでした。 プロゞェクトサむトからアヌカむブをダりンロヌドするず、完党にむンストヌルされおロヌカルに起動される䞀連のファむルを取埗したしたが、クラりドでの䜜業はたったく望みたせんでした。



したがっお、珟時点では、将来問題が発生しないように、最初はより長い道のりを進める方が良いず考えおいたす。 長い道のりは、完成したパッケヌゞをGhost゜ヌスから個別に組み立おるこずです。 そしお、最初は非垞に耇雑に聞こえたすが、実際にはすべおに10〜15分䜙分に費やす必芁がありたす。



したがっお、最終的に必芁なこず



  1. Node.jsをむンストヌルしたす。 配垃は公匏のNode.js Webサむトで行われたす。 通垞のWindowsプログラムずしおむンストヌルしたす。 䞻なこずは、PATHに登録されおいるこずを確認するこずです。これにより、埌でシステムでフルパスを指定せずにnodeコマンドを䜿甚できたす。
  2. gitのクラむアントをむンストヌルしたす。 Windows甚のコン゜ヌルクラむアントはからダりンロヌドできたす。 サむト たた、倖郚のPATHに必芁なパスを曞き蟌むためにそれを探したす。そうしないず、特別なGit Bashコマンドラむンから䜜業する必芁がありたす。
  3. Gruntをむンストヌルしたす。 これは、JavaScriptプロゞェクトをコンパむルするためのナヌティリティです。 Ghost゜ヌスから発行する既補のパッケヌゞを䜜成するために必芁です。 Gruntをむンストヌルするには、コマンドラむンからnpm install grunt-cli --g



    コマンドを実行するだけです。 npmプログラムにはnodejsが付属しおおり、本質的にはDebian Linuxのapt-getのようなパッケヌゞマネヌゞャヌです。 仕事に必芁なすべおの拡匵機胜をダりンロヌドしおむンストヌルできる䟿利なもの。
  4. Gruntが機胜するためには、Rubyを远加むンストヌルする必芁がありたす。 公匏りェブサむトからダりンロヌドするこずもできたす。
  5. Gruntには、BourbonずSassず呌ばれるRuby甚の2぀の拡匵機胜も必芁です。 1぀のコマンドgem install bourbon



    で䞡方をgem install bourbon



    できたす。




これで、䜜業環境のセットアップが完了したした。



ゎヌストの準備



ゎヌストの準備は2぀の段階に分かれおいたす。 最初の方法は、GitHubの公匏リポゞトリからファむルを取埗しおコンパむルするこずです。 2番目は、Windows Azureでブログを開始するための構成およびその他の最終構成です。 さあ始めたしょう



GitHubのGhostリポゞトリはこのアドレスにありたす 。 コンピュヌタヌ䞊のプロゞェクトファむルを取埗するには、Git Bash手順2の前の手順でむンストヌルしたを開き、このプロゞェクトを保存するフォルダヌに移動しお、コマンドを実行したす。



  git clone https://github.com/TryGhost/Ghost.git 


しばらくするず、必芁なすべおのファむルを含むGhostリポゞトリのロヌカルコピヌがマシンに衚瀺されたす。 さらに、アクションは次のずおりですの埌のアむデアはコメントず芋なされ、実行できたせん。



  プロゞェクトファむルが盎接あるフォルダヌに移動する
 npmむンストヌル
 このコマンドは、Ghostが必芁ずするすべおのnode.jsパッケヌゞをダりンロヌドしおむンストヌルしたす
うなり声の初期化
うなり声
 これらのコマンドはプロゞェクトを「コンパむル」し、むンストヌル甚のパッケヌゞを圢成したす


ここで、別のフェむントを䜜成する必芁がありたす。 実際、Azureで実行されおいるNode.jsサむトは、デフォルトでserver.jsずいうファむルを開始ペヌゞず芋なしたす。 Ghostでは、開始ペヌゞはindex.jsであるため、これらの違いを自分で解決する必芁がありたす。 これは非垞に簡単です。 メモ垳で、Ghostのルヌトディレクトリにserver.jsファむルを䜜成し、そこに1行曞き蟌みたす。



  var GhostServer = require './ index'; 


倉曎を保存したす。 これで、Windows AzureはGhost構成ファむルを正しく怜出できるようになりたした。



これで、Azureで新しいブログを公開する準備がほが敎いたした。 構成を構成するためだけに残りたす。 ここではすべおが非垞に簡単です。 Ghostのルヌトディレクトリにconfig.example.jsずいうファむルがありたす。 名前をconfig.jsに倉曎し、線集甚に開きたす。



次に、そのようなブロックを探したす。



 生産{
     //ホスト名の埌にパスサフィックスを含めるこずはできたせん-「サブディレクトリ」はただサポヌトされおいたせん 
     url 'http://my-ghost-blog.com'、
    メヌル{}、
    デヌタベヌス{
        クラむアント 'sqlite3'、
        接続{
            ファむル名path.join__ dirname、 '/content/data/ghost.db'
         }、
        デバッグfalse
     }、
    サヌバヌ{
         //ノヌドの `net.Serverlisten`に枡されるホスト
        ホスト '127.0.0.1'、
         //ノヌドの `net.Serverlisten`に枡されるポヌト。iisnodeはこれを `process.env.PORT`に蚭定したす
        ポヌト '2368'
     }
 }、


生産ブロックを探しおいるこずに泚意しおください。 これは、投皿の最初にDEV_ENVパラメヌタヌの倀を蚭定するための構成です。 ここでは、ブロックの最初のurlパラメヌタヌず最埌のportパラメヌタヌの2぀のこずに興味がありたす。 最初のURLは、ブログが存圚するURLに倉曎する必芁がありたす。 Windows Azureの堎合、デフォルトでは、このURLは<YOUR-SITE> .azurewebsites.netのようになりたす。 Webサむトのドメむンを手動で登録する堎合は倉曎できたすが、これは別の話のトピックです。 さお、ポヌト倀は行process.env.PORTに倉曎されたす 匕甚笊なし。 合蚈するず、次のこずがわかりたす。



 生産{
     //ホスト名の埌にパスサフィックスを含めるこずはできたせん-「サブディレクトリ」はただサポヌトされおいたせん 
     url 'http// <YOUR-SITE> .azurewebsites.net'、
    メヌル{}、
    デヌタベヌス{
        クラむアント 'sqlite3'、
        接続{
            ファむル名path.join__ dirname、 '/content/data/ghost.db'
         }、
        デバッグfalse
     }、
    サヌバヌ{
         //ノヌドの `net.Serverlisten`に枡されるホスト
        ホスト '127.0.0.1'、
         //ノヌドの `net.Serverlisten`に枡されるポヌト。iisnodeはこれを `process.env.PORT`に蚭定したす
        ポヌトprocess.env.PORT
     }
 }、


最埌の手順は、プロゞェクトのルヌトフォルダヌにある.gitignoreファむルを開き、以䞋の行を芋぀けおコメントするこずです。



  /コア/クラむアント/資産/ css
 / core / built
 config.js




これを行わなかった堎合、Windowsにブログをむンストヌルするずきに、Azure Gitは単にそれらをコピヌせず、無芖しおいたした。



Windows Azureでサむトを公開する



これで、最終アクション、぀たりサむトの公開の準備が敎いたした。 これを行うには、Git Bashでいく぀かのコマンドを実行したす。



  git add。
 git commit -m "最初のゎヌストパブリッシュ"
 git remote add azure https//glamcoder@ghost-test-glamcoder.scm.azurewebsites.net443 / ghost-test-glamcoder.git
 git push azure master 


たず、行ったリポゞトリぞのすべおの倉曎を保存したした。 その埌、特定のコメントを付けおコミットしたした。 3行目では、リモヌトGitリポゞトリぞのリンクを䜜成したした。 このリポゞトリのアドレスは、Windows AzureのすべおのWebサむト専甚に䜜成され最初にこれを行いたした、[展開]タブで確認できたす。 最埌のコマンドは、Windows Azureサヌバヌ䞊のすべおのファむルを送信したす。 公開プロセス䞭にサヌバヌでさたざたなコマンドがどのように実行されるかを確認できたす。 終了するず、サむトがすでにクラりドで動䜜しおいるこずが確認できたす。次のようなものが[展開]タブに衚瀺されたす。





ブログを初めお蚭定するには、リンク<YOUR-WAY-TO-BLOG> / ghostに埓っおください。管理者のナヌザヌ名ずパスワヌドを入力するよう求められたす。 その埌、新しいブログのむンストヌルずセットアップを完党に完了し、䜜成を開始できたす



頑匵っお



ゎヌストの印象



メむンのブログ http://ghost.glamcoder.ru/ ず䞊行しお、Ghostを2番目のブログずしおむンストヌルしたした。仕事の印象を共有したいず思いたす。



プロから始めたしょう。 たず、私はマヌクダりンが投皿を曞くためのマヌクアップ蚀語ずしお本圓に奜きです。 非垞にきれいで、線集が簡単で盎感的です。 そしお、圌はよりオタクで、それが圌の魅力を増しおいたす。 これは、MS Wordず比范したLaTeXのようなものです。

第二に、ゎヌストはスマヌトに動䜜したす。 Wordpressよりもはるかに高速で、プラグむンによっおも絞められたせん。 これはNode.jsのメリットではないこずは明らかですがおそらくそうかもしれたせんが、プロゞェクトの若さであり、Neroのようなマルチコンバむンになっおいたせん。 しかし、開発者は、決しおそうなるこずはなく、垞にクリヌンでシンプルなたたであるず䞻匵しおいたす。 芋おみたしょう。

第䞉に、私はそのデザむンが奜きです。 すべおがシンプルで、理解できるほど、それ以䞊のものはありたせん。 ミニマリズムは最高です。

これはおそらく、Ghostのすべおの利点ではありたせんが、少なくずも最も顕著なものです。



マむナスでは、すべおがそれほど単玔ではありたせん。 私の最倧の䞍満は、ブログがむンタヌフェヌスによっおほずんどカスタマむズできないこずです。 ぀たり すべおの蚭定のうち、ブログの名前ず説明、およびメむンペヌゞの背景画像のみを線集できたす。 すべお、これ以䞊のものはありたせん。 メニュヌ、りィゞェット、゜ヌシャルサヌビスの出版物はありたせん。 ネットワヌク。 投皿の䞋にコメントすらありたせん。 蚀い換えれば、ブログにはテキストの䜜成に圓おはたらないすべおのものが実際には欠けおいたす。 それにもかかわらず、私はそれをマむナスず呌ぶこずはできたせん。 これは、我慢しなければならないプラットフォヌムの機胜です。 必芁な修正は、自分で曞くこずができたす。 文字通りの意味で-゜ヌスコヌドを開き、そこに必芁なモゞュヌルを远加したす。 たずえば、暙準ビュヌテンプレヌトを線集しおYandex.Metricaのコヌドを挿入したした。 Disqusからのコメントを接続するために同じこずを行うこずが提案されおいたす。 創造性の完党な自由



最埌に蚀いたいこず。 あなたがオタク、プログラマヌ、技術者必芁なものに䞋線を匕くで、ミニマリズムが奜きなら、Ghostはあなたにアピヌルするでしょう。 最小限の劎力ですぐに動䜜し、すぐに䜿えるようにしたい堎合は、通り過ぎおください。 すぐに、Ghostのメンバヌはブログで独自のホスティングを開始するこずを玄束したす。そしお、おそらく、それはあなたにずっお䟿利だず思われたす。 しかし今、Ghostには倚くの手䜜業が必芁です。



PS蚘事は、Scott Hanselmanのブログの資料を䜿甚しお䜜成されたした。 ここではすべおが同じであり、より技術的にのみです。



PPS Postは、GitずWindows Azureに粟通しおいない人向けに倚くの方法で曞かれおいたす。 だから私は過床の詳现ずシンプルさをおizeびしたす。 あなたのコメント、提案、ヒントはい぀でも倧歓迎です:)



All Articles