残しときます(自分用)

忘れないうちにね!

Debian Jessie に apache2 を入れてみた

もりすけです。

さくらVPSDebian Jessie に ssh でのログインに成功。
次にすることは・・・

やはり最初は apache2 php5 関係のインストールですかね。
wordpress も入れる時が来ることを考えると MySQL も入れときましょう。

今回は apache2 を入れた時の作業を残しときます。

完成イメージ

・ユーザ毎のウェブディレクトリは作らない
www.example.com/~ユーザ名/ のことね)

・基本のウェブディレクトリは /home/管理用ユーザ/public_html/
 にドメイン別のディレクトリを作成しその中に入れる

・こうしたほうがsshでログインした時にアクセスするの楽だった。

今回したこと

1.apache2 のインストール
2.ドメイン毎の設定ファイルの作成
3.設定ファイルの有効化
4.エラーページでのサーバ情報の非表示
5.再起動

1.apache2 のインストール

とにかく最初はインストールですね。

~$ sudo aptitude update
~$ sudo aptitude install apache2

インストールは簡単ですよね。

http://自分のサーバ名/ にアクセスしてみましょう。

f:id:namotch:20150606213508p:plain

昔よりデザインがオサレになっている気がしないでもないです。

2.ドメイン毎の設定ファイルの作成

apache2 の設定ファイルはたくさん分かれています。
ドメインごとの設定ファイルを新しく作成して、
それを有効化していきましょう。

設定ファイルは /etc/apache2/site-available/ にあります。

~$ cd /etc/apache2/site-available/
/etc/apache2/sites-available$ ls -al

合計 20
drwxr-xr-x 2 root root 4096  6月  6 21:08 .
drwxr-xr-x 8 root root 4096  6月  6 21:08 ..
-rw-r--r-- 1 root root 1332  2月  1 17:23 000-default.conf
-rw-r--r-- 1 root root 6437  2月  1 17:23 default-ssl.conf

/etc/apache2/sites-available$ 

000-default.confdefault-ssl.conf がありますね。
後者はssl用ですので、000-default.conf をコピーして使いましょう。
ファイル名はドメイン名をそのまま使います。
こうしたほうが後で設定を変更したいときわかりやすいですよね。

下記コードでは example.com を使用していますが、
自分のドメインを指定してください。

/etc/apache2/sites-available$ sudo cp 000-default.conf example.com.conf
/etc/apache2/sites-available$ ls -al

合計 24
drwxr-xr-x 2 root root 4096  6月  6 21:17 .
drwxr-xr-x 8 root root 4096  6月  6 21:08 ..
-rw-r--r-- 1 root root 1332  2月  1 17:23 000-default.conf
-rw-r--r-- 1 root root 6437  2月  1 17:23 default-ssl.conf
-rw-r--r-- 1 root root 1332  6月  6 21:17 example.com.conf

/etc/apache2/sites-available$ 

コピーしたファイルを編集します。

/etc/apache2/sites-available$ sudo vi example.com.conf

最終設定した内容はこちら

[/etc/apache2/sites-available/example.com.conf]

# バーチャルホストのデフォルトで80ポートを使用
<VirtualHost *:80>

    # ドメイン名
    ServerName example.com
    # 管理者のメールアドレス
    ServerAdmin support@example.com
    # ドキュメントルートまでのパス
    DocumentRoot /home/管理者ユーザ/public_html/example.com/

    # 制御するディレクトリ
    <Directory /home/管理者ユーザ/public_html/example.com/>
        # オプション
        Options FollowSymLinks
        # .htaccessの許可
        AllowOverride all
        # アクセス許可
        Require all granted
    </Directory>

    # エラーログ
    ErrorLog ${APACHE_LOG_DIR}/error_example.log
    # エラーログを記録するレベル
    LogLevel warn
    # アクセスログ
    CustomLog ${APACHE_LOG_DIR}/access_example.log combined

</VirtualHost>

コピーしておきながら、 前に使っていた内容を貼り付けて使うという。

追記:apache2.4からアクセス許可の記述がかわっていましたので修正しています

