Skip to content

Instantly share code, notes, and snippets.

@otiai10
Last active December 24, 2015 09:49
Show Gist options
  • Save otiai10/6779454 to your computer and use it in GitHub Desktop.
Save otiai10/6779454 to your computer and use it in GitHub Desktop.
VPSをDebian7.1wheezyにしたのでサーバセットアップのログを取っておこうと思ったわけ 2
@otiai10
Copy link
Author

otiai10 commented Oct 2, 2013

nvm,node,npmのインストール

nvmのインストール

www15224uf% cd ~
www15224uf% git clone git://github.com/creationix/nvm.git ~/.nvm
Cloning into '/home/otiai10/.nvm'...
remote: Counting objects: 754, done.
remote: Compressing objects: 100% (511/511), done.
remote: Total 754 (delta 363), reused 598 (delta 232)
Receiving objects: 100% (754/754), 116.51 KiB | 138 KiB/s, done.
Resolving deltas: 100% (363/363), done.
www15224uf%
www15224uf% source ~/.nvm/nvm.sh

~/.zshrcにあとで書いておく

最新版nodeのインストール

www15224uf% nvm ls-remote
nvm_ls_remote:10: command not found: curl

       N/A
www15224uf%

curlが無い...

curlインストール

www15224uf% apt-cache search curl
...略...
curl - command line tool for transferring data with URL syntax
...略...
www15224uf% sudo apt-get install curl
[sudo] password for otiai10:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libcurl3
The following NEW packages will be installed:
  curl libcurl3
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 601 kB of archives.
After this operation, 987 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://security.debian.org/ wheezy/updates/main libcurl3 amd64 7.26.0-1+wheezy3 [331 kB]
Get:2 http://security.debian.org/ wheezy/updates/main curl amd64 7.26.0-1+wheezy3 [270 kB]
Fetched 601 kB in 5s (103 kB/s)
Selecting previously unselected package libcurl3:amd64.
(Reading database ... 34747 files and directories currently installed.)
Unpacking libcurl3:amd64 (from .../libcurl3_7.26.0-1+wheezy3_amd64.deb) ...
Selecting previously unselected package curl.
Unpacking curl (from .../curl_7.26.0-1+wheezy3_amd64.deb) ...
Processing triggers for man-db ...
Setting up libcurl3:amd64 (7.26.0-1+wheezy3) ...
Setting up curl (7.26.0-1+wheezy3) ...
www15224uf% which curl
/usr/bin/curl

気を取り直してnodeインストール

www15224uf% nvm ls-remote
www15224uf% nvm install v0.10.20
######################################################################## 100.0%
Now using node v0.10.20
www15224uf% nvm version

  v0.10.20
www15224uf% nvm install v0.8.25
######################################################################## 100.0%
Now using node v0.8.25
www15224uf% nvm version

   v0.8.25
www15224uf% nvm ls

v0.8.25
v0.10.20
current:    v0.8.25
www15224uf% nvm use v0.10.20
Now using node v0.10.20
www15224uf%
www15224uf% node --version
v0.10.20
www15224uf% npm --version
1.3.11
www15224uf% nvm alias default v0.10.20
default -> v0.10.20
www15224uf%

@otiai10
Copy link
Author

otiai10 commented Oct 2, 2013

mongoDB最新版をインストール(せつこ、これはドライバーや)

www15224uf% npm search mongodb
mongodb               A node.js driver for MongoDB
www15224uf% npm install mongodb
npm http GET https://registry.npmjs.org/mongodb
npm http 200 https://registry.npmjs.org/mongodb
npm http GET https://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz
npm http 200 https://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz
npm http GET https://registry.npmjs.org/bson/0.2.2
npm http GET https://registry.npmjs.org/kerberos/0.0.3
npm http 200 https://registry.npmjs.org/kerberos/0.0.3
npm http GET https://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz
npm http 200 https://registry.npmjs.org/bson/0.2.2
npm http GET https://registry.npmjs.org/bson/-/bson-0.2.2.tgz
npm http 200 https://registry.npmjs.org/bson/-/bson-0.2.2.tgz
npm http 200 https://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz

