家を建てる
システムにはまだユーザーさえいません。 はい、ほとんどの場合、ホスト名も上記の例ではなく、「56-78-vps-small」のようなものです。 注文ではありません。
変更:
#> nano /etc/hostname
      
      #> nano /etc/hosts
      
      再起動:
shutdown -r now
      
      システムが起動するのを待っています。 ファイアウォールルールをすぐに追加します。
#> nano /etc/rc.local
      
      # Drop all incoming traffic<br> 
      
        
        
        
      
     /sbin/iptables -P INPUT DROP<br> 
      
        
        
        
      
     # Drop all forwarded traffic<br> 
      
        
        
        
      
     /sbin/iptables -P FORWARD DROP<br> 
      
        
        
        
      
     # Allow all outgoing traffic<br> 
      
        
        
        
      
     /sbin/iptables -P OUTPUT ACCEPT<br> 
      
        
        
        
      
     # Allow returning packets<br> 
      
        
        
        
      
     /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT<br> 
      
        
        
        
      
     # Allow incoming traffic on port 80 for web server<br> 
      
        
        
        
      
     /sbin/iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br> 
      
        
        
        
      
     # Allow local traffic<br> 
      
        
        
        
      
     /sbin/iptables -A INPUT -i lo -j ACCEPT<br> 
      
        
        
        
      
     # Allow incoming SSH on port 22<br> 
      
        
        
        
      
     /sbin/iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT<br> 
      
        
        
        
      
     # Allow ping<br> 
      
        
        
        
      
     /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT<br><br> 
      
        
        
        
      
     
      
        
        
        
      
     exit 0
      
      風水では、構成を別のファイルに保存し、別のコマンドで復元できます。 しかし、そうかもしれません:)吸い込む:
#> /etc/rc.local
      
      私達は試みます:
#> asdlkjflaskdjf
      
      文字が表示されている場合-息を吐き、彼らは座っていた枝を切り倒しませんでした(ルールとのssh接続を閉じなかった)。 続けましょう。
#> adduser deployer<br> 
      
        
        
        
      
     #> adduser eugzol<br> 
      
        
        
        
      
     #> adduser eugzol sudo
      
      パスワードを覚えてください。
デプロイヤの下では、すべてのwwwが機能します。 eugzolの下で、sshを使用します(お気に入りのユーザー名を選択します)。 私たちは去り、私たちは来ます...
root@my-awesome-host#> exit<br> 
      
        
        
        
      
     eugzol@home$> ssh my-awesome-host<br> 
      
        
        
        
      
     eugzol@my-awesome-host$> sudo echo test
      
      すべてがうまくいく-良い。 キーを追加します。
$> mkdir .ssh<br> 
      
        
        
        
      
     $> echo "ssh-rsa ........... == eugzol@home" > .ssh/authorized_keys<br> 
      
        
        
        
      
     $> chmod 700 .ssh<br> 
      
        
        
        
      
     $> cd .ssh<br> 
      
        
        
        
      
     $> chmod 600 *
      
      接続を切断し、パスワードを要求するべきではありません。 同様に、キーをデプロイヤーユーザーに追加します。
カラーコンソールが好きな場合は、.bashrcの対応する行からコメントマークを削除します。
$> nano ~/.bashrc<br> 
      
        
        
        
      
     # ...<br> 
      
        
        
        
      
     force_color_prompt=yes<br> 
      
        
        
        
      
     ...
      
      パッケージ、パッケージ、パッケージ
便利なものはすべて事前に用意しています。 まあ、多分彼らは何かを忘れてしまった、それは怖くない、我々は後で状況を追加します
Rubyをビルドするには:
$> sudo apt-get -y install build-essential zlib1g zlib1g-dev libxml2 libxml2-dev libxslt-dev sqlite3 libsqlite3-dev locate git-core
      
      MySQL(rootパスワードを覚えておいてください):
$> sudo apt-get -y install mysql-server libmysqlclient-dev
      
      Passengerを構築するには:
$> sudo apt-get -y install libcurl4-openssl-dev
      
      アプリケーションを展開する
$> sudo su deployer
      
      次に、ディレクトリ構造を作成します。
/ホーム/デプロイヤ/リポジトリ-gitリポジトリ
/ホーム/デプロイヤ/プロジェクト-プロジェクトの作業コピー
$> mkdir repos<br> 
      
        
        
        
      
     $> mkdir projects
      
      こする:
 $> bash < <(curl -s rvm.beginrescueend.com/install/rvm)
      
      最後に彼が書いたものを見る。 ただし、2つのことが重要です。
-おそらく、指定された行を.bashrcに追加する必要があります(まだない場合)
-おそらく、すべてのパッケージが指定されたパッケージから以前に配信されたわけではありません。 一歩戻って配信する必要があります
続けましょう。
$> rvm install 1.8.7
      
      このバージョンのRubyが必要でした。 あなたが別のメインバージョンを持っている場合-別のものを入れてください。
次に、アプリケーションをインストールする方法、たとえば、ロールオンレールを見てみましょう。 科学によると、これをCapistranoまたは同様のツールでラップする必要があります。 しかし、初心者にとっては、簡単な方法で行うことができます。
そして最後に:
$> echo "gem: --no-rdoc --no-ri" > ~/.gemrc"
      
      そのため、rubygemsによってドキュメントのインストールが遅くなることはありませんが、それでもローカルコンピューターからは誰も見ていません。
$> rvm use 1.8.7<br> 
      
        
        
        
      
     $> rvm gemset use global<br> 
      
        
        
        
      
     $> gem install bundler
      
      リポジトリと作業ディレクトリ
cd ~/repos<br> 
      
        
        
        
      
     git init --bare rolling-on-rails.git
      
      次に、プロジェクトディレクトリ内のローカルマシンで:
eugzol@home$> git remote add my-awesome-host ssh://deployer@my-awesome-host.ru/home/deployer/repos/rolling-on-rails.git<br> 
      
        
        
        
      
     eugzol@home$> git push my-awesome-host master
      
      リモートに戻ります。
cd ~/projects<br> 
      
        
        
        
      
     mkdir rolling-on-rails<br> 
      
        
        
        
      
     cd rolling-on-rails<br> 
      
        
        
        
      
     git init<br> 
      
        
        
        
      
     git remote add local /home/deployer/repos/rolling-on-rails.git<br> 
      
        
        
        
      
     git fetch local<br> 
      
        
        
        
      
     git checkout master
      
      プロジェクトのファイルがディレクトリに表示されます。
ベースをセットアップする
mysql -u root -p
      
      パスワードを入力してください。
mysql> create user 'rolling-on-rails'@'localhost' identified by 'sakdl5&%1';<br> 
      
        
        
        
      
     mysql> create database rolling-on-rails charset utf8 collate utf8_bin;<br> 
      
        
        
        
      
     mysql> grant all on rolling-on-rails.* to 'rolling-on-rails'@'localhost';
      
      構成を作成します。
cd ~/projects/rolling-on-rails<br> 
      
        
        
        
      
     echo "production:<br> 
      
        
        
        
      
     adapter: mysql<br> 
      
        
        
        
      
     host: localhost<br> 
      
        
        
        
      
     database: rolling-on-rails<br> 
      
        
        
        
      
     username: rolling-on-rails<br> 
      
        
        
        
      
     password: sakdl5&%1<br> 
      
        
        
        
      
     encoding: utf8" > config/database.yml
      
      ジェムズアンドゴー!
$> echo "rvm 1.8.7@rolling-on-rails > .rvmrc"<br> 
      
        
        
        
      
     $> rvm gemset create rolling-on-rails<br> 
      
        
        
        
      
     $> cd ..<br> 
      
        
        
        
      
     $> cd rolling-on-rails
      
      RVMは、.rvmrcに記述した内容を信頼するかどうかを尋ねます。 自分でこの行を思いついたのではなく、オープンネットワークのソースからコピーし、これらのインターネットサイトの構成ファイルに書き込むために何を提供するのかを知っているので、もう一度読み直します。
$> rvm info
      
      もう一度、Rubyとgemsetの正しいバージョンがあることを確認します。
$> bundle install<br> 
      
        
        
        
      
     $> RAILS_ENV=production rake db:migrate<br> 
      
        
        
        
      
     $> RAILS_ENV=production rake db:seed
      
      すべてが機能するかどうかを確認します。
乗客を置きます
一時的なデプロイヤをsudoグループに追加します。
eugzol@my-awesome-host$> sudo adduser deployer sudo<br> 
      
        
        
        
      
     sudo su deployer
      
      インストール自体:
cd ~/projects/rolling-on-rails<br> 
      
        
        
        
      
     gem install passenger<br> 
      
        
        
        
      
     rvmsudo passenger-install-nginx-module
      
      インストーラーに指示-すべてをダウンロードしてインストールします。
nginxログの場所を作成します。
mkdir ~/nginx
      
      設定ファイルの編集:
cd /opt/nginx/conf<br> 
      
        
        
        
      
     sudo nano nginx.conf
      
      最終的に、 http://pastie.org/2625120のようなものが得られます。
initスクリプトを配置します。
cd<br> 
      
        
        
        
      
     git clone git://github.com/jnstq/rails-nginx-passenger-ubuntu.git<br> 
      
        
        
        
      
     sudo mv rails-nginx-passenger-ubuntu/nginx/nginx /etc/init.d/nginx<br> 
      
        
        
        
      
     sudo chown root:root /etc/init.d/nginx
      
      pidファイルへのパスを変更します。
$> sudo nano /etc/init.d/nginx
      
      ...<br> 
      
        
        
        
      
     PIDSPATH=/home/deployer/nginx<br> 
      
        
        
        
      
     ...
      
      私たちはチェックします:
$> sudo service nginx configtest
      
      $> sudo service nginx start
      
      IPまたはドメイン名でブラウザからサーバーにアクセスします。 「nginxへようこそ!」プロンプトが表示されます。
アプリケーション構成を追加します。
$> cd /opt/nginx/conf<br> 
      
        
        
        
      
     $> sudo su<br> 
      
        
        
        
      
     #> mkdir sites-available<br> 
      
        
        
        
      
     #> mkdir sites-enabled<br> 
      
        
        
        
      
     #> nano sites-available/rolling-on-rails.conf
      
      http://pastie.org/2625166のようなものをそこに追加します。
含まれるもの:
#>cd sites-enabled<br> 
      
        
        
        
      
     #> ln -s ../sites-available/rolling-on-rails.conf .
      
      再起動:
#> service nginx reload
      
      rolling-on-rails.ruにアクセスします。 すべてが正しく行われていれば、作業アプリケーションを楽しんでいます。
尾をきれいにします
残りのゴミを削除します。
deployer@my-awesome-host$> rm -rf ~/rails-nginx-passenger-ubuntu
      
      deployer@my-awesome-host$> exit
      
      デプロイヤユーザーをsudoグループから削除します。
eugzol@my-awesome-host$> sudo nano /etc/group
      
      「sudo:x:27:eugzol、deployer」のような行を「sudo:x:27:eugzol」に変更します。
exit
      
      すべてが機能している間に他のことをやっています:)
PSこのトピックは、主にeugzol habrayuzerと私の小さな追加で書かれたので、カルマにすべての質問とプラスを送信する方が良い