ServersMan@VPS&Ubuntuの初期セットアップ - 動かざることバグの如し
ServersMan@VPS&Ubuntuの初期セットアップ 改 - 動かざることバグの如し
ServersMan@VPS&Ubuntuの初期セットアップ 改 NginxVer - 動かざることバグの如し
- 初期ユーザー名:root
- パスワード:メール等に記載
- ポート:3843
ユーザー設定
rootのパスワード変更
passwd
ユーザー「thr3a」を作成
adduser thr3a adduser thr3a sudo adduser thr3a adm
/etc/apt/sources.listを以下に書き換え
deb http://ubuntutym.u-toyama.ac.jp/ubuntu trusty main restricted universe deb http://ubuntutym.u-toyama.ac.jp/ubuntu trusty-updates main restricted universe deb http://ubuntutym.u-toyama.ac.jp/ubuntu trusty-security main restricted universe multiverse
apt-get update
とapt-get upgrade
したうえで以下作成したユーザー上で実行
SSHの設定
公開鍵認証方式に設定する
鍵を生成
ssh-keygen -t rsa cat .ssh/id_rsa.pub >> .ssh/authorized_keys chmod 600 .ssh/authorized_keys chmod 700 .ssh/
- Port 3843→xxxx
- PasswordAuthentication yes→no
- PermitRootLogin yes→no
再起動
sudo service ssh restart
iptablesの設定
適当に実行ファイルを作成
sudo vi /tmp/ip
iptablesで適応させたいルールを記述
#!/bin/sh #現在のルールを全削除 iptables -F iptables -X #FORWARDは不許可 iptables -P FORWARD DROP #とりあえず全許可 iptables -P INPUT DROP iptables -P OUTPUT ACCEPT #ローカルホストからは許可 iptables -A INPUT -i lo -j ACCEPT #確立済みの通信は許可 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #http許可 iptables -A INPUT -p tcp --dport 80 -j ACCEPT #SSH許可 iptables -A INPUT -p tcp --dport 2407 -j ACCEPT #https許可 iptables -A INPUT -p tcp --dport 443 -j ACCEPT #Node.js iptables -A INPUT -p tcp --dport 3000 -j ACCEPT #sinatra iptables -A INPUT -p tcp --dport 4567 -j ACCEPT iptables -A INPUT -p tcp --dport 1129 -j ACCEPT #ping許可 iptables -A INPUT -p icmp -j ACCEPT #その他全不許可 iptables -P INPUT DROP
権限付加
sudo chmod +x /tmp/ip
実行 これでiptablesの設定が適応される
sudo /tmp/ip
確認
sudo iptables -L
が、再起動すると設定は吹っ飛んでしまうので起動時毎回適応されるようにする。
現在の設定をバックアップ
<<rootで>> iptables-save > /etc/iptables.rules
以下のファイルを編集(新規作成)
sudo vi /etc/network/if-pre-up.d/iptables_start
以下を記述
#!/bin/sh /sbin/iptables-restore < /etc/iptables.rules exit 0
sudo chmod 755 /etc/network/if-pre-up.d/iptables_start
これで再起動してiptables -L
して反映されてたら成功
Nginxのインストール
まずはApacheを殺す
service apache2 stop update-rc.d -f apache2 remove
レポジトリを追加してインストール
sudo apt-get install software-properties-common sudo apt-add-repository ppa:nginx/stable sudo apt-get update sudo apt-get install nginx
Rubyのインストール
curl -sSL https://get.rvm.io | bash -s stable --ruby
インストール後、誘導の通り以下のコマンドを実行
source /home/thr3a/.rvm/scripts/rvm
Railsのインストール
gem install rails --no-ri --no-rdoc
Node.jsのインストール
sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs
正常にインストールされているか確かめるには適当にhoge.jsでも作って
var http = require('http'); var server = http.createServer(function(req, res) { res.end("Hello World"); }); server.listen(3000);
でnode hoge.js
実行してhttp://nyaaz.info:3000を開くとHelloWorldが迎えてくれるはず
どうせだしnpm install pm2 -g
しておくと吉
MySQLのインストール
sudo apt-get install mysql-server php5-mysql
インストールの途中でrootに対するパスワード設定を求められるので入れておく
/etc/mysql/my.cnfを修正して文字コードを全てUTF-8に変更
[client] (追記) default-character-set=utf8 [mysqld] (追記) skip-character-set-client-handshake character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8
設定反映
service mysql restart
ログインして確認
mysql -u root -p
ちゃんとエンコード設定できているか確認
show variables like 'character_set%';
以下他にやったことたち
各種インストール
sudo apt-get install build-essential libc6-dev g++ patch bash-completion git
ServersMan@VPSのおせっかいサービスを抹消
sudo apt-get purge ajaxterm
WinSCPで使えるように
さっき生成したOpenSSH形式の鍵だとWinSCPで使えない
- http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exeをダウンロード
- 「Conversions」→「Import Key」でSSHの鍵を選択
- 「Save Private Key」でppkを保存