> [email protected] install /home/otiai10/node_modules/mongodb/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)


> [email protected] install /home/otiai10/node_modules/mongodb/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)

make: Entering directory `/home/otiai10/node_modules/mongodb/node_modules/kerberos/build'
  SOLINK_MODULE(target) Release/obj.target/kerberos.node
  SOLINK_MODULE(target) Release/obj.target/kerberos.node: Finished
  COPY Release/kerberos.node
make: Leaving directory `/home/otiai10/node_modules/mongodb/node_modules/kerberos/build'
make: Entering directory `/home/otiai10/node_modules/mongodb/node_modules/bson/build'
  CXX(target) Release/obj.target/bson/ext/bson.o
  SOLINK_MODULE(target) Release/obj.target/bson.node
  SOLINK_MODULE(target) Release/obj.target/bson.node: Finished
  COPY Release/bson.node
make: Leaving directory `/home/otiai10/node_modules/mongodb/node_modules/bson/build'
[email protected] node_modules/mongodb
├── [email protected]
└── [email protected]
www15224uf%

@otiai10
Copy link
Author

otiai10 commented Oct 2, 2013

mongoDB最新版をインストール

www15224uf% cat /proc/cpuinfo | grep flag
flags       : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl pni ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor
flags       : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl pni ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor
flags       : fpu de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl pni ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes hypervisor
www15224uf% uname -a
Linux www15224uf 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64 GNU/Linux
www15224uf%

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/

www15224uf% sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
[sudo] password for otiai10:
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.9GwFikOn01 --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-squeeze-automatic.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-squeeze-stable.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-wheezy-stable.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: key 7F0CEB10: public key "Richard Kreuter <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
www15224uf%
www15224uf% echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen
www15224uf%
www15224uf% sudo apt-get update
Get:1 http://downloads-distro.mongodb.org dist Release.gpg [490 B]
Hit http://ftp.jp.debian.org wheezy Release.gpg
Get:2 http://ftp.jp.debian.org wheezy-updates Release.gpg [1,571 B]
Hit http://ftp.jp.debian.org wheezy Release
Get:3 http://ftp.jp.debian.org wheezy-updates Release [124 kB]
Get:4 http://downloads-distro.mongodb.org dist Release [2,032 B]
Hit http://ftp.jp.debian.org wheezy/main Sources
Hit http://ftp.jp.debian.org wheezy/main amd64 Packages
Hit http://ftp.jp.debian.org wheezy/main Translation-en
Get:5 http://ftp.jp.debian.org wheezy-updates/main Sources [1,995 B]
Hit http://ftp.jp.debian.org wheezy-updates/main amd64 Packages/DiffIndex
Hit http://ftp.jp.debian.org wheezy-updates/main Translation-en/DiffIndex
Hit http://security.debian.org wheezy/updates Release.gpg
Get:6 http://downloads-distro.mongodb.org dist/10gen amd64 Packages [7,272 B]
Hit http://security.debian.org wheezy/updates Release
Hit http://security.debian.org wheezy/updates/main Sources
Hit http://security.debian.org wheezy/updates/main amd64 Packages
Hit http://security.debian.org wheezy/updates/main Translation-en
Ign http://downloads-distro.mongodb.org dist/10gen Translation-en_US
Ign http://downloads-distro.mongodb.org dist/10gen Translation-en
Fetched 137 kB in 4s (27.7 kB/s)
Reading package lists... Done
www15224uf%

aptで入れれるパッケージが更新された感ある

www15224uf% sudo apt-get install mongodb-10gen
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  mongodb-10gen
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 87.8 MB of archives.
After this operation, 225 MB of additional disk space will be used.
Get:1 http://downloads-distro.mongodb.org/repo/debian-sysvinit/ dist/10gen mongodb-10gen amd64 2.4.6 [87.8 MB]
Fetched 87.8 MB in 25s (3,418 kB/s)
Selecting previously unselected package mongodb-10gen.
(Reading database ... 34781 files and directories currently installed.)
Unpacking mongodb-10gen (from .../mongodb-10gen_2.4.6_amd64.deb) ...
Processing triggers for man-db ...
Setting up mongodb-10gen (2.4.6) ...
Adding system user `mongodb' (UID 104) ...
Adding new user `mongodb' (UID 104) with group `nogroup' ...
Not creating home directory `/home/mongodb'.
Adding group `mongodb' (GID 106) ...
Done.
Adding user `mongodb' to group `mongodb' ...
Adding user mongodb to group mongodb
Done.
[ ok ] Starting database: mongodb.
www15224uf%

