VPSを借りてからApacheを入れるまで

勢いでさくらのVPSを借りたのでそれにApacheを入れるまでの手順をメモ。

OSをUbuntuに変更する。

デフォルトではCentOSがインストールされてるんですが、普段からUbuntuのようなOS(Xubuntu)を使ってるので、VPS側もUbuntuにした方が何かと使いやすいかなというのでUbuntuをインストールしました。
さくらが用意してくれているのでUbuntu12.04をマニュアルに沿ってインストール。
インストールする際に、Javaを有効にしないといけないのですが、XubuntuだとなぜかブラウザでJavaが使えなかったので、Windowsでやりました。なぜだろう。

SSHの設定をする。

さくらのVPSにUbuntuを入れる初期設定手順 | Nekoya pressを大いに参考にして設定しました。

$ sudo ufw enable
$ sudo ufw default DENY

ufwファイアウォールをうまいことしてくれるやつです。
default DENYとすることで、全てのポートを閉じてくれます。
ホームディレクトリに.ssh/がないので作り、公開鍵を登録する。

$ mkdir .ssh
$ chmod 700 .ssh

ローカルにid_rsa.pub, id_rsaがない人は作る。

$ ssh-keygen -t rsa

id_rsa.pubをコピペする。

$ echo 公開鍵 > .ssh/authorized_keys
$ chmod 600 .ssh/authroized_keys

/etc/ssh/sshd_configを修正する。

  • sshのポートを22番から変更
  • rootでのログインを無効化
  • パスワードによるログインの無効化
・・・
Port xxx(適当に)
・・・
PermitRootLogin no
・・・
PasswordAuthentication no
・・・

設定のリロード

$ sudo reload ssh

sshに使用するポートを開放する

$ sudo ufw allow xxx(設定したポート番号)

sshを使用してログインするときは、

$ ssh username@xxx.xxx.xxx.xxx(ipアドレスかurl) -p xxx(ポート番号)

VPSUbuntuをインストールした時、ユーザー名がhogeIPアドレスが123.45.67.89、sshのポート番号を12345にしていたなら、

$ ssh hoge@123.45.67.89 -p 12345

でログインできます。たぶん。

Apacheのインストール

今までのやつはリモートコンソールからやる感じでしたがこれからはsshでできます。やったね。

$ sudo su
# aptitude update
# aptitude install apache2
# a2enmod rewrite
# vim /etc/apache2/sites-enabled/000-default

上の方をちょっと書き換える。

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName test.com
        DocumentRoot /var/www/html/public
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Includes ExecCGI FollowSymLinks MultiViews
                AllowOverride All
                DirectoryIndex index.html index.py index.cgi index.php index.shtml
...

エラー画面が出た時とかに、サーバーの情報を表示させなくするために、/etc/apache2/apache2.confの最後に一行追加する。

ServerSignature Off

ディレクトリのパーミッションを変更。

# mkdir -p /var/www/html/public
# chown -R username /var/www

設定のリロード、http用ポート(80)を開放

# /etc/init.d/apache2 reload
# ufw allow 80/tcp

適当に作ったindex.htmlを、/var/www/html/publicにおいて、ブラウザからアクセスしてみて、表示されればおk.