3.設定ファイルの有効化

そして設定ファイルを有効化します。

有効化:a2ensite
無効化:a2dissite

/etc/apache2/sites-available$ sudo a2ensite example.com

Enabling site example.com.
To activate the new configuration, you need to run:
  service apache2 reload

/etc/apache2/sites-available$

4.エラーページでのサーバ情報の非表示

これ、しておいたほうがいいですね。

例えば、アクセス制限をしているページに
許可していない人が入ろうとすると
エラーページが出ますよね。

f:id:namotch:20150608071551p:plain

サーバ情報やOS情報が表示されちゃうわけです。
こういう情報は表示されないようにしましょう。

/etc/apache2/sites-available$ cd ../conf-available
/etc/apache2/conf-available$ sudo vi security.conf
[/etc/apache2/conf-available/security.conf]

# OS情報の表示
ServerTokens OS
↓
# OS情報の非表示
ServerTokens Prod

# サーバ情報の表示
ServerSignature On
↓
# サーバ情報の非表示
ServerSignature Off

5.再起動

ここまできたら、apache2 を再起動します。

/etc/apache2/conf-available$ sudo /etc/init.d/apache2 restart

[ ok ] Restarting apache2 (via systemctl): apache2.service.

/etc/apache2/conf-available$ 

さいごに

基本的なapache2の設定はおわりました。

新しく設定したディレクトリにHTMLファイルを入れて
うまく表示されるか確認してみてください。

次回はPHP5の設定をしたいと思います。

Vimをもっと使いやすく①【超基本設定編】

もりすけです。

私はVimを使っています。
Debianの設定はVimで作業しますし、
プログラムもほとんどVimで書いています。

そんなに詳しくないので
基本的なものしか設定をしていませんが、
忘れないために残しておきます。

新規作成の状態はこちら f:id:namotch:20150602211742p:plain

文字エンコード設定

マルチバイト文字を使っている場合には指定したほうがいいそうです。
日本語じゃないと意味がわからないですから
文字がおかしくならないように設定します。

[.vimrc]

" ---- Encoding {{{
" エンコード
set encoding=utf-8
scriptencoding utf-8
" }}}

f:id:namotch:20150602211801p:plain

画面的にはなにも変わりませんね。

カラースキーマ設定

私は solarized が大好きです。
シンプルで目に優しいのでいつも使っています。
VIm用にもカラースキーマが用意されていましたので設定します。

ダウンロードして、指定の場所に保存しましょう

~$ git clone git://github.com/altercation/vim-colors-solarized.git
~$ mv vim-colors-solarized/colors ~/.vim/
[.vimrc]

" ---- Color Scheme {{{
" 強調表示(色付け)
syntax enable
" 256色設定
set t_Co=256
" 暗い背景
set background=dark
" カラースキーマ
colorscheme solarized
" }}}

f:id:namotch:20150602211817p:plain

これで色がつくようになりました。

set t_Co=256を入れないと、
背景がおかしくなってしまいますので注意しましょう。

画面表示設定

作業しているときに助かる機能です。
主に見た目がよくなる機能をつけてみました。

[.vimrc]

" ---- screen {{{
" 行番号表示
set number
" カーソルの座標を表示
set ruler
" カーソルがある行を強調表示
set cursorline
" カーソルのある桁を強調表示
set cursorcolumn
" 常にステータスラインを表示
set laststatus=2
" 不可視文字を表示
set list
" }}}

f:id:namotch:20150602211835p:plain

rulerはデフォルトでついてました。
debianだけですかね?

最後に

今回は、本当に簡単な部分の設定をしました。
もっともっと作業がしやすくなる設定がまだまだありますので、
また設定を追加したらここに書きたいと思います。

最後に今回の.vimrcを載せておきます。

" ---- Encoding {{{
" エンコード
set encoding=utf-8
scriptencoding utf-8
" }}}

" ---- Color Scheme {{{
" 強調表示(色付け)
syntax enable
" 256色設定
set t_Co=256
" 暗い背景
set background=dark
" カラースキーマ
colorscheme solarized
" }}}