いけた感ある

www15224uf% mongo
MongoDB shell version: 2.4.6
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user
> exit
bye
www15224uf%

いけたしv2.4.6である

@otiai10
Copy link
Author

otiai10 commented Oct 2, 2013

goのインストール

https://gist.github.com/otiai10/6596982

mercurial(hg)のインストール

www15224uf% apt-cache search mercurial
mercurial - easy-to-use, scalable distributed version control system
www15224uf% sudo apt-get install mercurial
[sudo] password for otiai10:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  mercurial-common
Suggested packages:
  qct wish kdiff3 kdiff3-qt kompare meld xxdiff tkcvs mgdiff python-mysqldb python-pygments python-openssl
The following NEW packages will be installed:
  mercurial mercurial-common
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,413 kB of archives.
After this operation, 8,067 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://ftp.jp.debian.org/debian/ wheezy/main mercurial-common all 2.2.2-3 [2,320 kB]
Get:2 http://ftp.jp.debian.org/debian/ wheezy/main mercurial amd64 2.2.2-3 [93.1 kB]
Fetched 2,413 kB in 1s (1,630 kB/s)
Selecting previously unselected package mercurial-common.
(Reading database ... 34815 files and directories currently installed.)
Unpacking mercurial-common (from .../mercurial-common_2.2.2-3_all.deb) ...
Selecting previously unselected package mercurial.
Unpacking mercurial (from .../mercurial_2.2.2-3_amd64.deb) ...
Processing triggers for man-db ...
Setting up mercurial-common (2.2.2-3) ...
Setting up mercurial (2.2.2-3) ...

Creating config file /etc/mercurial/hgrc.d/hgext.rc with new version
www15224uf% which hg
/usr/bin/hg
www15224uf%

$GOROOT,$GOPATHの設定

~/.zshrc

# - go
export GOROOT=$HOME/proj/go
export GOPATH=$HOME/proj/go/packages
export PATH=${PATH}:$GOROOT/bin:$GOPATH/bin
www15224uf% source ~/.zshrc

ソースのダウンロード

www15224uf% cd ~/src
www15224uf% wget https://go.googlecode.com/files/go1.1.2.linux-amd64.tar.gz
--2013-10-02 14:48:42--  https://go.googlecode.com/files/go1.1.2.linux-amd64.tar.gz
Resolving go.googlecode.com (go.googlecode.com)... 74.125.31.82, 2404:6800:4008:c00::52
Connecting to go.googlecode.com (go.googlecode.com)|74.125.31.82|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 41756805 (40M) [application/x-gzip]
Saving to: `go1.1.2.linux-amd64.tar.gz'

100%[==============================================================================================================================================================================>] 41,756,805  4.35M/s   in 17s

2013-10-02 14:49:01 (2.28 MB/s) - `go1.1.2.linux-amd64.tar.gz' saved [41756805/41756805]

www15224uf% tar -xzf go1.1.2.linux-amd64.tar.gz
www15224uf% cp -r go ~/proj
www15224uf%

ビルド

www15224uf% cd $GOROOT/src
www15224uf% ./all.bash
# Building C bootstrap tool.
cmd/dist

# Building compilers and Go bootstrap tool for host, linux/amd64.
...中略...
ALL TESTS PASSED

---
Installed Go for linux/amd64 in /home/otiai10/proj/go
Installed commands in /home/otiai10/proj/go/bin
www15224uf%
www15224uf% which go
/home/otiai10/proj/go/bin/go

GOROOTGOPATHもちゃんと効いてるもよう

