さくらのVPSを使ってみてつまづいたこととか(Ubuntu16.04)


ログインできない

とりあえず、標準OSのインストールでUbuntu16.04を選んでパスワードを打ったのはよかったのだが、いきなり「コンソールからログインできない」という問題にぶち当たった。ログインのユーザ名がわからないのである。
ぐぐってもいまいち解決らしいものが見つからなかったのだが、Twitter検索で解決した。デフォルトのユーザ名は「ubuntu」とのことだった。
https://twitter.com/nyaocat/status/838377195592626176
https://twitter.com/nyaocat/status/838377845726523394

Apacheがありそうでない

標準OSのインストールがされた段階で/etc/apache2ディレクトリは存在しているのに、sudo service apache2 startが失敗する。
実は、ディレクトリがあるだけでApache自体がインストールされていたわけではなかった、というオチだった。sudo apt-get install apache2で解決。

Apacheをインストールしたはいいけど接続できない

標準OSのインストールで設定されるiptablesが、デフォルトではHTTPアクセスを認めていなかったのが原因だった。
https://help.sakura.ad.jp/hc/ja/articles/115000045522-OS%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%E6%83%85%E5%A0%B1-Ubuntu16-04-LTS-%7D

私がインストールした時点では、/etc/iptables/iptables.rulesが

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

となっていたので、このうち-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPTを二つコピーし、「22」を「80」にしたものと「443」にしたものを作成。これでSSH(22)のほかにHTTP(80)とHTTPS(443)も受け付けるようになった。