" ---- screen {{{
" 行番号表示
set number
" カーソルの座標を表示
set ruler
" カーソルがある行を強調表示
set cursorline
" カーソルのある桁を強調表示
set cursorcolumn
" 常にステータスラインを表示
set laststatus=2
" 不可視文字を表示
set list
" }}}

Debian に Android Studio をインストールしてみた

もりすけです。

急にアンドロイドアプリが作りたくなりました。
作ったこと無いのに、思いつきの気まぐれです。

なら、どうするか。

まずは開発環境の構築ですね!

というわけで、Eclipseではなく、Android Studio をインストールしたいと思います。

※私の環境はDebianです。Windowsの方ごめんなさい。

Oracle JDK7のダウンロード

どうも Oracle® Java Development Kit (JDK) 7 が必要らしいです。
なのでインストールしましょう。 8はダメなのかな?

ここからダウンロードします。
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Java SE 7u79/80」の「JDK DOWNLOAD」をクリックします。

f:id:namotch:20150516000431p:plain

Java SE Development Kit 7u80」の中の
「Accept License Agreement」にチェックを入れ、
jdk-7u80-linux-x64.tar.gz」をダウンロードしましょう。

f:id:namotch:20150516001116p:plain

Oracle JDK7のインストール

ダウンロードしたファイルを/usr/lib/jvm/に解凍します。

~$ cd Downloads
~/Downloads$ sudo tar zxvf jdk-7u80-linux-x64.tar.gz -C /usr/lib/jvm/

update-alternativesにリンクを管理してもらうために次のコマンドを実行します。

~$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_80/bin/java" 1
~$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_80/bin/javac" 1
~$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_80/bin/javaws" 1

update-alternativesのリンク先を変更します。

~$ sudo update-alternatives --config java

下記のように表示されるはずです。 内容は環境によって違います。

  選択肢    パス                                          優先度  状態
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      自動モード
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      手動モード
  2            /usr/lib/jvm/jdk1.7.0_80/bin/java                1         手動モード

現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください:

今回使いたいのはjdk1.7.0_80ですので、2を選択します。

もう一度見た時に2番に「*」がついていたら成功です。

  選択肢    パス                                          優先度  状態
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      自動モード
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      手動モード
* 2            /usr/lib/jvm/jdk1.7.0_80/bin/java                1         手動モード

Android Stuido のダウンロード

下記サイトよりZIPをダウンロードします。

http://developer.android.com/sdk/index.html

「Download Android Studio for Linux」をクリックします。

f:id:namotch:20150516004505p:plain

規約を読んで、同意のチェックを入れて、
「Download Android Studio for Linux」をクリックします。

f:id:namotch:20150516004729p:plain

android-stuido.zip の解凍

では、解凍しましょう。

~$ cd Downloads
~/Downloads$ unzip android-studio-ide-141.1903250-linux.zip

自分の好きなところへ移動します。

~/Downloads$ mv android-studio ~/android-studio

セットアップファイル studio.sh の実行

これからセットアップをしていきます。

~$ cd ~/android-studio/bin/
~/android-studio/bin$ ./studio.sh

「古いバージョンから設定をインポートするけどどう?」って聞いてきました。
何もないので、下を選んで「OK」を押します。

f:id:namotch:20150516005314p:plain

Android Studio Setup Wizard

ここまでくるともう少しですね。
セットアップを進めていきましょう。

「Next」をクリックします。

f:id:namotch:20150516005853p:plain

今回は「Standard」を選択しました。
細かい設定を行いたい人は、「Custom」を選んで下さい。

「Next」をクリックします。

f:id:namotch:20150516010111p:plain

「Next」をクリックします。

f:id:namotch:20150516010340p:plain

「Accept」を選んで「Finish」をクリックします。

f:id:namotch:20150516010522p:plain

いろいろダウンロードし始めました。

f:id:namotch:20150516010658p:plain

ダウンロードが終わったら「Finish」をクリックします。

f:id:namotch:20150516010858p:plain

無事に Andorid Studio が立ち上がりました!