@otiai10
Copy link
Author

otiai10 commented Oct 2, 2013

revelのインストール

www15224uf% cd ~
www15224uf% go get github.com/robfig/revel/revel
www15224uf% which revel
/home/otiai10/proj/go/packages/bin/revel
www15224uf%

サンプルアプリの起動

www15224uf% revel run github.com/robfig/revel/samples/chat
~
~ revel! http://robfig.github.com/revel
~
2013/10/02 15:04:26 revel.go:292: Loaded module static
2013/10/02 15:04:26 revel.go:292: Loaded module testrunner
2013/10/02 15:04:26 run.go:57: Running chat (github.com/robfig/revel/samples/chat) in dev mode
2013/10/02 15:04:26 harness.go:157: Listening on :9000
2013/10/02 15:04:39 revel.go:292: Loaded module static
2013/10/02 15:04:39 revel.go:292: Loaded module testrunner
2013/10/02 15:04:39 main.go:30: Running revel server
Go to /@tests to run the tests.
Listening on port 49160...
^C%                                                                                                                                                                                                                     www15224uf%

いけた

@otiai10
Copy link
Author

otiai10 commented Oct 2, 2013

mgoのインストール

mgo
Rich MongoDB driver for Go

bzrのインストール

パッケージ: bzr (2.6.0~bzr6526-1) 簡単に使える分散型バージョン管理システム
Bazaar は分散型バージョン管理システムです。簡単に使えて、直感的で、いろいろ なワークフローに適用でき、信頼性があり、かつ、簡単に拡張できるように設計されています。

www15224uf% apt-cache search bzr
bzr - easy to use distributed version control system
www15224uf% sudo apt-get install bzr
[sudo] password for otiai10:
...中略...
Setting up python-configobj (4.7.2+ds-4) ...
Setting up python-bzrlib (2.6.0~bzr6526-1) ...
Setting up bzr (2.6.0~bzr6526-1) ...
Setting up wwwconfig-common (0.2.2) ...
Setting up javascript-common (7) ...
Setting up libjs-jquery (1.7.2+dfsg-1) ...
Setting up python-crypto (2.6-4) ...
Setting up python-gpgme (0.2-3) ...
Setting up python-httplib2 (0.7.4-2) ...
Setting up python-keyring (0.7.1-1+deb7u1) ...
Setting up python-pkg-resources (0.6.24-1) ...
Setting up python-simplejson (2.5.2-1) ...
Setting up python-lazr.uri (1.0.3-1) ...
Setting up python-wadllib (1.3.0-2) ...
Setting up python-zope.interface (3.6.1-3) ...
Setting up python-oauth (1.0.1-3) ...
Setting up python-lazr.restfulclient (0.12.0-2) ...
Setting up python-launchpadlib (1.9.12-2) ...
Setting up python-paramiko (1.7.7.1-3.1) ...
www15224uf%

なんか色々入ったな...

mgoのインストール

www15224uf% go get labix.org/v2/mgo
www15224uf%

サンプルアプリ作るためのデータをつくる

www15224uf% mongo
MongoDB shell version: 2.4.6
connecting to: test
> help
    db.help()                    help on db methods
    db.mycoll.help()             help on collection methods
    sh.help()                    sharding helpers
    rs.help()                    replica set helpers
    help admin                   administrative help
    help connect                 connecting to a db help
    help keys                    key shortcuts
    help misc                    misc things to know
    help mr                      mapreduce

    show dbs                     show database names
    show collections             show collections in current database
    show users                   show users in current database
    show profile                 show most recent system.profile entries with time >= 1ms
    show logs                    show the accessible logger names
    show log [name]              prints out the last segment of log in memory, 'global' is default
    use <db_name>                set current database
    db.foo.find()                list objects in collection foo
    db.foo.find( { a : 1 } )     list objects in foo where a == 1
    it                           result of the last line evaluated; use to further iterate
    DBQuery.shellBatchSize = x   set default number of items to display on shell
    exit                         quit the mongo shell
> db.createCollection('hoge')
{ "ok" : 1 }
> db.hoge.find()
>
> exit
bye