f:id:namotch:20150516011026p:plain

最後に

無事にセットアップ出来ました。
これからどんどんアプリを作っていきたいですね。

まず勉強からやらないといけないんですが・・・

がんばります!

さくらVPS に Debian Jessie を入れてからとりあえずしたこと

もりすけです。

無事に Debian Jessie をインストールすることが出来ました。

このままでは何も入っていないので、
とりあえずしたことを記録しておきます。

  1. VNCコンソールでログイン
  2. aptitudeのインストール
  3. sudoのインストールと設定
  4. sshのインストールとターミナルでのログイン
  5. sshの設定
  6. sshの公開鍵認証でのログイン設定

そうです。sshで公開鍵認証を使ってログイン出来るようにすることが今回の目標です。

1. VNCコンソールでログイン

最終目標である ssh でログインができるまで、VNCコンソールでの作業になります。

インストールの時にも使ったVNCコンソールをコントロールパネルの
「>_コンソール」から起動します。

もちろんHTML5版を選びました。

login:

と表示されたら、ユーザ名を打ち込み、

password:

と表示されたら、パスワードを入力します。

ユーザ名@ホスト名:~$ 

と表示されたらログイン成功です。

2. aptitudeのインストール

これは、私がaptitudeの方が慣れているので使っているだけであって、
apt-getを使ってるよっていう人は必要ないですね。

suログイン

まずはrootにログインします。

~$ su

パスワードはrootのパスワードです。

成功すると、#が表示されます。

aptitudeのインストール

そしてインストールをするだけです。

# apt-get install aptitude

これで完了です。

3. sudoのインストールと設定

suの権限をユーザが使えるようにします。

sudoのインストール

# aptitude install sudo

sudoの設定

ユーザに権限を委譲するために設定を変更します。

# visudo

全権限を委譲する場合は

ユーザ名 ALL=(ALL:ALL) ALL

を追加し、Ctrl + xで保存します。

これで設定は完了です。

suのログアウト

# exit

でsuをログアウトします。

4. sshのインストールとターミナルでのログイン

sshのインストール

ここから、今回の一番の目的であるsshをインストールします。

~$ sudo aptitude install ssh

ターミナルログイン

とりあえず素の状態でログイン出来るか、
ローカルのターミナルからログインしてみます。

local:~$ ssh ユーザ名@ドメイン名

パスワードを入力してログインできたらOKです。

VNCコンソールのログアウト

これでVNCコンソールからの設定は完了です。
VNCコンソールはログアウトして終了して下さい。

これからはターミナルのsshからサーバを設定していきます。

5. sshの設定

ssh設定ファイルの編集

では、そのままsshの設定に入ります。
もうログインしていると思いますので、設定ファイルを開きます。

server:~$ sudo vi /etc/ssh/sshd_config

SSH プロトコルのバージョン 2 のみを許可

Protocol 2

SSH サービスを 22/TCP 以外で稼働

デフォルトでは、無差別攻撃の攻撃対象になりやすいので
ポートを変更しときましょう。

Port 22222(例)

・ログインを特定のユーザだけ許可

最低限rootでのログインは許可しないでおきましょう。

PermitRootLogin no  #root でのログインを許可しない  
AllowUsers morisuke  #morisuke のみのログインを許可する

sshの再起動

ここで一度設定を保存して、SSHを再起動してみましょう。

server:~$ sudo /etc/init.d/ssh restart

再ログイン

そして、きちんとログイン出来るかもう一度確かめてみて下さい。

server:~$ exit
local:~$ ssh -p 22222 ユーザ名@ドメイン名

ポートが変更されているので -pオプションで指定します。

無事にログインできたら成功です。

6. sshの公開鍵認証でのログイン設定

公開鍵の作成

一気に公開鍵認証までしちゃいましょう。

鍵はローカルで作成しますね。

local:~$ ssh -keygen -t dsa

ファイル名の指定が来るので、そのままENTERします。
パスフレーズを入力します。
もう一度パスフレーズを入力します。

秘密鍵~/.ssh/id_dsaに、
公開鍵は~/.ssh/id_dsa.pubにそれぞれ生成されます。

公開鍵の転送

id_dsa.pub をさくらVPSにコピーします。

local:~$ scp -P 22222 ~/.ssh/id_dsa.pub ユーザ名@ドメイン名:~/.ssh/

sshでログインし、authorized_keysに内容を書き込み、元ファイルを削除します。

server:~$ cd .ssh
server:~$ cat id_dsa.pub >> authorized_keys
server:~$ rm id_dsa.pub

パーミッションを600に変更します。

server:~$ chmod 600 authorized_keys

鍵認証ログインの設定

鍵認証できるように設定を変更します。

PermitEmptyPasswords no  # 空パスワードでのアクセスを許可しない  
RSAAuthentication no  # RSA 認証を使用しない  
PubkeyAuthentication yes  # 公開鍵認証を使用する

鍵認証でログイン出来るか確認してみましょう。

成功したらパスワード認証を出来ないようにします。

PasswordAuthentication no # パスワード認証を許可しない  
ChallengeResponseAuthentication no # パスワード認証を許可しない 

以上でsshの設定は完了です。

最後に

sshログインができるようになったことで、
これからターミナルですべての設定が可能になりました。

まだまだインストールしたいものはありますので、
そのたびにここに残そうと思います。

さくらVPS に Debian Jessie を入れてみた

もりすけです。

先日リリースした Debian Jessie。

Debian Squeeze が入っていたさくらVPSを dist-upgrade ではなく、
新規インストールすることにしました。

さくらではまだISOイメージが提供されていませんので、
ISOイメージをアップロードしてインストールする形になります。

今回は、Debianをインストールするまでの流れを記録しておきます。

ローカルでのISOイメージ保存先:~/Downloads
ISOイメージファイル名:debian-8.0.0-amd64-netinst.iso

ISOイメージ用のSFTPアカウントを発行

ISOイメージをSFTPでアップロードしますが、
そのためのSFTPアカウントを発行する必要があります。

コントロールパネルから「OSインストール」→「ISOイメージインストール」を選びます。 f:id:namotch:20150510145823p:plain

左下の「SFTPアカウントを発行する」をクリックします。 f:id:namotch:20150510145833p:plain

ISOイメージアップロード先情報を取得できました。 f:id:namotch:20150510145846p:plain

SFTPログイン

ISOイメージのあるディレクトリに移動してから、発行したSFTP情報でログインします。

コンソールを開いて、下記コマンドを打ち込みます。

~$ cd Downloads 
~/Downloads$ sftp ユーザ名@ホスト名

次にパスワードの入力を求められるので入力します。

下記のように表示されたらログイン成功です。

sftp>

ISOイメージのアップロード

アップロード先は /iso ですので、そこに移動します。

sftp> cd /iso

SFTPのputコマンドを使用して、ISOイメージをアップロードします。

sftp> put debian-8.0.0-amd64-netinst.iso

完了すると、コントロールパネルに情報が表示されますので、
あっているか確認してみてください。

インストールの実行

アップロード完了後、コントロールパネルの「設定内容を確認する」をクリックします。 f:id:namotch:20150510145902p:plain

確認画面が出ますので、内容を確認して「インストールを実行する」をクリックします。 f:id:namotch:20150510145943p:plain

画面下にコンソールの起動メニューが表示されますので、どちらか選んで起動します。
私は「VNCコンソール(HTML5)を起動」を選びました。 f:id:namotch:20150510145926p:plain

VNCコンソール画面にDebianインストーラメニュー画面がでたら成功です。 f:id:namotch:20150510150008p:plain

ネットワーク設定は手動で

インストールを進めて行くと、ネットワーク自動設定でエラーになります。 f:id:namotch:20150510151818p:plain

ネットワーク情報は手動での設定が必要です。 f:id:namotch:20150510151824p:plain

コントロールパネルにネットワーク情報がありますので、 その情報を入力します。 f:id:namotch:20150510150336p:plain

最後に

今回は最小構成でインストールしました。
これから必要なものをどんどん入れていこうと思います。