サンプルアプリをつくる

www15224uf% mkdir -p labo/mgo
www15224uf% cd labo/mgo
www15224uf% vi sample.go

sample.go

package main

import (
        "fmt"
        "labix.org/v2/mgo"
        "labix.org/v2/mgo/bson"
)

type Person struct {
        Name string
        Phone string
}

func main() {
        session, err := mgo.Dial("localhost")
        if err != nil {
                panic(err)
        }
        defer session.Close()

        // Optional. Switch the session to a monotonic behavior.
        session.SetMode(mgo.Monotonic, true)

        c := session.DB("test").C("hoge")
        err = c.Insert(&Person{"Ale", "+55 53 8116 9639"},
                   &Person{"Cla", "+55 53 8402 8510"})
        if err != nil {
                panic(err)
        }

        result := Person{}
        err = c.Find(bson.M{"name": "Ale"}).One(&result)
        if err != nil {
                panic(err)
        }

        fmt.Println("Phone:", result.Phone)
}
www15224uf% go run sample.go
Phone: +55 53 8116 9639

おお動いた

www15224uf% mongo
MongoDB shell version: 2.4.6
connecting to: test
> db.hoge.find()
{ "_id" : ObjectId("524bbd58af5c4c9ebe7961f1"), "name" : "Ale", "phone" : "+55 53 8116 9639" }
{ "_id" : ObjectId("524bbd58af5c4c9ebe7961f2"), "name" : "Cla", "phone" : "+55 53 8402 8510" }
> exit
bye
www15224uf%

DBにも入っとる

@otiai10
Copy link
Author

otiai10 commented Oct 3, 2013

tmuxのインストール

www15224uf% sudo apt-get install tmux
[sudo] password for otiai10:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  tmux
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 249 kB of archives.
After this operation, 543 kB of additional disk space will be used.
Get:1 http://ftp.jp.debian.org/debian/ wheezy/main tmux amd64 1.6-2 [249 kB]
Fetched 249 kB in 0s (592 kB/s)
Selecting previously unselected package tmux.
(Reading database ... 38622 files and directories currently installed.)
Unpacking tmux (from .../archives/tmux_1.6-2_amd64.deb) ...
Processing triggers for man-db ...
Setting up tmux (1.6-2) ...
www15224uf% which tmux
/usr/bin/tmux

@otiai10
Copy link
Author

otiai10 commented Oct 8, 2013

apache2のインストールとリバースプロキシ設定

インストール

www15224uf% sudo apt-get install apache2

proxyモジュールを有効にする

http://otiai10.hatenablog.com/entry/2013/02/12/162501

www15224uf% sudo a2enmod proxy
www15224uf% sudo a2enmod proxy_http
www15224uf% sudo a2enmod proxy_connect

httpd.confを編集する

/etc/apache2/conf.d/httpd.confであった。/etc/apache2/httpd.confでうまくいってたのはなぜだ?

<VirtualHost *:80>
    ServerName yourservicename.com
    ServerAdmin [email protected]

    ProxyRequests off
    ProxyPass / http://applicationserver.com:7777/
    <Location />
        ProxyPassReverse http://applicationserver.com:7777/
        ProxyPassReverseCookieDomain localhost yourservicename.com
        ProxyPassReverseCookiePath / /
        Order allow,deny
        # Allow Allでいいのかな?
        Allow from all
    </Location>
</VirtualHost>

apache restart

www15224uf% sudo /etc/init.d/apache2 restart

@otiai10
Copy link
Author

otiai10 commented Jun 19, 2014

ちょっと訂正

ユーザ関係

  1. suでrootに
  2. apt-getでsudoをinstall
  3. visudoも一緒に入ってくるから一般ユーザをsudoerに追加
  4. exitで一般ユーザに戻る

nginx

  1. sudo apt-get install nginx
  2. sudo which nginx (入ってる確認)
  3. exitで一般ユーザに戻る
  4. sudo nginx
  5. なんも記述無いけどデフォルトのドキュメントルートは/usr/share/nginx/index.htmlっぽい

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment